电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

SQL数据库_创建表与完整性约束VIP免费

SQL数据库_创建表与完整性约束_第1页
1/68
SQL数据库_创建表与完整性约束_第2页
2/68
SQL数据库_创建表与完整性约束_第3页
3/68
4.1.3SQL语言功能概述SQL功能命令动词数据查询SELECT数据定义CREATE、DROP、ALTER数据操纵INSERT、UPDATE、DELETE数据控制GRANT、REVOKE四部分:数据定义功能、数据控制功能、数据查询功能和数据操纵功能。4.2SQL的数据类型•数值型•字符串型•日期时间型•货币型数值型•准确型•整数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/0310:30:00.000’)•SmallDateTime:4字节,年月日时分(例:‘2001/08/0310:30:00’)•日期、时间的输入格式货币类型•Money:8个字节,精确到货币单位的千分之十。•Smallmoney:4个字节,精确到货币单位的千分之十。•限制到小数点后4位。•可以带有适当的货币符号。例如,100英镑可表示为£100。4.3基本表的定义、删除及修改•4.3.1基本表的定义与删除•4.3.2修改表结构4.3.1基本表的定义与删除•1.定义基本表使用SQL语言中的CREATETABLE语句实现,其一般格式为:CREATETABLE<表名>(<列名><数据类型>[列级完整性约束定义]{,<列名><数据类型>[列级完整性约束定义]…}[,表级完整性约束定义])在列级完整性约束定义处可以定义的约束•NOTNULL:限制列取值非空。•DEFAULT:给定列的默认值。•UNIQUE:限制列取值不重。•CHECK:限制列的取值范围。•PRIMARYKEY:指定本列为主码。•FOREIGNKEY:定义本列为引用其他表的外码。使用形式为:[FOREIGNKEY(<外码列名>)]REFERENCES<外表名>(<外表列名>)几点说明•NOTNULL和DEFAULT只能是列级完整性约束;•其他约束均可在表级完整性约束处定义。•注意以下几点:•第一,如果CHECK约束是定义多列之间的取值约束,则只能在表级完整性约束处定义;•第二,如果表的主码由多个列组成,则也只能在表级完整性约束处定义,并将主码列用括号括起来,即:PRIMARYKEY(列1{[,列2]…});•第三,如果在表级完整性约束处定义外码,则“FOREIGNKEY(<外码列名>)”部分不能省。约束定义•①列取值非空约束<列名><类型>NOTNULL例:snamechar(10)NOTNULL约束定义(续)•②表主码约束•在定义列时定义主码(仅用于单列主码)列定义PRIMARYKEY例:SNOchar(7)PRIMARYKEY•在定义完列时定义主码(用于单列或多列主码)PRIMARYKEY(<列名序列>)例:PRIMARYKEY(SNO)PRIMARYKEY(SNO,CNO)约束定义(续)③外码引用约束•指明本表外码列引用的表及表中的主码列。[FOREIGNKEY(<本表列名>)]REFERENCES<外表名>(<外表主码列名>)例:FOREIGNKEY(sno)REFERENCES学生表(sno)约束定义(续)•④默认值约束•格式:DEFAULT默认值•例:定义系的默认值为“计算机系”。DEFAULT‘计算机系’约束定义(续)•⑤CHECK约束•格式:CHECK(约束表达式)•例:定义成绩大于等于0。CHECK(grade>=0)约束定义(续)•⑥UNIQUE约束•在列级约束定义(仅用于单列约束)列定义UNIQUE例:SNAMEchar(7)UNIQUE•在表级约束定义(用于单列或多列组合约束)UNIQUE(<列名序列>)例:UNIQUE(SNO,CNO)•用于限制在一个列中不能有重复的值。•用在事实上具有惟一性的属性列上,比如每个人的身份证号码、驾驶证号码等均不能有重复值。•注意:•允许有一个空值;•在一个表中可以定义多个UNIQUE约束;•可以在一个列或多个列上定...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

SQL数据库_创建表与完整性约束

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部