oracle 数据库 数据表的5个约束类型:
1.主键约束
2.外键约束
3.唯一约束
4.检查约束
5.非空约束
主键约束:用来唯一标示表中的一个列,一个表中的主键约束只能有一个,但是可以在一个主键约束中包含多个列,也称为联合约束。
外键约束:用来约束两个表中列之间的关系。
唯一约束:用来唯一标示表中的列。与主键约束不同的是,在一个数据表中可以有多个唯一约束。
检查约束:用来约束表中列的输入值得范围,比如在输入性别时,要求数据库中只能输入男或者女,就可以使用检查约束来约束该列。
非空约束:约束该列一定要输入值。
---------------------------------------------------------------------------------------
创建一个带检查约束的表:
使用PL/SQL语句创建检查约束的语法如下所示:
CONSTRAINT constraint_name CHECK(condition)
[语法说明:]
CONSTRAINT:关键词
constraint_name:约束名称
condition:约束条件
列如:创建BOOKINFO表时,给图书价格加上一个检查约束,要求图书价格在10元到100元之间。
CREATE TABLE BOOKINFO
(
BOOKID INT,
BOOKNAME CAHR,
PUBLISH VARCHAR2(20),
PUBDATE VARCHAR2(20),
PRICE DECIMAL,
AUTHOR CHAR,
STORE VARCHAR2(1),
READER INT,
REMARKS VARCHAR2(50),
CONSTRAINT CK_PRICE CHECK(PRICE>=10 AND PRICE <= 100)
);
---------------------------------------------------------------------------------------
创建一个带非空约束的表:
举例:在创建BOOKINFO表时,给图书名称加上一个非空约束。
CREATE TABLE BOOKINFO
(
BOOKID INT NOT NULL,
BOOKNAME CHAR NOT NULL,
PUBLISH VARCHAR2(20),
PUBDATE VARCHAR2(20),
PRICE DECIMAL,
AUTHOR CHAR,
STORE VARCHAR2(1),
READER INT,
REMAERKS VARCHAR2(50)
);
----------------------------------------------------------------------------------------
创建一个带唯一约束的表
语法格式:
CONSTRAINT constraint_name UNIQUE(column_name)
【语法说明】
UNIQUE:唯一约束的关键词
column_name:唯一约束的名称。
举例:创建BOOKINFO表时,为图书名称(BOOKNAME)列添加唯一约束
create table bookinfo
(
bookid int,
bookname char,
publish varchar2(20),
pubdate varchar2(20),
price decimal,
author char,
store varchar2(1),
reader int,
remarks varchar2(50),
CONSTRAINT UN_BOOKNAME UNIQUE (bookname)
);
------------------------------------------------------------------------------------------
创建一个带外键约束的表
语法格式:
CONSTRAINT constraint_name FOREIGN KEY (column_name)
REFERENCE table_name (column_name)
ON DELETE CASCADE
[语法说明:]
CONSTRAINT:创建约束的关键字
FOREIGN KEY:外键约束的关键字
REFERENCE:引用外表的关键词
table_name:需要引用的外表,column_name表示该表的列。
举例:
create table publishinfo
(
publishid varchar(20) primary key,
publishname varchar(30)
);
create table bookinfo
(
bookid int,
bookname char,
publish varchar2(20),
pubdate varchar2(20),
price decimal,
author char,
store int,
reader int,
remarks varchar2(50),
constraint fk_publish foreign key(publish) references publishinfo(publishid) on delete cascade
);
创建BOOKINFO表,该表带有外键约束,约束名称为"FK_PUBLISH"。相关列为publish,该外键和PUBLISHINFO表中的publishid列相关联。
相关文章
- MYSQL数据库的常用数据类型
- 【转】ADO.Net对Oracle数据库的操作
- 关于asp.net程序连接不了ORACLE数据库而PL/SQL可以连接的问题
- Oracle用sql查询某张表的字段信息(字段类型、长度等)
- Oracle的数据类型
- oracle Number字段类型 对于小数位数的理解
- 查询oracle数据库的实例名和服务名
- MySQL数据库中varchar与char类型的区别
- 数据加载与保存-通用方式 使用df.write.save方法保存数据,同样可通过format指定数据类型。 save方法后需传入保存路径(针对csv、orc、parquet、textFile格式)。 option方法用于设置特定格式的参数。 保存操作可使用SaveMode来指明如何处理数据,如覆盖(overwrite)、追加(append)等,通过mode方法设置。 特定格式保存 与加载类似,Parquet、JSON、CSV等格式均可通过指定format进行保存。 MySQL等关系型数据库的写入也通过JDBC实现,需指定format为jdbc,并传入数据库连接信息及表名。 注意事项
- 数据库服务概述,构建MYSQL服务器,数据库基本管理,mysql数据类型,表结构的调整