Try TiDB
Try TiDB
TiDB 支持 SQL92 标准并兼容 MySQL 语法,目前已经实现了大多数常用的 MySQL 语法。用户可以直接使用现有的 MySQL 客户端连接。如果现有的业务已经基于 MySQL 开发,大多数情况不需要修改代码即可直接替换单机的 MySQL。
创建数据库
使用 CREATE DATABASE 语句可完成对数据库的创建, 创建命令的格式如下:
CREATE DATABASE 数据库名 [其他选项];例如我们需要创建一个名为 samp_db 的数据库, 在命令行下执行以下命令:
CREATE DATABASE IF NOT EXISTS samp_db;查看 TiDB 中的所有数据库:
SHOW DATABASES;删除数据库:
DROP DATABASE samp_db;创建表
使用 CREATE TABLE + 表名 + 列名 + 数据类型 + 约束。具体例子如下:
CREATE TABLE person (
number INT(11),
name VARCHAR(255),
birthday DATE
);如果表已存在,则使用关键词 IF NOT EXISTS 可以防止发生错误。
CREATE TABLE IF NOT EXISTS person (
number INT(11),
name VARCHAR(255),
birthday DATE
);查看建表语句
SHOW CREATE table person;查看表所有的列:
SHOW FULL COLUMNS FROM person;删除表
DROP TABLE person;或者
DROP TABLE IF EXISTS person;查看 samp_db 中的所有表:
SHOW TABLES FROM samp_db;创建索引
对于值不唯一的列,可以使用 CREATE INDEX 和 ALTER TABLE:
CREATE INDEX person_num ON person (number );
ALTER TABLE person ADD INDEX person_num (number );对于值唯一的列可以创建唯一索引:
CREATE UNIQUE INDEX person_num ON person (number);
ALTER TABLE person ADD UNIQUE person_num (number);可利用 ALTER TABLE 或 DROP INDEX 语句来删除索引。类似于 CREATE INDEX 语句,DROP INDEX 可以在 ALTER TABLE 内部作为一条语句处理,语法如下。
DROP INDEX person_num ON person;
ALTER TABLE person DROP INDEX person_num ;查看表内所有索引:
SHOW INDEX FROM person ;增删改查数据
利用 INSERT 插入数据
INSERT INTO person VALUES("1","tom","20170912");利用 SELECT 检索数据
SELECT * FROM person;
+--------+------+------------+
| number | name | birthday |
+--------+------+------------+
| 1 | tom | 2017-09-12 |
+--------+------+------------+利用 UPDATE 修改表内数据:
UPDATE person SET birthday='20171010' WHERE name='tom';
SELECT * FROM person;
+--------+------+------------+
| number | name | birthday |
+--------+------+------------+
| 1 | tom | 2017-10-10 |
+--------+------+------------+利用 DELETE 删除表内数据:
DELETE FROM person WHERE number=1;
SELECT * FROM person;
Empty set (0.00 sec)创建用户
使用 CREATE USER 语句创建一个只在本地登录的用户 tiuser,密码为 123456:
CREATE USER 'tiuser'@'localhost' IDENTIFIED BY '123456';授权用户可查询 samp_db 库下的表:
GRANT SELECT ON samp_db .* TO 'tiuser'@'localhost';查询 tiuser 用户的授权:
SHOW GRANTS FOR tiuser@localhost;删除用户:
DROP USER 'tiuser'@'localhost';