3、修改数据表
3.1 修改表名
ALTER TABLE 旧表名 RENAME 新表名
ALTER TABLE tb_emp RENAME tb_emp1
3.2 修改字段的数据类型
ALTER TABLE 表名 MODIFY 字段名 数据类型
ALTER TABLE tb_emp MODIFY deptId VARCHAR(20)
3.3 修改字段的名称
ALTER TABLE 表名 CHANGE 旧字段名称 新字段名称 数据类型
ALTER TABLE tb_emp3 CHANGE deptIds deptId INT(11)
3.4 添加字段
ALTER TABLE <表名> ADD <新字段名> <数据类型> [约束条件] [FIRST] | AFTER 已存在字段名
- 新字段名为需要添加的字段的名称;
- “FIRST” 为可选参数,作用是将新添加的字段设置为表的第一个字段;
- "AFTER"为可选参数,其作用是将新添加的字段添加到指定的“已存在字段”的后面
3.4.1 添加无完整性约束条件的字段
ALTER TABLE tb_emp3 ADD manageId INT(10)
3.4.2 添加有完整性约束条件的字段
ALTER TABLE tb_emp3 ADD manageId INT(10) NOT NULL
3.4.3 在表的第一列增加一个字段
ALTER TABLE tb_emp3 ADD manageId INT(10) NOT NULL FIRST
3.4.4 在表的指定列之后添加一个字段
ALTER TABLE tb_emp3 ADD colum VARCHAR(10) NOT NULL AFTER salary
3.5 删除字段
ALTER TABLE <表名> DROP <字段名>
3.6 修改字段的排列位置
ALTER TABLE <表名> MODIFY <字段1><数据类型> FIRST|AFTER <字段2>
ALTER TABLE tb_emp3 MODIFY manageId VARCHAR(25) AFTER salary
3.7 删除表的外健约束
对于数据库中定义的外健,如果不在需要,可以将其删除。外健一旦删除,就会解除主表和从表间的关联关系。
ALTER TABLE <表名> DROP FOREIGN KEY<外健的约束名>
1、创建一个带有外健的表tb_emp6
CREATE TABLE tb_emp6(
id INT(11) PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(25) NOT NULL,
deptId INT(11) UNIQUE,
salary FLOAT,
CONSTRAINT fk_emp_dept FOREIGN key (deptId) REFERENCES tb_dept(id)
)
2、删除外健约束
ALTER TABLE tb_emp6 DROP FOREIGN KEY fk_emp_dept
4、删除数据表
4.1 删除没有被关联的表
DROP TABLE [IF EXISTS] 表1,表2...表n
4.2 删除被其他表关联的主表
在数据表之间存在外健关联的情况下,如果直接删除父表,结果会显示失败。原因是直接删除将会破坏表的参照完整性。如果必须要删除,可以先删除与他关联的子表,再删除父表。只是这样就删除了两个表中的数据。有的情况下可能要保留子表,这时若要单独删除父表,只需要将关联的表的外健约束条件取消,然后在删除父表。
1、创建一个带有外健的表
CREATE TABLE IF NOT EXISTS tb_emp(
id INT(11) PRIMARY KEY,
name VARCHAR(25) NOT NULL,
deptId INT(11) NOT NULL UNIQUE,
salary FLOAT,
CONSTRAINT fk_dept FOREIGN KEY (deptId) REFERENCES tb_dept(id)
)
2、解除关联子表tb_emp的外健约束
ALTER TABLE tb_emp DROP FOREIGN KEY fk_dept;
3、删除父表
DROP TABLE tb_dept
4、查询数据表
SHOW TABLES
就会发现父表已经删除,子表还存在
|