1 建表语句
create table person
(
pid varchar(18),
name varchar(20) not null,
age number(3) not null check(age between 0 and 150),
birthday date,
sex varchar2(2) default '男',
address varchar2(200),
constraint person_pid_pk primary key(pid),
constraint person_name_uk unique(name)
);
- 修改列
- alter table person add(mon varchar2(20));增加
- alter table person rename column name to ename;//修改列名
- alter table person modify ename varchar(100);//修改列类型
- alter table person drop column name;//删除列
2 数据类型
数据库字符编码:
- 字符串类型
- char
- varchar
- varchar2
- 数字类型
- number(precis,scale);//精度,小数位
- float
- 日期类型
- date 7个字节
- timestamp
3 约束
- 唯一性约束: unique
- 检查约束:check
- 缺省约束:default
- 主键约束:primary key
- 外键约束:foreign key
3.1 列,表级别约束
列约束只定义一列,表约束不局限于一列
- 表示方法:
- unique
- not null 只有列约束
- check
- 表级别表示:
- constraint id primary key (tid,pid) //两个组合主键
- constraint 约束名 foreign key references <外表名>(列名)
- constraint 约束名 unique (列名)
- constraint 约束名 check(条件)
检查约束check
列级别约束:null只有列级别约束
表级别约束
3.2 外键约束
references department(deptno)
- 先建立父表才能建立关联表
3.3 追加约束
- alter table 表名 add 约束
- alter table person add primary key(pid)
- 修改列约束,修改列方式
3.4 删除约束
- alter table 表名 drop 约束
- alter table person drop constraint person_pid_pk
3.5 约束的禁用和启动
- alter table 表名 disable 约束
- alter table person disable primary key
- alter table person disable constraint person_pid_pk
- alter table 表名 enable 约束
3.6 查看约束
select * from user_constraints where table_name='EMP'