1.表的复制
(1)复制表结构和表内容
create table emp2 as select * from emp;
(2)只复制表结构
create table emp3 as select * from emp where 1=2;
2.增加一列
alter table tableName add(columnName columntype);
3.修改列
alter table tableName modify(columnName,columnType);
4.修改表名称
rename old_tableName to new_tableName;
5.截断表
truncate table tableName;
无需rollback,资源可立即使用。
6.约束
(1)主键约束(PRIMARY KEY)
一般在id上使用,默认不能为空。
建表的时候建立约束:
id varchar2(16) primary key;
或者指定约束名称:
constraint pk_name primary key(columnName);
(2)非空约束(NOT NULL)
不允许为空,NOT NULL
columName columType NOT NULL;
(3)唯一约束(UNIQUE)
字段内容唯一,不能重复
columName columnType unique;
(4)检查约束(CHECK)
判断一个列中插入的内容是否合法,比如年龄限于数字等范围。
age number(3) not null check(age between 1 and 150);
再比如:
sex varchar2(3) not null check(sex in('男','女'));
(5)外键约束
constraint fkname foreign key(id) references otherTable(id);
注意:
字表中的外键字段必须是主表的主键;
删除时必须先删除子表,再删除父表。
可以使用强制性删除语句:
drop table 子表 cascade constraint;
当删除主表数据时,若想连同对应的字表数据一起删除,则使用级联删除:
constraint fkname foreign key(id) references otherTable(id) on delete cascade;
7.rownum
表示行号,实际为一列,自动编号。