-
非空约束 NOT NUL (禁止插入字段为空) 主键约束 PRIMARY KEY (每张表只能有一个,可以由多个字段构成) 外键约束 FOREIGN KEY (约束字段与外表字段匹配,类型相同,数据必须 IN {外表数据}) 唯一约束 UNIQUE (保证数据的唯一性,可以由多字段构成) 检查约束 CHECK (保证数据值的安全可靠,并允许范围内) 语法: 1.创建表时 alter table_name( id number(10,0) primary key, name varchar2(20) not null, typeid number(4,0), salary number(5,2), constraint uk_name unique (name), constraint ck_salary check (salary>0), constraint fk_typeid foreign key(typeid) references table1_name(typeid) ) 2.向已有表中添加 alter table table_name add constraint uk_name unique(name); 3.更改约束名 alter table table_name rename constraint old_name to new_name; 4.更改约束状态 alter table table_name disable|enable constraint name; 5.删除约束 alter table table_name drop constraint name; 主键删除,由于主键的唯一性,可以直接使用以下语句进行删除: alter table table_name drop primary key; 非空约束,由于非空约束没有约束名,并且非空约束不存在唯一性,因此删除非空,即是把非空改为允许为空,语句如下: alter table table_name modify column_name datatype null; 注意:除非空约束没有约束名以外,其他约束都有约束名,并尽量自定义约束名便于记忆与辨识。不论是否在同一张表,约束都不允许重名,这一点跟MySQL,SQL Server不同。查看全部
-
create table userinfo_f2<br> (id varchar2(10) primary key,<br> username varchar2(20),<br> typeid_new varchar2(10),<br> constraint fk_typeid_new foreign key(typeid_new)reference typeinfo(typeid));查看全部
-
主表: create table typeinfo (typeid varchar2(10) primary key, typename varchar2(20)); 从表: create table userinfo (id number(6,0) primary key, username varchar2(20), userpwd varchar2(20), typeid_new varchar2(10) reference typeinfo(typeid));查看全部
-
select constraint_name,statud from user_constraints where table_name ='USERINFO';查看全部
-
通过字典来查找约束的名字: select constraint_name[约束名],constraint_type[约束的类型,主键,外键等],status[状态,disable,enable] from user_constraints where table_name='USERINFO_F4';查看全部
-
alter table userinfo disable constraint new_jk_id;查看全部
-
alter table userinfo rename constraint pk_id new pk_id;查看全部
-
select constraint_name from user_constraints where table_name='USERINFO';查看全部
-
desc user_constraint查看全部
-
alter table userinfo add constraint pk_id primary key(id);查看全部
-
5-5创建表的时候设置外键约束 · 创建表的时候设置外键约束 注意1.主表的字段必须是主键 2.主从表中相应的字段必须是同一个数据类型 3.从表中外键字段的值必须来自主表中的相应字段的值,或者null · table1从表,table2主表 CREATE TABLE table1 ( column_name datatype REFERENCES table2(column_name), ... ); · CONSTRAINT constraint_name FOREIGN KEY(column_name) REFERENCES table_name(column_name) [ON DELETE CASCADE]; --[ON DELETE CASCADE]级联删除(主表被删除后,从表跟着被删除) 示例:create table userinfo_f2 ( id varchar2(10) primary key, username varchar2(20), typeid_new varchar2(10), constraint fk_typeid_new foreign key(typeid_new) references typeinfo(typeid) ); 没有级联删除,主表删除后,从表不会删除 示例:create table userinfo_f3 ( id varchar2(10) primary key, username varchar2(20), typeid_new varchar2(10), constraint fk_typeid_new foreign key(typeid_new) references typeinfo(typeid) on delete cascade ); 级联删除,主表删除后,从表跟着删除查看全部
-
select constraint_name from user_constraint where table_name='USERINFO'; 数据字典: desc usr_comstraints查看全部
-
create table userinfo (id number(6,0), username varchar2(20), userpwd varchar2(20), constraint pk_id_name primary key(id,username));查看全部
-
create table userinfo (id number(6,0) primary key, username varchar2(20), userpwd varchar2(20));查看全部
-
alert userinfo modify username varchar null;查看全部
举报
0/150
提交
取消