创建数据表修改数据表和删除数据表
成绩 |
实验2 创建数据表修改数据表和删除数据表
实验类型:●验证性实验 ○综合性实验 ○设计性实验
实验目的:
(1)了解数据表的结构特点。
(2)掌握表中列定义时所用到的各种数据类型。
(3)学会使用企业管理器(即MSSMS-----Microsoft SQL Server Management Studio的对象资源管理器的菜单-会话窗方式)创建表、修改表、删除表、向表中插入数据、修改表数据、删除表数据。
(4)学会使用Transact-SQL语句创建表、修改表、删除表、向表中插入数据、修改表数据、删除表数据。
实验内容和步骤:
认真阅读并掌握实验指导书《SQL Server 2012 数据库基础及应用》第56-82页关于表操作的菜单式操作和表操作T_SQL语句指令及其参数的含义。参照实验指导书的例题完成以下实验子项目。
1.学会表的设计、掌握表的构成要素、表的列级约束、表的表级约束及表结构的列表描述---逻辑刻画;使用MSSMS的对象资源管理器以菜单命令方式创建student表、course表、average表、user表(见《SQL Server 2012 数据库基础及应用》第62页-第66页)
2.在查询窗口使用CREATE TABLE语句创建T_student表、T_course表、T_average表、T_user表,这些表的结构和内容分别与student表、course表、average表、user表相同(相关Transact-SQL命令书写语法格式见实验指导书第67页)
3.使用企业管理器MSSMS修改student表的结构(实验指导书第68页-第70页)。
4.在查询窗口使用ALTER TABLE语句修改表的结构(实验指导书第70页-第72页)。
5. 使用MSSMS企业管理器删除表(实验指导书第73页)。
6. 在查询窗口使用DROP TABLE 语句删除表(实验指导书第73-74页),试验DROP TABLE能否使用参数Cascade/Restricte实现级联/限制删除;思考在SQL Server 中实施删除表系统会不会删除依赖该表的依赖对象---如依赖被删表的索引、依赖被删表的表、依赖被删表的触发器和约束是否会被删除。
7. 使用MSSMS企业管理器练习向student表中录入数据(第74-75页)。
8. 在查询窗口使用 insert语句向student表中插入记录(第76-77页)。
9.使用MSSMS企业管理器修改student表中“s_sex”字段的内容(第78页)。
10. 在查询窗口使用UPDATE语句修改student表的内容,把系别字段s_dept值为“计算机科学与技术系”改为“计科系”(第79-80页)。
11.使用MSSMS企业管理器删除student表中第二条记录(第80页)。
12. 在查询窗口使用delete语句删除student表中“s_name”为“龙轩婷”的记录(第81-82页)。
实验报告: 根据实验情况和结果撰写并递交实验报告。把你的所有实验过程进行截图记录在实验报告中,并配上必要的文字说明。
实验总结(学会了......; 掌握了......; 训练了......; 发现了......; 今后学习中......有待提高。)
1.使用MSSMS的对象资源管理器以菜单命令方式创建表。
2.在查询窗口使用CREATE TABLE语句创建表。(我在两个数据库中建立表,名称不冲突,故使用的还是1.的表名称)
3.用MSSMS修改表
图9 MSSMS修改表名图
图10 MSSMS找寻设计表界面
图13 MSSMS修改表属性界面
4.在查询窗口使用ALTER TABLE 语句修改表属性
5.使用MSSMS企业管理器删除表
图17 使用MSSMS企业管理器删除表界面
6.在查询窗口使用DROP TABLE 语句删除表
图18 在查询窗口使用DROP TABLE 语句删除表界面
思考:
在SQL中,DROP TABLE语句可以使用参数 CASCADE 和 RESTRICT 来实现级联删除或限制删除。然而,具体支持和行为可能因数据库管理系统(DBMS)的不同而有所差异。
SQL Server 中的 DROP TABLE
在SQL Server中,DROP TABLE 语句本身并不直接支持 CASCADE 或 RESTRICT 参数。然而,SQL Server在处理删除表时确实会考虑依赖关系。
1)默认行为:
如果尝试删除一个表,而该表被其他对象(如视图、外键约束、索引、触发器等)依赖,SQL Server 会返回一个错误,并阻止删除操作。
例如,如果有一个外键依赖于要删除的表,那么删除操作将失败,并提示依赖关系错误。
2)手动删除依赖对象:
在删除表之前,必须手动删除或修改所有依赖该表的对象。这包括:
删除依赖于该表的视图。
删除或重新创建依赖于该表的外键约束。
删除依赖于该表的索引。
删除依赖于该表的触发器。
删除依赖于该表的存储过程或函数(如果它们引用了该表)。
在SQL Server中,DROP TABLE 语句不支持 CASCADE 和 RESTRICT 参数,删除表时默认会考虑依赖关系并阻止删除,如果表被其他对象依赖。
在SQL Server中删除一个表之前,必须手动删除或修改所有依赖该表的对象。
7.使用MSSMS企业管理器练习向student表中录入数据
图19 使用MSSMS企业管理器练习向student表中录入数据界面
- 在查询窗口使用 insert语句向student表中插入记录
图20 使用 insert语句向student表中插入记录
- 使用MSSMS企业管理器修改student表中“s_sex”字段的内容
图21 使用MSSMS企业管理器修改student表中“s_sex”字段的内容
- 在查询窗口使用UPDATE语句修改student表的内容,把系别字段s_dept值为“计算机科学与技术系”改为“计科系”
图22 在查询窗口使用UPDATE语句修改student表界面
- 使用MSSMS企业管理器删除student表中第二条记录。
图23 使用MSSMS企业管理器删除student表一条记录界面
- 在查询窗口使用delete语句删除student表中“s_name”为“龙轩婷”的记录。
图24 在查询窗口使用delete语句删除student表中一条记录界面
实验总结:
通过本次实验,我学会了在SQL Server中设计表结构,掌握了表的构成要素、列级约束和表级约束,并能通过MSSMS对象资源管理器创建复杂的表结构,如student、course、average和user表。同时,我也能够熟练运用CREATE TABLE语句在查询窗口中创建这些表。
在实验中,我掌握了使用ALTER TABLE语句修改表结构的方法,并通过MSSMS企业管理器对表结构进行了实际操作。此外,我还学会了如何删除表,并了解到在SQL Server中删除表时,系统不会自动删除依赖该表的索引、触发器和约束等对象。
在数据操作方面,我能够使用MSSMS和INSERT语句向表中插入数据,使用UPDATE语句修改表内容,以及使用DELETE语句删除记录。
通过这次实验,我发现自己在数据库设计和优化方面还有待提高。今后,我将继续深入学习SQL Server的高级功能,提高数据库设计和管理的综合能力。