TiDB 中的基本 SQL 操作

    本文介绍 CRUD 操作等基本的 SQL 语句。完整的 SQL 语句列表,参见 TiDB SQL 语法详解

    使用 语句创建数据库。语法如下:

    例如,要创建一个名为 samp_db 的数据库,可使用以下语句:

    1. CREATE DATABASE IF NOT EXISTS samp_db;

    使用 SHOW DATABASES 语句查看数据库:

    1. SHOW DATABASES;

    使用 DROP DATABASE 语句删除数据库,例如:

    1. DROP DATABASE samp_db;

    使用 CREATE TABLE 语句创建表。语法如下:

    1. CREATE TABLE table_name column_name data_type constraint;

    例如:

    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. birthday DATE
    4. );
    1. SHOW CREATE table person;

    使用 SHOW FULL COLUMNS 语句查看表的列。 例如:

    使用 DROP TABLE 语句删除表。例如:

    或者

    1. DROP TABLE IF EXISTS person;

    使用 SHOW TABLES 语句查看数据库中的所有表。例如:

    1. SHOW TABLES FROM samp_db;

    对于值不唯一的列,可使用 CREATE INDEXALTER TABLE 语句。例如:

    1. CREATE INDEX person_num ON person (number);

    或者

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

    对于值唯一的列,可以创建唯一索引。例如:

    1. CREATE UNIQUE INDEX person_num ON person (number);

    或者

    1. ALTER TABLE person ADD UNIQUE person_num (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;

    使用 INSERT 语句向表内插入数据。例如:

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

    使用 SELECT 语句检索表内数据。例如:

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

    使用 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';

    授权用户 tiuser 可检索数据库 samp_db 内的表:

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

    查询用户 tiuser 的权限:

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