打开主菜单

MySQL/Language/Table manipulation

< MySQL

目录

CREATE TABLE编辑

创建表语法:

 Create table [IF NOT EXISTS] tablename (FieldName1 DataType, FieldName2 DataType,..., [PRIMARY KEY ( col_n, col_m,... )])

每列可加

NOT NULL

AUTO_INCREMENT

后缀。

"select"查询返回的结果可以存为一张新表。

 CREATE TABLE LearnHindi
 select english.tag, english.Inenglish as english, hindi.Inhindi as hindi
 FROM english, hindi
 WHERE english.tag = hindi.tag

表的尺寸受限于操作系统,通常是2TB[1].

MySQL对选项AUTO_INCREMENT,给表设置一个自动增量的key字段:

ALTER TABLE tablename AUTO_INCREMENT = 1

拷贝一张表编辑

复制表的结构:

 CREATE TABLE `new1` LIKE `old1`;

复制一张表,带着数据:

 INSERT INTO `new1` SELECT * FROM `old1`;

临时表编辑

创建临时表:

 CREATE TEMPORARY TABLE IF NOT EXISTS MyTempTable1 AS (SELECT * FROM MyTable1)

带着命名列:

 CREATE TEMPORARY TABLE IF NOT EXISTS MyTempTable1(id INT) AS (SELECT id FROM MyTable1)

如果临时表的列名不匹配,则新增列:

 CREATE TEMPORARY TABLE IF NOT EXISTS MyTempTable1(id1 INT) AS (SELECT id FROM MyTable1);
 SHOW FIELDS FROM MyTempTable1;
Field 	Type 	Null 	Key 	Default 	Extra 	
id1 	int(11) 	YES 		NULL	
id 	int(11) 	NO 		0 	

MySQL连接终止时,所有临时表自动删除。[2].

ALTER TABLE编辑

ALTER TABLE命令用于add/delete/modify列与索引,修改表的属性.

增加列:

 ALTER TABLE awards ADD [COLUMN] AwardCode int(2) not null default 5;
 alter table 表名 add 列名 列类型 列参数 after 某列【把新列加在某列后面】
 alter table 表名 add 列名 列类型 列参数 first【把新列加在最前面】

修改列:

 alter table 表名 change 旧列名 新列名 新类型 新参数【修改列名和列类型】
 ALTER TABLE awards CHANGE COLUMN AwardCode VARCHAR(2) NOT NULL

 alter table 表名 modify 列名 新类型 新参数【修改列类型】
 ALTER TABLE awards MODIFY COLUMN AwardCode VARCHAR(2) NOT NULL

删除列:

 ALTER TABLE awards  DROP [COLUMN] AwardCode

表中的行重新排序:

 ALTER TABLE awards ORDER BY id


表的改名编辑

对老表具有ALTER与DROP权限,对新表具有CREATE与INSERT权限。

改名:

 RENAME TABLE `old_name` TO `new_name`

多表改名:

 RENAME TABLE `old1` TO `new1`, `old2` TO `new2`, ...

RENAME 是个快捷方式,可以用ALTER TABLE改名:

 ALTER TABLE `old` RENAME `new`

临时表必须用ALTER TABLE改名。

DROP TABLE编辑

 DROP TABLE `awards`


 DROP TABLE `table1`, `table2`, ...


 DROP TEMPORARY TABLE `table`;
 DROP TABLE `table` IF EXISTS;

TEMPORARY必须显式给出。

查询表的结构编辑

desc 表名
show columns from 表名【效果和desc一样
show create table 表名【查看表的创建代码】

参考文献编辑