[MySql学习笔记] 三 修改和维护表
修改表的结构
修改主要命令是ALTER TABLE
- 修改列的定义:ALTER TABLE ... MODIFY
- 追加列:ALTER TABLE ... ADD
- 修改列的名称与定义: ALTER TABLE ... CHANGE
- 删除列:ALTER TABLE ... DROP
- 改变列的数据类型--MODIFY: ALTER TABLE visitor MODIFY nam VARCHAR(30);
- 追加新列--ADD: ALTER TABLE visitor ADD old INT; 1.在表的头部追加新列,默认添加的列放在表的末尾,如果想放到前面就用关键字 FIRST: ALTER TABLE visitor ADD old INT FIRST:2.追加到某列的后面,使用关键字AFTER : ALTER TABLE visitor ADD old INT AFTER nam;
- 改变列的位置--MODIFY AFTER ALTER TABLE visitor MODIFY old INT AFTER nam;
- 改变列名与类型--CHANGE 修改生日列的列名以及数据类型的具体SQL: ALTER TABLE visitor CHANGE birth birthday DATE;
- 删除列--DROP: ALTER TABLE visitor DROP old;
{T-SQL中对于表结构的修改:
ALTER TABLE <表名>
[ALTER COLUMN <列名> 新数据类型] --修改列定义 相当于MODIFY
| [ADD <列名> 数据类型约束定义] --添加新列
| [DROP COLUMN <列名>] --删除列
| [ADD [constraint <约束名>] 约束定义] --添加约束
| [DROP [constraint] <约束名>] --删除约束
}
复制表和删除表
- 复制表的列构造+数据复制 从检索出的结构中复制列构造与纪律,并创建新表 CREATE TABLE 新表名 SELECT * FROM 旧表名;
- 复制表的列结构,只复制列结构,不复制数据, CREATE TABLE 新表名 LIKE 旧表名;
- 数据的复制, INSERT INTO 表名 SELECT * FROM 含有数据的表 [WHERE ...];
- 表的删除,DROP TABLE 表名; DROP TABLE IF EXISTS 表名;