建表
1 2 3 4 5 6 7 |
CREATE TABLE table [IF NOT EXISTS] ( field1 type1, field2 type2, INDEX IDX_FIELD (field), PRIMARY KEY (field1) ) |
CREATE TABLE ... LIKE ...
基于一张表来创建另一个表
一模一样复制表结构, 包括主键、索引、默认值等信息。
1 2 |
CREATE TABLE t2 LIKE t1; |
复制表和数据,还希望完整保留主键、索引、默认值等信息。
1 2 3 |
CREATE TABLE t2 LIKE t1; INSERT INTO t2 SELECT * FROM t1; |
CREATE TABLE ... SELECT
可以认为是 CREATE TABLE 语句 追加一个 SELECT 语句用来填充数据。
CREATE TABLE 中的表定义的列 和 SELECT 列如果不存在,SELECT 中的列会追加到表的最后。
SELECT 列类型与CREATE TABLE中定义不一样,以CREATE TABLE定义为准。
创建表且复制数据,但是不需要主键、索引、默认值等信息。
1 2 |
CREATE TABLE t2 [AS] SELECT * FROM t1; |
只创建表, 其他什么都不需要。
1 2 |
CREATE TABLE t2 [AS] SELECT * FROM t1 LIMIT 0; |
复制表和数据,只想保留主键
1 2 |
CREATE TABLE t2 (PRIMARY KEY (`ID`)) [AS] SELECT * FROM t1; |
删表
1 2 3 4 5 |
DROP TABLE t1; DROP TABLE t1, t2, ...; DROP TEMPORARY TABLE t1; DROP TEMPORARY TABLE t1, t2, ...; |
删除存在的表
1 2 3 |
DROP TABLE IF EXISTS t1; DROP TEMPORARY TABLE IF EXISTS t1; |
评论关闭。