




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1.定义基本表语句语法:USE数据库名 CREATE TABLE 表名 (列名 类型(大小) DEFAULT默认值,列名 类型(大小) DEFAULT默认值,列名 类型(大小) DEFAULT默认值,. .);注:绿色部份是可以省略的。例:CREATE TABLE S (SNO char(2), SNAME char(8), AGE decimal(2), SEX char(2) DEFAULT男, DEPT char(2);创建了一个五列的表,其中第四列的默认值为男。2.定义完整性约束语法:USE数据库名 CREATE TABLE 表名 (列名 类型(大小) DEFAULT默认值 CONSTRAINT 约束名 约束定义,列名 类型(大小) DEFAULT默认值 CONSTRAINT 约束名 约束定义,列名 类型(大小) DEFAULT默认值 CONSTRAINT 约束名 约束定义,. .);注:(1) 绿色部份是可以省略的。(2) 一个列是可以有多个约束的。约束定义:(1)NULL | NOT NULL用于定义列的空值约束。(定义列)(下面的蓝色部份是单选其中之一)语法:CONSTRAINT 约束名 NULL | NOT NULL注意:a. NOT NULL 约束强制列不接受 NULL 值。b. NOT NULL 约束强制字段始终包含值。这意味着,如果不向字段添加值,就无法插入新纪录或者更新记录。例:下面的 SQL 语句强制 Id_P 列和 LastName 列不接受 NULL 值:CREATE TABLE Persons(Id_P int NOT NULL,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255)(2)UNIQUE约束唯一标识数据库表中的每条记录。(即可以定义列也可能定义表)语法:CONSTRAINT 约束名 UNIQUE (列名, 列名, . .);说明:用于指定基本表在某一个列或多个列的组合上取值必须唯一。定义了UNIQUE约束的那些列称为唯一键。如果为基本表的革一列或多个列的组合指定了UNIQUE约束,则系统将为这些列建立唯一索引,从而保证在表中的任意两行记录在指定的列或列组合上不能取同样的值。注意:a. UNIQUE 约束唯一标识数据库表中的每条记录。b. UNIQUE 和PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。c. PRIMARY KEY 拥有自动定义的 UNIQUE 约束。d.请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY KEY 约束。例:下面的 SQL 在 Persons 表创建时在 Id_P 列创建 UNIQUE 约束:SQL Server /Oracle/ MSaccess:CREATE TABLE Persons(Id_P int NOT NULL UNIQUE,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255)如果需要命名 UNIQUE 约束,以及为多个列定义 UNIQUE 约束,请使用下面的 SQL 语法:MySQL / SQL Server / Oracle / MS Access:CREATE TABLE Persons(Id_P int NOT NULL,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255),CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)(3)PRIMARY KEY 约束唯一标识数据库表中的每条记录。(即可以定义列也可能定义表)语法:CONSTRAINT 约束名 PRIMARY KEY (列名, 列名, . .);说明:用于定义基本表的主键。与UNIQUE约束类似,PRIMARY KEY 约束也是通过建立唯一索引来保证基本表在主键列(某一个列或多个列的组合)上取值的唯一性。然而它们之间也存在着很大差别:在一个基本表中只能定义一个 PRIMARY KEY 约束,却能定义多个UNIQUE约束。如果为基本表的某一个列或多个列的组合指定了 PRIMARY KEY 约束,那么其中在任何一个列都不能出现空值;而 UNIQUE 约束允许出现空值。注意:a. 主键必须包含唯一的值。b. 主键列不能包含 NULL 值。c. 每个表应该都一个主键,并且每个表只能有一个主键。例:下面的 SQL 在 Persons 表创建时在 Id_P 列创建 PRIMARY KEY 约束:SQL Server / Oracle / MS Access:CREATE TABLE Persons(Id_P int NOT NULL PRIMARY KEY,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255)如果需要命名 PRIMARY KEY 约束,以及为多个列定义 PRIMARY KEY 约束,请使用下面的 SQL 语法:MySQL / SQL Server / Oracle / MS Access:CREATE TABLE Persons(Id_P int NOT NULL,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255),CONSTRAINT uc_PersonID PRIMARY KEY (Id_P,LastName)(4)FOREIGN KEY 外键 (即可以定义列也可能定义表)语法:CONSTRAINT 约束名 FOREIGN KEY (列名, 列名, . .) REFERENCES (列名, 列名, . .) ;说明:指定某一个列或多个列的组合作为外部键,并在外部键和它所引用的主键或唯一键之间建立联系。在这种联系中,包含外部键的基本表称为从表,包含外部键引用的主键或唯一键的表称为主表。一旦为一列或列的组合定义了 FOREIGN KEY 约束,系统将保证从表在外部键上的取值要么是主表中某一个主键值或唯一键值,要么取空值。注意:a.在REFERENCES 中引用的列必须和 FOREIGN KEY 的外部键列一一对应,即列数目相等并且相应列的数据类型相同。例:下面的 SQL 在 Orders 表创建时为 Id_P 列创建 FOREIGN KEY:SQL Server / Oracle / MS Access:CREATE TABLE Orders(O_Id int NOT NULL PRIMARY KEY,OrderNo int NOT NULL,Id_P int FOREIGN KEY REFERENCES Persons(Id_P)如果需要命名 FOREIGN KEY 约束,以及为多个列定义 FOREIGN KEY 约束,请使用下面的 SQL 语法:MySQL / SQL Server / Oracle / MS Access:CREATE TABLE Orders(O_Id int NOT NULL,OrderNo int NOT NULL,Id_P int,PRIMARY KEY (O_Id),CONSTRAINT fk_PerOrders FOREIGN KEY (Id_P) REFERENCES Persons(Id_P)(5)CHECK 约束用于限制列中的值的范围。 (即可以定义列也可能定义表)语法:CONSTRAINT 约束名 CHECK (约束条件);说明:用于指定基本表中的每一条记录必须满足的条件,可以对基本表在各个列上的值做进一步的约束,如成绩列的取值既不能大于100,也不能小于0。注意:a. 如果对单个列定义 CHECK 约束,那么该列只允许特定的值。b. 如果对一个表定义 CHECK 约束,那么此约束会在特定的列中对值进行限制。例:下面的 SQL 在 Persons 表创建时为 Id_P 列创建 CHECK 约束。CHECK 约束规定 Id_P 列必须只包含大于 0 的整数。SQL Server / Oracle / MS Access:CREATE TABLE Persons(Id_P int NOT NULL CHECK (Id_P0),LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255)如果需要命名 CHECK 约束,以及为多个列定义 CHECK 约束,请使用下面的 SQL 语法:MySQL / SQL Server / Oracle / MS Access:CREATE TABLE Persons(Id_P int NOT NULL,LastName varchar(255) NOT NULL,FirstName varchar(255),Address varchar(255),City varchar(255),CONSTRAINT chk_Person CHECK (Id_P0 AND City=Sandnes)例:USE lijintao CREATE TABLE S2(SNO CHAR(2) CONSTRAINT S_PRIM PRIMARY KEY,SN CHAR(8) CONSTRAINT SN_C
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 棉花保管员理论知识考核试卷及答案
- 胶合板胶合工理论知识考核试卷及答案
- 三氯氢硅合成工招聘考核试卷及答案
- Reading A说课稿-2025-2026学年高中英语沪外版2020选择性必修第四册-沪外版2020
- 智能家居电机安防市场细分领域分析报告
- 凿岩工质量管控考核试卷及答案
- 生态旅游产品市场细分创新策略研究分析报告
- 工艺品雕刻工技能比武考核试卷及答案
- 果品采收标准分析报告
- 船体结构损伤检测方法分析报告
- 2025年煤矿企业主要负责人安全生产理论考试笔试试题含答案
- 苗族舞蹈课件
- 监狱公选面试题库及答案
- 具有法律效应的还款协议书6篇
- T-AOPA0062-2024电动航空器电推进系统动力电机控制器技术规范
- 2025年全国企业员工全面质量管理知识竞赛题及参考答案
- FZ/T 60029-2021毛毯脱毛测试方法
- 质量月知识竞赛题库
- 状态-特质焦虑问卷STAI
- hsp运营高感训练家长手册
- 罐车司机培训试题含答案
评论
0/150
提交评论