4.9 KiB
4.9 KiB
表操作
本节主要提供数据库表的创建、查看、修改和删除示例。
创建表
使用 CREATE TABLE 语句在数据库中创建新表。
示例如下:
obclient> CREATE TABLE test (c1 int primary key, c2 VARCHAR(3));
更多 CREATE TABLE 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中 CREATE TABLE章节。
查看表
使用 SHOW CREATE TABLE 语句查看建表语句。
示例如下:
obclient> SHOW CREATE TABLE test;
使用 SHOW TABLES 语句查看指定数据库中的所有表。
示例如下:
obclient> SHOW TABLES FROM my_db;
修改表
使用 ALTER TABLE 语句来修改已存在的表的结构,包括修改表及表属性、新增列、修改列及属性、删除列等。
示例如下:
-
把表
test的字段c2改名为c3,并同时修改其字段类型。obclient> DESCRIBE test; +-------+------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+------------+------+-----+---------+-------+ | c1 | int(11) | NO | PRI | NULL | | | c2 | varchar(3) | YES | | NULL | | +-------+------------+------+-----+---------+-------+ obclient> ALTER TABLE test CHANGE COLUMN c2 c3 CHAR(10); Query OK, 0 rows affected (0.08 sec) obclient> DESCRIBE test; +-------+----------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+----------+------+-----+---------+-------+ | c1 | int(11) | NO | PRI | NULL | | | c3 | char(10) | YES | | NULL | | +-------+----------+------+-----+---------+-------+ -
增加、删除列
-
增加列前,执行
DESCRIBE test``;命令查看表信息。obclient> DESCRIBE test; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | c1 | int(11) | NO | PRI | NULL | | | c2 | varchar(3) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 2 rows in set (0.01 sec) -
执行以下命令,增加
c3列。obclient> ALTER TABLE test ADD c3 int; Query OK, 0 rows affected (0.08 sec) -
增加列后,执行
DESCRIBE test;命令查看表信息。obclient> DESCRIBE test; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | c1 | int(11) | NO | PRI | NULL | | | c2 | varchar(3) | YES | | NULL | | | c3 | int(11) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 3 rows in set (0.00 sec) -
执行以下命令,删除
c3列。obclient> ALTER TABLE test DROP c3; Query OK, 0 rows affected (0.08 sec) -
删除列后,执行
DESCRIBE test;命令查看表信息。obclient> DESCRIBE test; +-------+-------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+-------------+------+-----+---------+-------+ | c1 | int(11) | NO | PRI | NULL | | | c2 | varchar(50) | YES | | NULL | | +-------+-------------+------+-----+---------+-------+ 2 rows in set (0.00 sec)
-
-
设置表
test的副本数,并且增加列c5。obclient> ALTER TABLE test SET REPLICA_NUM=2, ADD COLUMN c5 INT; Query OK, 0 rows affected (0.06 sec) obclient> DESCRIBE test; +-------+------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+------------+------+-----+---------+-------+ | c1 | int(11) | NO | PRI | NULL | | | c2 | varchar(3) | YES | | NULL | | | c5 | int(11) | YES | | NULL | | +-------+------------+------+-----+---------+-------+ 3 rows in set (0.00 sec)
更多 ALTER TABLE 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中 ALTER TABLE 章节。
删除表
使用 DROP TABLE 语句删除表。
示例如下:
obclient> DROP TABLE test;
或者
obclient> DROP TABLE IF EXISTS test;
更多 DROP TABLE 语句相关的语法说明请参见《SQL 参考(MySQL 模式)》中 DROP TABLE章节。