- 1、本文档共73页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第 4 章 关系数据库标准语言——SQL 4.2 创建与使用数据表 4.2.1 数据类型 用SQL命令创建数据表 CREATE TABLE 表名 (列定义[{,列定义|表约束}]) [例1]建立图书销售系统中的图书库存信息表。 CREATE TABLE BookRecord (BookNo Char(30) , BookName Char(200), Publisher Char(100), Author Char(30), SalesPrice Money, Quantity Int, Discount Decimal(2,2)) 4.2.3 定义数据表的约束 完整性约束的基本语法格式 [CONSTRAINT 约束名 ] 约束类型 NULL/NOT NULL约束 NULL表示“不知道”、“不确定”或“没有数据”的意思 主键列不允许出现空值 [CONSTRAINT 约束名 ][NULL|NOT NULL] [例2] 建立一个S表,对SNo字段进行NOT NULL约束。 CREATE TABLE S ( SNo CHAR(6) CONSTRAINT S_Cons NOT NULL, SN VARCHAR(8), Sex CHAR(2), Age INT, Dept VARCHAR(20)) UNIQUE约束(惟一约束) 指明基本表在某一列或多个列的组合上的取值必须惟一 在建立UNIQUE约束时,需要考虑以下几个因素: 使用UNIQUE约束的字段允许为NULL值。 一个表中可以允许有多个UNIQUE约束。 可以把UNIQUE约束定义在多个字段上。 UNIQUE约束用于强制在指定字段上创建一个UNIQUE索引,缺省为非聚集索引。 UNIQUE用于定义列约束 [CONSTRAINT 约束名] UNIQUE UNIQUE用于定义表约束 [CONSTRAINT 约束名] UNIQUE(列名[{,列名}]) [例3] 建立一个S表,定义SN为惟一键。 CREATE TABLE S ( SNo CHAR(6), SN CHAR(8) CONSTRAINT SN_Uniq UNIQUE, Sex CHAR(2), Age INT, Dept VARCHAR(20)) [例4] 建立一个S表,定义SN+SEX为惟一键,此约束为表约束。 CREATE TABLE S ( SNo CHAR(6), SN CHAR(8) UNIQUE, Sex CHAR(2), Age INT, Dept VARCHAR(20), CONSTRAINT S_UNIQ UNIQUE(SN, Sex)) PRIMARY KEY约束(主键约束) 用于定义基本表的主键,起惟一标识作用 PRIMARY KEY与UNIQUE 的区别: 一个基本表中只能有一个PRIMARY KEY,但可多个UNIQUE 对于指定为PRIMARY KEY的一个列或多个列的组合,其中任何一个列都不能出现NULL值,而对于UNIQUE所约束的惟一键,则允许为NULL PRIMARY KEY用于定义列约束 CONSTRAINT 约束名 PRIMARY KEY PRIMARY KEY用于定义表约束 [CONSTRAINT 约束名] PRIMARY KEY (列名[{,列名}]) [例3-5] 建立一个S表,定义SNo为S的主键,建立另外一个数据表C,定义CNo为C的主键。 CREATE TABLE S ( SNo CHAR(6) CONSTRAINT S_Prim PRIMARY KEY, SN CHAR(8), Sex CHAR(2), Age INT, Dept VARCHAR(20)) CREATE TABLE C ( CNo CHAR(5) CONSTRAINT C_Prim PRIMARY KEY, CN CHAR(20), CT INT) [例6] 建立一个SC表,定义SNo+CNo为SC的主键。 CREATE TABLE SC ( SNo CHAR(5) NOT NULL, CNo CHA
文档评论(0)