好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

SQL实验与练习题参考答案.doc

13页
  • 卖家[上传人]:M****1
  • 文档编号:389738425
  • 上传时间:2022-10-28
  • 文档格式:DOC
  • 文档大小:250KB
  • / 13 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 数据库原理与应用(SQL Server)练习题 - 13 - 实验1 数据库操作1.创建数据库:操作1.1:创建一个test数据库,其主数据文件逻辑名test_data,物理文件名test_data.mdf,初始大小10MB,最大尺寸为无限大,增长速度1MB;数据库日志文件逻辑名称为test_log,物理文件名为test_log.ldf,初始大小为1MB,最大尺寸为5MB,增长速度为10%参考答案:create database TestON primary( name = test_data, filename = 'd:\test\test_data.mdf', size = 5MB, maxsize = unlimited, filegrowth = 1MB)LOG ON( name = test_log, filename = 'd:\test\test_log.ldf', size = 1MB, maxsize = 5MB, filegrowth = 10%)GO2.查看数据库属性:操作1.2:使用T-SQL语句查看数据库test属性参考答案:EXEC sp_helpdb test3.删除数据库:操作1.3:使用T-SQL语句删除数据库test参考答案:drop database Test实验2 表操作1.创建表:操作2.1:创建学生表:表名:student说明:学生基本信息表属性列数据类型长度空值列约束说明st_idnVarChar9Not NullPK学生学号st_nmnVarChar8Not Null学生姓名st_sexnVarChar2Null学生性别st_birthdatetimeNull出生日期st_scoreintNull入学成绩st_datedatetimeNull入学日期st_fromnChar20Null学生来源st_dpidnVarChar2Null所在系编号st_mnttinyintNull学生职务参考答案:USE testGOCREATE TABLE student( st_id nVarChar(9) primary key NOT NULL , st_nm nVarChar(8) NOT NULL , st_sex nVarChar(2) NULL , st_birth datetime NULL , st_score int NULL , st_date datetime NULL , st_ from nVarChar(20) NULL , st_dpid nVarChar(2) NULL , st_ mnt tinyint NULL)GO操作2.2:创建课程信息表:表名:couse说明:课程信息表属性列数据类型长度空值列约束说明cs_idnVarChar4Not NullPK课程编号cs_nmnVarChar20Not Null课程名称cs_tmintNull课程学时cs_scintNull课程学分参考答案:USE testGOCREATE TABLE couse( cs_id nVarChar(4) primary key NOT NULL , cs_nm nVarChar(20) NOT NULL , cs_tm int NULL , cs_sc int NULL)GO操作2.3:创建选课表:表名:slt_couse说明:选课表属性列数据类型长度空值列约束说明cs_idnVarChar4Not NullFK课程编号st_idnVarChar9Not NullFK学生编号scoreintNull课程成绩sltdatedatetimeNull选课日期参考答案:USE testGOCREATE TABLE couse( cs_id nVarChar(4) NOT NULL , st_id nVarChar(9) NOT NULL , score int NULL , sltdate datetime NULL)GO操作2.4:创建院系信息表:表名:dept说明:院系信息表属性列数据类型长度空值列约束说明dp_idnVarChar2Not Null系编号dp_nmnVarChar20Not Null院系名称dp_drtnVarChar8Null院系主任dt_telnVarChar12Null联系参考答案:USE testGOCREATE TABLE dept( dp_id nVarChar(2) NOT NULL , dp_nm nVarChar(20) NOT NULL , dp_drt nVarChar(8) NULL , dp_tel nVarChar(12) NULL)GO2.修改表结构:(1)向表中添加列:操作2.5:为“dept”表添加“dp_count”列(数据类型为nvarchar,长度为3,允许为空)参考答案:ALTER TABLE dept ADD dp_count nvarchar(3) NULL(2)修改列数据类型:操作2.6:修改“dept”表的“dp_count”列数据类型为int参考答案:ALTER TABLE dept ALTER COLUMN dp_count int NULL(3)删除表中指定列:操作2.7:删除“dept”表的“dp_count”列参考答案:ALTER TABLE dept DROP COLUMN dp_count3.删除表操作2.8:删除“dept”表参考答案:DROP TABLE student4.向表中输入数据记录操作2.9:分别向“student”表、“couse”表、“slt_couse”表、“dept”表中输入数据记录实验3 数据完整性1.空值约束( NULL )操作3.1:将student表中的st_sex列属性更改为NOT NULL参考答案:ALTER TABLE student ALTER COLUME st_nm nVarChar(8) NOT NULL2.默认值约束( DEFAULT )操作3.2:将student表中的st_from列默认值设置为“陕西省”参考答案:ALTER TABLE student ADD DEFAULT '陕西省' FOR st_from3.默认值对象操作3.3:创建默认值对象df_today为当前日期,并将其绑定到slt_couse表中的sltdate列,然后取消绑定,最后删除默认值对象df_today。

      参考答案:CREATE DEFAULT df_today AS Getdate( )GOEXEC sp_bindefault df_today, 'slt_couse.sltdate'GOEXEC sp_unbindefault 'slt_couse.sltdate'GODROP DEFAULT df_todayGO4.检查约束( CHECK )操作3.4:将slt_couse表中的score列的检查约束设置为>=0且<=100参考答案:ALTER TABLE slt_couse ADD CHECK (score>=0 AND score<=100)5.规则约束对象操作3.5:创建规则约束对象rl_sex,用于检查性别的取值仅限于“男”和“女”,并将其绑定到student表中的st_sex列,然后取消绑定,最后删除规则约束对象rl_sex参考答案:CREATE RULE rl_sex AS @chksex ’男’ OR @chksex=’女’或CREATE RULE rl_sex AS @chksex IN (’男’, ’女’)GOEXEC sp_bindrule rl_sex, 'student.st_sex'GOEXEC sp_unbindrule 'student.st_sex'GODROP RULE rl_sexGO6.主键操作3.6:将dept表中的dp_id列设置为主键参考答案:ALTER TABLE dept ADD PRIMARY KEY (dp_id)7.唯一性约束( UNIQUE )操作3.7:将dept表中的dp_nm列设置为唯一性约束参考答案:ALTER TABLE dept ADD UNIQUE (dp_nm)8.标识列操作3.8:向slt_couse表中添加标识列id,第1行默认值为1,相邻两个标识列间的增量为1参考答案:ALTER TABLE slt_couse ADD id INT IDENTITY(1,1) NOT NULL9.外键( FOREIGN KEY )操作3.9:被参照表为dept,参照表为student参考答案:ALTER TABLE studentADD FOREIGN KEY (st_dpid) REFERENCES dept(dp_id)实验4 数据更新1.表中插入数据操作4.1:向dept表插入一条记录,系号11,系名自动控制系,系主任为李其余,81234567INSERT INTO dept VALUES('11', '自动控制系', '李其余', '81234567')操作4.2:向student表插入一条记录,学号070201001,姓名为王小五,性别为男,出生日期为1990年9月9日,系号为11,其余字段为NULL或默认值INSERT INTO student(st_id, st_nm, st_sex, st_birth, st_dpid)VALUES ('070201001', '王小五', '男', '1990.9.9', '11' )操作4.3:向couse表插入一条记录,课程号1234,课程名为操作系统,其余字段为NULL或默认值INSERT INTO couse(cs_id, cs_nm) VALUES ('1234', '操作系统')操作4.4:向slt_couse表插入一条记录,课程号1234,学名070201001,其余字段为NULL或默认值INSERT INTO slt_couse(cs_id, st_id) VALUES ('1234', '070201001')2.修改表中数据操作4.5:修改student表记录,将王小五的入学。

      点击阅读更多内容
      相关文档
      云南省红河州河口县语文二年级下学期期末试题+2020-2021学年.pdf 八年级生物开学摸底考(人教版)(答题卡).pdf 云南省文山州砚山县数学四年级下学期期末试题 2020-2021学年 (2).pdf 八年级生物开学摸底考(辽宁专用)(答题卡).pdf 八年级生物开学摸底考(海南专用)(答题卡).pdf 云南省昆明市五华区数学四年级第二学期期末考试 2020-2021学年.pdf 八年级生物开学摸底考(南京专用)(答题卡).pdf 八年级生物开学摸底考(湖南专用)(答题卡).pdf 云南省德宏州语文五年级下学期期末试题 2020-2021学年答案zq.pdf 八年级生物开学摸底考(武汉专用)(答题卡).pdf 2022年盐城市中考化学试卷答案.pdf 云南省德宏州语文四年级下学期期末试题 2020-2021学年.pdf 云南省德宏州数学四年级下学期期末试题 2020-2021学年.pdf 云南省德宏州数学五年级下学期期末试题 2020-2021学年数学答案zq.pdf 八年级生物开学摸底考(福建专用)(答题卡).pdf 八年级生物开学摸底考(全国通用)(答题卡).pdf 八年级生物开学摸底考(广西专用)(答题卡).pdf 八年级生物开学摸底考(广州专用)(答题卡).pdf 云南省昆明市盘龙区数学四年级第二学期期末考试 2020-2021学年.pdf 云南省昆明市盘龙区语文二年级第二学期期末考试 2020-2021学年(人教部编版无答案PDF).pdf
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.