修改(ALTER)操作(了解)
一、修改表名
1.1、语法格式
格式1
ALTER TABLE 旧表名 RENAME TO 新表名;
简写语法
RENAME 旧表名 TO 新表名
1.2、示例代码
示例1
ALTER TABLE emp RENAME TO tb_emp;
简写示例
RENAME emp TO tb_emp
二、添加修改列名
2.1、添加列
语法格式
ALTER TABLE 表名 ADD 列名 数据类型
示例代码
ALTER TABLE emp ADD test VARCHAR2(15)
2.2、修改列
语法格式
ALTER TABLE 表名 RENAME COLUMN 旧列名 TO 新列名
示例代码
ALTER TABLE emp RENAME COLUMN empno TO empid;
三、修改列数据类型
语法格式
ALTER TABLE 表名 MODIFY (列名 数据类型(length));
示例代码
ALTER TABLE EMP MODIFY (EMPNO NUMBER(10));
四、添加约束
1、添加约束
1.1、添加主键约束
语法格式
ALTER TABLE 表名 ADD CONSTRAINT 主键名 PRIMARY KEY(主键字段);
示例代码
ALTER TABLE emp ADD CONSTRAINT pk_emp PRIMARY KEY(empno);
1.2、添加外键约束
语法格式
ALTER TABLE 表名 ADD CONSTRAINT 约束名 FOREIGN KEY (外键字段) REFERENCES 父表(外键字段) [ON DELETE CASCAED|ON DELECT SET NULL];
示例代码
ALTER TABLE emp ADD CONSTRAINT 约束名 FOREIGN KEY (deptno) REFERENCES dept(deptno) ON DELETE CASCAED --ON DELECT SET NULL
1.3、添加唯一约束
语法格式
ALTER TABLE 表名 ADD CONSTRAINT UK_表名_列名 UNIQUE (列名1, 列名2, ... , 列名n);
示例代码
ALTER TABLE emp ADD CONSTRAINT "UK_EMP_ENAME" UNIQUE (ename);
1.4、添加检查约束
语法格式
ALTER TABLE 表名 ADD CONSTRAINT 约束名(CK_表名_列名) CHECK (列名 表达式) [DISABLE];
示例代码
ALTER TABLE emp ADD CONSTRAINT "CK_EMP_SAL" CHECK (sal > 0) [DISABLE];
1.5 、空约束跟默认约束 (注意)
空约束语法格式
ALTER TABLE 表名 MODIFY 列名 NULL; ALTER TABLE 表名 modify 列名 NOT NULL;
示例代码
ALTER TABLE 表名 MODIFY ename NOT NULL; ALTER TABLE 表名 MODIFY ename NULL;
默认约束语法格式
ALTER TABLE 表名 MODIFY 列名 default 默认值
示例代码
ALTER TABLE emp MODIFY sal default 0
2、修改约束名(不能修改约束)
2.1、无法修改主键名只能禁用
语法格式
alter table emp disable constraint 主键约束名
示例代码
alter table emp disable constraint pk_emp alter table emp enable constraint pk_emp
5、其他
删除约束
alter table 表名 drop 约束名
禁用主键约束
alter table test disable constraint 主键约束名
删除表
drop table tb_name [cascade constraint]; 说明 1.删除表中所有数据 2.所有的索引被删除 3.使用cascade constraint,级联删除所有的依赖完整性约束 drop table test cascade constraint;
截断表:truncate
TRUNCATE TABLE 表名称