文档中心

创建数据表与索引

本章节主要讲述如何使用 SequoiaDB MySQL 实例工具创建数据表和索引。在安装部署完成 SequoiaDB MySQL实例后,用户可以通过创建数据表对数据进行增删改查的操作。一般情况下,为了提高数据的检索速度,用户还需要创建索引。

使用环境

以下操作均在 SequoiaDB MySQL实例 Shell 环境下执行。

进入 MySQL 实例 Shell 环境

用户可以通过 /etc/default/sequoiasql-mysql 安装文件获取安装路径,进入 MySQL 实例 Shell 环境。

$ export MYSQL_HOME=`cat /etc/default/sequoiasql-mysql|grep INSTALL_DIR|cut -d "=" -f 2`
$ ${MYSQL_HOME}/bin/mysql -u root -p

创建数据库实例

用户可以使用CREATE DATABASE <DATABASE_NAME> 语句创建数据库实例。

示例:

mysql> CREATE DATABASE  employees;
Query OK, 1 row affected (0.02 sec)

mysql> use employees;
Database changed

创建数据表

用户可以使用CREATE TABLE <TABLE_NAME>(<COLUMN_NAME> <COLUMN_TYPE>) 语句创建数据表。

示例:

mysql> CREATE TABLE employees (
    ->     emp_no      INT             NOT NULL,
    ->     birth_date  DATE            NOT NULL,
    ->     first_name  VARCHAR(14)     NOT NULL,
    ->     last_name   VARCHAR(16)     NOT NULL,
    ->     gender      ENUM ('M','F')  NOT NULL,    
    ->     hire_date   DATE            NOT NULL,
    ->     PRIMARY KEY (emp_no)
    -> );
Query OK, 0 rows affected (0.59 sec)


mysql> show create table employees;

+-----------+--------------+

| Table     | Create Table |

+-----------+--------------+

| employees | CREATE TABLE `employees` (
  `emp_no` int(11) NOT NULL,
  `birth_date` date NOT NULL,
  `first_name` varchar(14) NOT NULL,
  `last_name` varchar(16) NOT NULL,
  `gender` enum('M','F') NOT NULL,
  `hire_date` date NOT NULL,
  PRIMARY KEY (`emp_no`)
) ENGINE=SEQUOIADB DEFAULT CHARSET=utf8 |
+-----------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
1 row in set (0.03 sec)

创建索引

索引可以提高数据的检索速度。

用户可使用ALTER TABLE <TABLENAME> ADD INDEX <INDEXNAME>(<COLUMNNAME>)语句创建索引。

示例:

mysql> alter table employees.employees add index first_name_last_name_index ( first_name(14), last_name(16) );
Query OK, 0 rows affected (0.09 sec)
Records: 0  Duplicates: 0  Warnings: 0

mysql> show index from employees.employees;
+-----------+------------+----------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| Table     | Non_unique | Key_name                   | Seq_in_index | Column_name | Collation | Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-----------+------------+----------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
| employees |          0 | PRIMARY                    |            1 | emp_no      | A         |        NULL |     NULL | NULL   |      | BTREE      |         |               |
| employees |          1 | first_name_last_name_index |            1 | first_name  | A         |        NULL |     NULL | NULL   |      | BTREE      |         |               |
| employees |          1 | first_name_last_name_index |            2 | last_name   | A         |        NULL |     NULL | NULL   |      | BTREE      |         |               |
+-----------+------------+----------------------------+--------------+-------------+-----------+-------------+----------+--------+------+------------+---------+---------------+
3 rows in set (0.00 sec)

SequoiaDB MySQL实例的增删改查操作,可参考CRUD基本操作。

收起

建议反馈
本页导航
回到顶部