(精)SQL数据库_创建表与完整性约束.ppt

  1. 1、本文档共68页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
4.1.3 SQL语言功能概述 4.2 SQL的数据类型 数值型 字符串型 日期时间型 货币型 数值型 准确型 整数 Bigint: 8字节, Int:4字节 Smallint:2字节, Tinyint:1字节 Bit:1位,存储1或0 小数 Numeric(p,q)或Decimal(p,q), 其中:p为数字位长度,q:小数位长度。 近似型 Float:8字节 Real:4字节 字符串型 普通编码字符串类型 统一字符编码字符串类型 二进制字符串类型 普通编码字符串类型 Char(n):定长存储,n=8000 Varchar(n):不定长存储(按实际长度存储),长度最大不超过n , n=8000 注:n 为字符个数 Text:存储大于8000字节的文本 统一字符编码字符串类型 nchar(n):定长存储,n=4000 nvarchar(n):不定长存储,长度最大不超过n , n=4000 ntext:存储大于8000字节的文本 特点:每个字符占两个字节 二进制字符串类型 Binary(n):固定长度,n = 8000。 Varbinary(n):可变长度,n =8000 。 注:n为二进制数据的字节数 image:大容量、可变长二进制字符数据,可用于存储文件。 日期时间型 Datetime:8字节,年月日时分秒毫秒 (例:‘2001/08/03 10:30:00.000’ ) SmallDateTime:4字节,年月日时分 (例: ‘2001/08/03 10:30:00’ ) 日期、时间的输入格式 货币类型 Money: 8 个字节,精确到货币单位的千分之十。 Smallmoney: 4 个字节,精确到货币单位的千分之十。 限制到小数点后 4 位。 可以带有适当的货币符号。例如,100 英镑可表示为 £100。 4.3 基本表的定义、删除及修改 4.3.1 基本表的定义与删除 4.3.2 修改表结构 4.3.1 基本表的定义与删除 1.定义基本表 使用SQL语言中的CREATE TABLE语句实现,其一般格式为: CREATE TABLE 表名( 列名 数据类型 [列级完整性约束定义] {, 列名 数据类型 [列级完整性约束定义] … } [, 表级完整性约束定义 ] ) 在列级完整性约束定义处可以定义的约束 NOT NULL:限制列取值非空。 DEFAULT:给定列的默认值。 UNIQUE:限制列取值不重。 CHECK:限制列的取值范围。 PRIMARY KEY:指定本列为主码。 FOREIGN KEY:定义本列为引用其他表的外码。使用形式为: [FOREIGN KEY(外码列名)] REFERENCES 外表名(外表列名) 几点说明 NOT NULL和DEFAULT只能是列级完整性约束; 其他约束均可在表级完整性约束处定义。 注意以下几点: 第一,如果CHECK约束是定义多列之间的取值约束,则只能在表级完整性约束处定义; 第二,如果表的主码由多个列组成,则也只能在表级完整性约束处定义,并将主码列用括号括起来,即:PRIMARY KEY(列1{[,列2 ] …}); 第三,如果在表级完整性约束处定义外码,则“FOREIGN KEY (外码列名)”部分不能省。 约束定义 ① 列取值非空约束 列名 类型 NOT NULL 例:sname char(10) NOT NULL 约束定义(续) ② 表主码约束 在定义列时定义主码(仅用于单列主码) 列定义 PRIMARY KEY 例: SNO char(7) PRIMARY KEY 在定义完列时定义主码(用于单列或多列主码) PRIMARY KEY (列名序列) 例: PRIMARY KEY(SNO) PRIMARY KEY(SNO,CNO) 约束定义(续) 指明本表外码列引用的表及表中的主码列。 约束定义(续) ④默认值约束 格式:DEFAULT 默认值 例:定义系的默认值为“计算机系”。 DEFAULT ‘计算机系’ 约束定义(续) ⑤CHECK约束 格式:CHECK (约束表达式) 例:定义成绩大于等于0。 CHECK ( grade = 0 ) 约束定义(续) ⑥UNIQUE约束 在列级约束定义(仅用于单列约束) 列定义 UNIQUE 例: SNAME char(7) UNIQUE 在表级约束定义(用于单列或多列组合约束) UNIQUE (列名序列) 例: UNIQUE (SNO,CNO) 用于限制在一个列中不能有重复的值。 用在事实上具有惟一性的属性列上,比如每个人的身份证号码

文档评论(0)

xiaofei2001129 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档