# ------修改表名------
ALTER TABLE 旧表名 RENAME TO 新表名;
# ------对列操作------
# ---添加 ADD---
ALTER TABLE dept ADD COLUMN dtelephone CHAR(11);/*增加一列dtelephone CHAR(11)*/
ALTER TABLE emp ADD PRIMARY KEY(empno);/*添加主键*/
ALTER TABLE emp ADD FOREIGN KEY(deptno) REFERENCES dept(deptno);/*添加外键*/
# ---删除 DROP---
ALTER TABLE emp DROP COLUMN hiredate;/*删除emp表的hiredate列*/
ALTER TABLE emp DROP PRIMARY KEY;/*删除表主键*/
# ---修改 MODIFY与CHANGE---
# --MODIFY修改属性--
/*ALTER TABLE 表名 MODIFY 字段名 数据类型 约束*/
ALTER TABLE employee MODIFY comm DECIMAL(8,1);/*emp表comm列的数据类型修改为DECIMAL (8,1)*/
ALTER TABLE stuinfo MODIFY stuaddress VARCHAR(60) DEFAULT `地址不详` ;/*给stuinfo表的stuaddress列设默认值:地址不详*/
# -移动- FIRST|AFTER 把emp表中的comm列移动sal列之后
ALTER TABLE employee MODIFY comm DECIMAL (7,2) AFTER sal;
# --CHANGE修改属性--
ALTER TABLE 表名 CHANGE 原列名 新列名 新数据类型;
# change用来字段重命名,不能修改字段类型和约束;
# modify不用来字段重命名,只能修改字段类型和约束;
删除表
DROP TABLE 表名;
六种约束
/*MySQL的六种约束*/
PRIMARY KEY/*主键约束,若主键由多个属性组成要定义成表级*/
FOREIGN KEY/*外键约束,定义成表级*/
UNIQUE/*唯一约束:允许NULL值;非主键(多)字段值唯一;可定义多个*/
NOT NULL/*非空约束,只能字段级*/
DEFAULT/*默认约束,只能字段级*/
CHECK(stuscore between 0 and 100)/*范围between..and..,..and..,..or..*/