Try TiDB

TiDB 支持 SQL92 标准并兼容 MySQL 语法,目前已经实现了大多数常用的 MySQL 语法。用户可以直接使用现有的 MySQL 客户端连接。如果现有的业务已经基于 MySQL 开发,大多数情况不需要修改代码即可直接替换单机的 MySQL。

创建数据库

使用 CREATE DATABASE 语句可完成对数据库的创建, 创建命令的格式如下:

  1. CREATE DATABASE 数据库名 [其他选项];

例如我们需要创建一个名为 samp_db 的数据库, 在命令行下执行以下命令:

  1. CREATE DATABASE IF NOT EXISTS samp_db;

查看 TiDB 中的所有数据库:

  1. SHOW DATABASES;

删除数据库:

  1. DROP DATABASE samp_db;

创建表

使用 CREATE TABLE + 表名 + 列名 + 数据类型 + 约束。具体例子如下:

  1. CREATE TABLE person (
  2. number INT(11),
  3. name VARCHAR(255),
  4. birthday DATE
  5. );

如果表已存在,则使用关键词 IF NOT EXISTS 可以防止发生错误。

  1. CREATE TABLE IF NOT EXISTS person (
  2. number INT(11),
  3. name VARCHAR(255),
  4. birthday DATE
  5. );

查看建表语句

  1. SHOW CREATE table person;

查看表所有的列:

  1. SHOW FULL COLUMNS FROM person;

删除表

  1. DROP TABLE person;

或者

  1. DROP TABLE IF EXISTS person;

查看 samp_db 中的所有表:

  1. SHOW TABLES FROM samp_db;

创建索引

对于值不唯一的列,可以使用 CREATE INDEXALTER TABLE

  1. CREATE INDEX person_num ON person (number );
  2. ALTER TABLE person ADD INDEX person_num (number );

对于值唯一的列可以创建唯一索引:

  1. CREATE UNIQUE INDEX person_num ON person (number);
  2. ALTER TABLE person ADD UNIQUE person_num ON (number);

可利用 ALTER TABLEDROP INDEX 语句来删除索引。类似于 CREATE INDEX 语句,DROP INDEX 可以在 ALTER TABLE 内部作为一条语句处理,语法如下。

  1. DROP INDEX person_num ON person;
  2. ALTER TABLE person DROP INDEX person_num ;

查看表内所有索引:

  1. SHOW INDEX FROM person ;

增删改查数据

利用 INSERT 插入数据

  1. INSERT INTO person VALUES("1","tom","20170912");

利用 SELECT 检索数据

  1. SELECT * FROM person;
  2. +--------+------+------------+
  3. | number | name | birthday |
  4. +--------+------+------------+
  5. | 1 | tom | 2017-09-12 |
  6. +--------+------+------------+

利用 UPDATE 修改表内数据:

  1. UPDATE person SET birthday='20171010' WHERE name='tom';
  2. SELECT * FROM person;
  3. +--------+------+------------+
  4. | number | name | birthday |
  5. +--------+------+------------+
  6. | 1 | tom | 2017-10-10 |
  7. +--------+------+------------+

利用 DELETE 删除表内数据:

  1. DELETE FROM person WHERE number=1;
  2. SELECT * FROM person;
  3. Empty set (0.00 sec)

创建用户

使用 CREATE USER 语句创建一个只在本地登录的用户 tiuser,密码为 123456

  1. CREATE USER 'tiuser'@'localhost' IDENTIFIED BY '123456';

授权用户可查询 samp_db 库下的表:

  1. GRANT SELECT ON samp_db .* TO 'tiuser'@'localhost';

查询 tiuser 用户的授权:

  1. SHOW GRANTS FOR tiuser@localhost;

删除用户

  1. DROP USER 'tiuser'@'localhost';