约束
来源:互联网 发布:淘宝上的东西是正品吗 编辑:程序博客网 时间:2024/05/22 06:12
主键约束:primary key
普通方式create table 表名( id number(10) primary key, name varchar(10) );
自定义主键约束的名称create table 表名( id number(10), name varchar(10), constraint 主键约束名 primary key(id) );
非空约束:not null
create table 表名( id number(10), name varchar(10) not null, constraint 主键约束名 primary key(id) );
唯一约束:unique
create table 表名( id number(10), name varchar(10) unique not null, constraint 主键约束名 primary key(id) );
检查约束:check (基本不用,可扩展性差)
create table 表名( id number(10), name varchar(10) unique not null, gender number(1) check(gender in(0,1)), constraint 主键约束名 primary key(id) );
外键约束:foreign key
创建主表create table orders( orders_id numbere(10), orders_name varchar2(20), constraint pk_orders_id primary key(orders_id) );创建从表create table orders_detail( orders_detail_id number(10), orders_detail_name varchar2(20), orders_id number(10), constraint pk_orders_detail primary key(orders_detail_id), constraint fk_orders_detail foreign key(orders_id) references orders(orders_id) );
插入数据时,必须先在主表中插入数据insert into orders values (1, '牛肉');commit;insert into orders_detail values (1, '萝卜', 1);commit;
删除数据时,先删除从表,再删除主表数据delete from orders_detail;commit;delete from orders where orders_id=1;commit;
删除表时,不能先删除主表,但可强制删除(不推荐)drop table orders cascade orders_id = 1;
级联删除:创建从表时,在外键约束的后面加上 on delete cascadecreate table orders_detail( orders_detail_id number(10), orders_detail_name varchar2(20), orders_id number(10), constraint pk_orders_detail primary key(orders_detail_id), constraint fk_orders_detail foreign key(orders_id) references orders(orders_id) on delete cascade );
补充
创建主键约束和唯一约束时,会自动创建一个同名的(唯一)索引
阅读全文
1 0
- 约束
- 约束
- 约束
- 约束
- 约束
- 约束
- 约束
- 约束
- 约束
- 约束
- 约束
- 约束
- 约束
- 约束
- 约束
- 约束
- 约束
- 约束
- HTML基础(二)
- Angular 表单判断密码
- 基于Qt的收银点餐系统之小票打印(二)
- Uva 10129 (dfs判断连通 +欧拉回路)
- 数据库学习---2
- 约束
- python mysql简单操作,报错处理
- angularjs的表格的增删改查(关于商品)
- Swift中泛型的属性
- Tensorflow 05: 导入预训练好的图模型
- opencv显示图像
- vue样式(style)和属性(class)绑定的几种基本方法
- 【头条】从重新定义的超算市场 看联想的价值新主张
- AngularJs球员的增加查询排序的方法