有奖捉虫:行业应用 & 管理与支持文档专题 HOT
以下为连接 TDSQL MySQL 版后一些简单的数据库操作介绍,本文以分表为例。

建表

分表、单表、广播表的区别详情请参考 相关表详情文档
分表键(shardkey)选择的限制请参考 分表键详情文档
建分表时,需指明分表键(shardkey),代码示例如下:
mysql> create database test;
Query OK, 0 rows affected (0.29 sec)

mysql> use test;
Database changed

mysql> create table test1(id int primary key,name varchar(20),addr varchar(20))shardkey=id;
Query OK,0 rows affected(0.15 sec)

插入数据

注意:
insert 字段必须包含分表键,否则会拒绝执行。
向刚刚建立的表中插入数据,代码示例如下:
mysql> insert into test1(id,name) VALUES(1,'test');
Query OK,1 rows affected(0.08 sec)
mysql> insert into test3(name,addr) values('example','shenzhen');
ERROR 7013 (HY000): Proxy ERROR:get_shardkeys return error

查询数据

注意:
查询数据时,最好带上分表键,分布式路由将自动跳转到对应分片,此时效率最高。否则,分布式系统会自动全表扫描,然后在网关进行结果聚合,效率较低。
查询数据代码示例如下:
mysql> select id from test1 where id=1;

删除数据

注意:
delete 必须带有 where 条件,where 条件建议带上分表键。
删除代码示例如下:
mysql> delete from test1 where id=1;
Query OK, 1 row affected (0.02 sec)