第十章alter操作 更新表结构
1.增加列
alter table tb_name
add (
列名1 数据类型 列级约束,
列名1 数据类型 列级约束,
列名1 数据类型 列级约束,
表级约束1,
表级约束2
)
alter table stu add primary key(id),
alter table stu add constraint stu_id_pk primary key(id),
alter table stu add name varchar2(20);
alter table stu add (name varchar2(20));
alter table stu add (name varchar2(20));
alter table stu add (name varchar2(20) constraint stu_name_un unique);
alter table stu add (
name varchar2(20),
age number
);
2.删除列
alter table tb_name
drop column col_name;
alter table stu drop column age;
3.修改列属性(数据类型和约束)
前提:列必须存在
alter table tb_name
modify (
列名1 数据类型 列级约束,
列名2 数据类型 列级约束,
列名3 数据类型 列级约束,
)
alter table stu modify name number not null
alter table stu modify (
name number ,
age varchar2(20)
);
alter table stu modify
constraint stu_age_ck check(age<10);
注意:不能重命名列
not null约束的增加只能用modify
4,增加约束
alter table tb_name
add [constraint] 表级约束
注意:只能增加能够使用表级约束的约束
5.删除约束
alter table tb_name
drop constraint c_name;
alter table ss drop constraint stu_id_pk;
alter table ss drop constraint sys_c00524;
注意:数据库起的名字sys_c00524
6.使一个约束失效:
alter table tb_name disable
constraint constraint_name [cascade];
alter table stu disable
constraint stu_id_pk cascade;
注意:cascade是单前主键可能被引入,
让具体引用的外键实效
7.是一个约束生效:
alter table tb_name enable
constraint constraint_name;
alter table stu ensable
constraint stu_id_pk;
注意:恢复约束之前数据符合约束条件限定
8.删除表:
drop table tb_name [cascade constraint];
删除表,同时删除级联的完整性 约束。
drop table stu cascade constraint;
注意:删除表的同时使和当前表相关的约束全部删除
9.重命名:rename
重命名表:
rename old_tb_name to new_tb_name;
rename ss to stt;
重命名列:
alter table tb_name
rename column old_col_name to new_col_name;
alter table stt
rename column id to ids;
10.truncate:清空表记录,且释放表空间(返回建表初始状态)
truncate table tb_name
truncate table stt;