oracle 二维表,Oracle二维表的创建与约束

创建表

create table 表名(

属性名  数据类型  行约束条件,

属性名  数据类型  行约束条件,

……

表级约束条件

)

字符串  char    使用指定长度的固定长度表示的字符串,位数不足的字符串在其后补空字符;

字符串  varchar  存放固定长度的字符串

字符串  varchar2  长度可变的字符串,动态分配内存空间(Oracle所特有的数据类型)

数字   number  number(6,3)数据长度为6,其中3位为小数

日期   date

约束语句:

主键约束:非空唯一

列级约束  在所声明的字段名后添加primary key,

表级约束  constraint pk_表名_列名 primary key(字段名);pk_表名_字段名为约束名,可以省略

表已经创建:alter table 表名add constraint pk_表名_字段名 primary key(字段名);

删除约束  alter table 表名 drop constraint pk_表名_字段名;

非空约束:

列级约束  在所声明的字段名后添加not null,

表级约束  constraint ck_表名_字段名 check(字段名 is not null)

表已经创建    alter table 表名add constraint ck_表名_字段名 check(字段名 is not null)

删除约束  alter table 表名 drop constraint ck_表名_字段名;

检查约束

列级约束  在所声明的字段名后添加check(检查条件)  如:check(age>0&&age<100)

表级约束  constraint ck_表名_字段名 check(检查条件)

表已经创建    alter table 表名add constraint ck_表名_字段名 check(检查条件)

删除约束  alter table 表名 drop constraint ck_表名_字段名;

唯一约束

列级约束  在所声明的字段名后面直接添加unique

表级约束  constraint un_表名_字段名 unique(字段名)

表已经创建    alter table 表名add constraint un_表名_字段名 unique(字段名)

删除约束  alter table 表名 drop constraint un_表名_字段名

外键约束

列级约束  在所声明的字段名后添加references 父表名(列名)

表级约束  constraint fk_表名_字段名 foreign key(字段名) references 父表名(字段名)

表已经创建    alter table 表名add constraint fk_表名_字段名 foreign key(字段名) references 父表名(字段名)

删除约束  alter table 表名 drop constraint fk_表名_字段名;

外键的缺点:被引用的表不能直接删除内部数据(被引用的)

解决方法一、先解除关联,再删除

解决方法二、加关键字 on delete

on delete cascade 级联父表数据被删除时,与对应字表中数据与删除

on delete set null 级联父表数据被删除时,与对应字表中数据中的外键值置为null(外键不能添加非空约束)

二维表表的修改

添加新的字段:alter table 表名 add 字段名 数据类型类型 ;

修改字段类型:alter table 表名 modify 字段名 新数据类型;

修改字段名 :alter table 表名 rename column 字段名 to 新字段名;

删除字段  :alter table 表名 drop column 字段名;

删除表   :drop table 表名;

修改表名  :rename 表名 to 新表名;

查看表结构 :desc 表名;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值