MySQL数据表基本操作{记录3}{修改表}{删除表}
修改数据表:用ALTER TABLE语句
语法为
ALTER TABLE 表名 修改选项
1,添加字段{在开头} {在中间}[在末尾}
1.1在末尾添加字段[两种方法]
1.1.1
ALTER TABLE 表名 ADD 字段名 数据类型 约束条件;
1.1.2
ALTER TABLE 表名 ADD COLUMN 字段名 数据类型 约束条件;
暂未发现两种方式有什么区别
例:在数据表office添加favoriate字段,数据类型为VARCHAR(100)
ALTER TABLE office ADD favoriate VARCHAR(100);
1.2,在开头添加字段
ALTER TABLE 表名 ADD 新字段名 数据类型 约束条件 FIRST;
1.3在中间添加字段[使用AFTER关键字]
ALTER TABLE 表名 ADD 新字段名 数据类型 约束条件 AFTER 已存在的字段名;
2,修改字段名
ALTER TABLE 表名 CHANGE 旧字段名 新字段名 数据类型;
例:将office表中将city改为work_city数据类型为INT类型
ALTER TABLE office CHANGE city work_city INT;
3,修改字段类型
ALTER TABLE 表名 MODIFY 字段名 新数据类型;
例:修改office表中sex字段,数据类型为char(1),非空约束
ALTER TABLE office MODIFY sex CHAR(1) NOT NULL;
4,修改字段在表中位置[将某字段放到某字段后面]
ALTER TABLE 表名 MODIFY 要修改的字段 字段类型 AFTER 已存在的字段;
例:将表office的mobile字段修改到officecode字段后面
ALTER TABLE office MODIFY mobile VARCHAR(25) AFTER officeCode;
5,删除字段
ALTER TABLE 表名 DROP 字段名;
例:删除office表中字段note
ALTER TABLE office DROP note;
6,修改表名{RENAME关键字}
ALTER TABLE 旧表名 RENAME 新表名;
例:将表office名称修改为office_info
ALTER TABLE office RENAME office_info;
7,修改表的储存引擎
ALTER TABLE 表名 ENGINE=储存引擎;
例:修改表office存储引擎为MyISAM
ALTER TABLE office ENGINE=MyISAM;
8,修改表字符集
ALTER TABLE 表名 CHARACTER SET 字符集名 COLLATE 校对规则名;
例:将数据表office的字符集修改为 gb2312,校对规则修改为 gb2312_chinese_ci
ALTER TABLE office CHARACTER SET gb2312 COLLATE gb2312_chinese_ci;
删除表:用DROP语句
DROP TABLE 表名;
1,删除与其他表关联的表
如表office为父表,office_x为子表,且office_x有名为fk_office的外键约束,父表中有ID被子表所关联
首先取消两表之间的关系:
1.1,解除子表office_x表的外键约束fk_office
ALTER TABLE office_x DROP FOREIGN KEY fk_office;
1.2,删除表
DROP TABLE office;