表的操作约束文档格式.docx
- 文档编号:6359568
- 上传时间:2023-05-06
- 格式:DOCX
- 页数:11
- 大小:18.41KB
表的操作约束文档格式.docx
《表的操作约束文档格式.docx》由会员分享,可在线阅读,更多相关《表的操作约束文档格式.docx(11页珍藏版)》请在冰点文库上搜索。
9
【例8-11】在数据库“STUDENT1”下创建“成绩表(SCORE)”,表结构如表8-2所示。
列名
数据类型
是否允许为空值
定长字符(char)
课程号
3
成绩
整数型(tinyint)
1
学分
▪USESTUDENT1
▪GO
▪CREATETABLESCORE
▪
(学生号char(7)NOTNULL,
▪课程号char(3)NOTNULL,
▪成绩tinyint,
▪学分tinyint,
▪PRIMARYKEY(学生号,课程号)
▪)
【例8-12】创建一个学生信息表(XSS),包括姓名、学号、性别字段。
其中输入性别字段值时,只能接受“男”或者“女”,而不能接受其他数据。
▪CREATETABLEXSS
(学号char(12)PRIMARYKEY,
▪姓名char(8),
▪性别char
(2)CONSTRAINTchk_sexCHECK(性别in('
男'
'
女'
)
修改表
【例8-13】在学生表中修改“姓名”字段的属性,使该字段的数据类型为varchar(50),允许为空。
▪ALTERTABLE学生
▪ALTERCOLUMN姓名varchar(50)NULL
【例8-14】在学生信息表XSS中添加“年龄”字段,数据类型为整型,可以为空。
▪ALTERTABLEXSS
▪ADD年龄int
【例8-15】删除学生信息表XSS中的“年龄”字段。
▪DROPCOLUMN年龄
列约束和表约束
MicrosoftSQLServer2005系统提供了5种约束类型,即PRIMARYKEY(主键)、FOREIGNKEY(外键)、UNIQUE、CHECK、DEFAULT约束。
1、创建和删除PRIMARYKEY(主键)约束
①定义表的同时设置主键约束
【例8-16】在“教学库”数据库中创建“学生”表,包括字段有:
学生号,姓名,性别、专业;
学生号为主键,
▪USE教学库
▪CREATETABLE学生
▪(学生号char(5)PRIMARYKEY,
▪姓名char(8)NOTNULL,
▪性别char
(2),
▪专业char(8)
【例8-17】在“教学库”数据库中创建“课程”表,包括字段:
课程号,课程名学分,其中课程号为主键。
▪CREATETABLE课程
▪(课程号char(4)PRIMARYKEY,
▪课程名char(10)NOUNULL,
▪学分int
【例8-18】在“教学库”数据库中创建“选课”表,包括字段:
学生号,课程号,成绩,其中学生号和课程号的组合为主键。
▪CREATETABLE选课
▪(学生号char(5),
▪课程号char(3),
▪成绩int,
▪CONSTRAINTpk_jsPRIMARYKEY(学生号,课程号)
▪)
②使用ADDCONSTRAINT子句添加约束
【例8-19】先在“教学库”数据库中创建表XS,然后通过修改表,对学号字段创建PRIMARYKEY约束,并由系统自动创建聚集索引。
▪CREATETABLEXS
▪(学号char(6)NOTNULL,
▪姓名char(8)NOTNULL,
▪身份证号char(20),
▪性别bitNOTNULL
▪ALTERTABLEXS
▪ADDCONSTRAINTph_xsPRIMARYKEYCLUSTERED(学号)
③删除PRIMARYKEY约束
【例8-20】删除“教学库”数据库中表XS的PRIMARYKEY约束ph_xs。
▪ALTERTABLEXS
▪DROPCONSTRAINTph_xs
2、创建和删除UNIQUE约束
①创建表时设置UNIQUE约束。
【例8-21】创建XS2表,主键约束创建在“学号”列上,要求“身份证号”列的数据是唯一的。
▪CREATETABLEXS2
▪(学号char(6)PRIMARYKEY,
▪身份证号char(20)CONSTRAINTuk_xs2UNIQUE,
②修改表时设置UNIQUE约束
【例8-22】修改XS表“身份证号”字段值唯一。
▪ADD
CONSTRAINTuk_xsUNIQUECLUSTERED(身份证号)
(3)删除UNIQUE约束
【例8-23】删除XS2表中创建的UNIQUE约束。
▪ALTERTABLEXS2
▪DROP
CONSTRAINTuk_xs2
3、创建和删除FOREIGNKEY约束
②利用CREATETABLE命令在创建表时定义外键约束
【例8-24】在数据库STUDENT1中创建一个学生成绩表(SC),包括:
学号(主键),课程代码,成绩,并为成绩表创建外键约束,该约束把“成绩”表中的“学生号”字段和学生表(S)中的“学生号”字段关联起来。
▪CREATETABLESC
▪(学生号char(12)CONSTRAINTxs_xh
▪FOREIGNKEYREFERENCESS(学生号),
▪课程号char(4),
▪成绩int)
③利用ALTER命令添加外键约束
【例8-25】将“教学库”数据库中学生表、课程表和选课表进行关联,学生表和课程表为主表,其中的学生号和课程号字段为主键,选课表为从表,将选课表的学生号和课程号字段定义为外键。
▪①USE教学库
▪ALTERTABLE选课
CONSTRAINTxs_foreign
FOREIGNKEY
(学生号)
REFERENCES学生(学生号)
▪②USE教学库
CONSTRAINTkc_foreign
(课程号)
REFERENCES课程(课程号)
④删除外键约束
【例8-26】删除例8-24创建的外键约束。
▪ALTERTABLESC
▪DROPCONSTRAINTxs_xh
▪GO
4、创建和删除CHECK约束
①利用SQL语句在创建表时创建CHECK约束
【例8-27】在STUDENT1数据库中创建表books,其中包含CHECK约束定义。
▪USESTUDENT1
▪CREATETABLEbooks
▪(
▪book_idsmallintPRIMARYKEY,/*书号*/
▪book_namevarchar(50)NOTNULL,/*书名*/
▪max_lvltinyintNOTNULLCHECK(max_lvl<
=250)
▪/*书允许的最高价CHECK约束*/
②利用SQL语句在修改表时创建CHECK约束
【例8-28】通过修改STUDENT1数据库的成绩表,增加成绩字段的CHECK约束。
▪ALTERTABLE成绩表
▪ADDCONSTRAINTcj_constraintCHECK
(成绩>
=0and成绩<
=100)
③利用SQL语句删除CHECK约束
【例8-29】删除例8-28创建的CHECK约束。
▪USEstudent
▪dropCONSTRAINTcj_constraint
5、创建和删除DEFAULT约束
(1)在创建表时定义默认值约束
【例8-30】先在“教学库”数据库中创建表XS1,定义一个“入学日期”字段的默认值为系统当前日期。
。
▪USE教学库
▪CREATETABLEXS1
▪(学号char(6)NOTNULL,
▪姓名char(8)NOTNULL,
▪专业名char(10)NULL,
▪性别bitNOTNULL,
▪出生时间smalldatetimeNOTNULL,
▪总学分tinyintNULL,
▪备注textNULL,
▪入学日期datetimeDEFAULTgetdate()/*定义默认值约束*/
▪)
(2)在修改表时定义默认值约束
【例8-31】修改XS1表,添加一字段AddDate,并为其设置默认值约束,默认值为当前日期。
▪USE教学库
▪ALTERTABLExs1
▪ADDAddDatesmalldatetimeNULL
▪CONSTRAINTAddDateDflt/*默认值约束名*/
▪DEFAULTgetdate()
(3)删除默认值约束
【例8-32】删除例8-31定义的默认值约束。
▪USE教学库
▪ALTERTABLEXS1
▪DROPCONSTRAINTAddDateDflt
表数据操作
1、输入数据
(1)利用SQLServer管理控制台输入数据:
①在“对象资源管理器”窗口中,展开数据库和表,右键单击表名,弹出快捷菜单,选择“打开表”
②出现一个空表,如左图所示。
输入数据,如右图所示。
(2)利用Transact-SQL中的命令完成数据插入。
【例8-33】在STUDENT1数据库的学生信息(XSS)表中插入一行数据(学号、姓名、性别)。
▪USESTUDENT
▪INSERTintoXSS(学号,姓名,性别)
▪VALUES('
112'
杨丽'
2、修改表中的数据
(1)使用SQLServerManagementStudio修改数据
在SQLServerManagementStudio中,选择相应的表,鼠标右击后,在弹出的快捷菜单中选择“打开表”命令,出现表数据窗口,在该窗口中,可以直接对数据进行修改操作。
(2)利用T-SQL中的命令完成对数据的修改
【例8-34】在STUDENT1数据库的学生信息(XSS)表中的“性别”字段的值设为“男”。
▪UPDATEXSS
▪SET性别='
【例8-35】在STUDENT1数据库的学生表中添加一字段“备注”varchar(20);
“备注”字段信息为'
已毕业'
。
▪①USESTUDENT1
▪ALTERTABLES
▪Add备注varchar(20)
▪②UPDATE学生
▪SET备注='
【例8-36】在学生信息(XSS)表中,将学号为‘112’的学生姓名改为“王武”
▪SET姓名='
王武'
▪WHERE学号='
3、删除数据
【例8-37】删除学生信息(XSS)表中,将学号为‘112’的学生记录删除。
▪DELETEXSS
▪WHERE学号='
(3)使用TRUNCATETABLE清空表格
【例8-38】清空学生信息(XSS)表中的数据
▪TRUNCATETABLEXSS
删除表
【例8-39】删除学生信息(XSS)表
▪DROPTABLEXSS
数据库数据导入
【例8-40】将一个excel文件导入到STUDENT1数据库中。
▪具体操作步骤:
▪
(1)在“对象资源管理器”中,展开数据库,右键单击要导出数据所在的数据库,弹出快捷菜单,选择“任务”级联菜单中的“导入数据”出现SqlServer导入导出向导-欢迎使用导入导出向导。
▪
(2)单击“下一步”按钮,出现“选择数据源”对话框,选择数文件格式,文件路径。
▪(3)单击“下一步”按钮,出现“选择目标”对话框,选择数据库。
▪(4)单击“下一步”按钮,出现“制定表复制或查询”对话框,选中“复制一个或多个表或视图的数据”
▪(5)单击“下一步”按钮,出现“保存并执行”对话框。
▪(6)单击“下一步”按钮,出现“完成该向导”对话框。
▪(7)单击“下一步”按钮,出现“正在执行向导”对话框。
▪(8)执行成功出现对话框。
单击“关闭”按钮,数据导入完成。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 操作 约束