创建数据表与索引
本章节主要讲述如何使用 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基本操作。