当前位置:首页 > 实验三 创建和修改数据表
Ssex Sbir Char(2) Datetime 性别 出生日期
Class表 字段名称 数据类型 Clno Tno Dno Clname Char(6) Char(5) Char(4)
Course表 字段名称 Cno Ctno Cname Cinfo Ccredits Ctime Cpno Cterm SC 字段名称 Sno CNO Score
数据类型 Char(5) Char(5) 说明 学号 课程编号 约束 备注 PF PF 数据类型 Char(5) Char(2) 说明 课程编号 约束 备注 P 说明 班级编号 教师编号 院系编号 约束 备注 P F F 前2位标别该学生入学年份,后4位为序列号,例如030001表示03年入学的第0001个班 Varchar(30) 班级名称 课程类型编码 F Varchar(50) 课程名称 Varchar(50) 课程介绍 Varchar(5) 学分 Numeric(3,0) 总学时 Char(5) Char(11) 先修课程 学期 Numeric(3,1) 成绩 [思考题] 什么是临时表?
什么是数据完整性?关系数据库有几类完整性?怎么通过SQL Server来实现?
实验四 表的维护
[目的与意义]
熟练掌握用企业管理器修改表;
能够运用T-SQL语句对表结构进行修改; 熟练掌握用企业管理器编辑表中的数据;
能够运用T-SQL语句对表中的数据进行插入、修改和删除操作。 [实验内容]
1.使用企业管理器为表Student增加一列。
字段名称 Address 数据类型 说明 约束 Null Varchar(30) 地址 2. 用SQL语句修改表course的列属性,将Cname的长度改为40,且不允许空。 Use SM
Alter table course alter column cname varchar(40) not null
3. 用SQL语句向表Student中增加列Email,且要求输入的电子邮件地址必须包
括“@”字符 Use sm
Alter table student add email varchar(40) null constraint ck_ea check(email like ‘%@%’)
4. 用SQL语句删除表Student中的列Address Use sm
Alter table student drop column address
5. 用SQL语句给表student中的sname添加主键约束 Use sm
Alter table student add constraint pk_name primary key(sname) 6. 删除Sname列上的主键约束 Use sm
Alter table student drop constraint pk_name 7. 使用with nocheck子句
对表student的Sage列添加约束,使学生的年龄为18-25岁。
Alter table student with nocheck add constraint ck_age check(sage>=18 and Sage<=25)
With nocheck只对以后改变或插入的行发生作用,而不检查已存在的行。 8. 使约束无效或重新有效
Alter table student nocheck constraint ck_ea Alter table student check constraint ck_ea 9. 使用企业管理器编辑表Student中的数据
(1) 启动企业管理器,展开sm数据库,选择“表”,用鼠标右键单击右侧窗口中要编辑的表节点“student”,在弹出的快捷菜单中选择“打开表”----“返回所有行”命令,打开“表中数据”对话框。
(2)插入一条记录(‘03007’,’030002’,’梁栋’,’男’,’1984-10-10’);如果要删除记录,可以单击记录第一列前的按钮,按delete键;如果要修改数据,可以将光标移至需要修改的地方,直接修改。
(3)编辑完毕,单击“关闭”按钮,保存编辑结果。 10. 用SQL语句向表中插入数据
(1)将学号为06001、姓名为王立、性别为男的学生记录插入表student中。 insert into student(sno,sname,ssex) values(‘06001’,’王立’,’男’) (2)将一条选课记录插入表sc中 Insert inot sc values(‘06001’,’00001’,null)
(3)在表student中插入一条学生记录,省略insert into后的列名,查看插入结果
Insert into student values(‘06002’,’060001’,’要强’,’男’,’1986-12-12’)
(4)新建一个表ss,且结构与表student的结构完全相同,把表student中学号为06001的记录插入到表ss中,再把表student中所有男生的记录插入到表ss中,查看执行结果
Insert into ss select * from student where sno=’06001’ Insert into ss select * from student where ssex=’男’ 11. 用SQL语句修改表中的记录 (1)将学生06002的年龄改为20岁 Update student set sage=20 where sno=’06002’ (2)将所有男生的年龄增加一岁
Update student set sage=sage+1 where ssex=’男’ (3)将所有选修了数字逻辑课程的学生的成绩加5分
Update sc set score=score+5 where cno=(select cno from course where cname=’数字
逻辑’
12. 用SQL语句删除表中的记录 (1)删除学号为06001的记录 Delete from student where sno=’06001’ (2)删除所有学生的选课记录 Deleter from sc [思考题]
如果一个表被其他表通过外码约束引用,应该怎样删除?
对于表student,分别执行drop table student和delete student两条命令,结果有什么不同?
共分享92篇相关文档