DDL数据库对象管理

2022-10-20,,,

ddl数据库对象管理

 

约束的分类:

主键约束:primary key 要求主键列数据唯一,并且不允许为空。

外键约束:foreign key 用于在两表之间建立关系,需要指定引用主表的哪一列。

检查约束:check 某列取值范围限制、格式限制等。 例如性别列

唯一约束:unique 数据的唯一性,可以空,但只能有一个

非空约束:not null 该列数据不能为空

注意:1.not null 约束只能在列级上定义。

2. 外键需要关联主键表的主键列或唯一列,这里关联唯一列

3. 创建外键表时:先创建主键表,在创建外键 。删除表时:先删除外键表,在删除主键表

 

1.创建表格

-- create table 表格名称(列名 数据类型 约束 ,列名 数据类型 ,约束);

create table cla

(

clano number,

claid nvarchar2(20),

claname nvarchar2(20)

);

--在创建完列后,同时创建约束(列级约束)

例如:

create table t1(

id number constraint pk_t1 primary key, -- 声明约束可以使用constraint pk_t1指定约束名

name varchar(20) constraint un_t1_name unique not null, -- 唯一和非空

sex char(2) constraint ck_t1_sex check( sex in ('男','女')),

tid number constraint fk_t1_t references t(id)

);

 

--在创建完表格列后,在列下面创建约束(表级约束)

例如:

create table t2(

id number ,

name varchar(20) not null, -- not null 只能定义在列的后面,称为列级约束

sex char(2),

tid number ,

constraint pk_t2 primary key(id), ---先定义列后编写的约束称为表级约束;

constraint un_t2_name unique(name) ,

constraint ck_t2_sex check( sex in ('男','女')),

constraint fk_t2_t foreign key (tid) references t(id) -- 在表格后指定外键列时需要使用 foreign key指定外键列

);

 

--联合主键,联合唯一

create table t3(

id number ,

sid number ,

name nvarchar2(20),

name2 nvarchar2(20),

constraint pk_t3 primary key(id,sid), -- 联合主键

constraint un_t3_name_name2 unique(name,name2) -- 联合唯一

);

 

2.修改表格

--修改表格之添加主键,唯一约束,外键约束,检查约束

例如:

1.alter table cla add constraint pk_cla primary key (clano);

2.alter table cla add constraint un_cla_claid unique (claid);

3.alter table stu add constraint fk_stu_cla foreign key (classid) references cla (clano);

4.alter table stu add constraint ck_stu_sex check (sex in ('男','女'));

 

 

3.删除表格

语法: drop table 表格名称

注意:删除主键表前,需要先删除外键表上的引用关系

drop table cla2;

 

4. 查询表格 (不属于ddl)-----

select table_name from user_tables;

 

补充:

1 . references 和 reference 的区别

references 可以在定义列的同时引用主键表;reference不可以

2. 声明约束可以使用constraint pk_t1指定约束名

3. 外键需要关联主键表的主键列或唯一列

4.如果没有声明约束或指定约束名称,则系统会默认生成一个名称

 

《DDL数据库对象管理.doc》

下载本文的Word格式文档,以方便收藏与打印。