《SQL Server实用教程实验3 表数据插入修改和删除.docx》由会员分享,可在线阅读,更多相关《SQL Server实用教程实验3 表数据插入修改和删除.docx(6页珍藏版)》请在三一办公上搜索。
1、实验3表数据插入、修改和删除in1、目的与要求(1)学会在对象资源管理器中对数据库表进行插入、修改和删除数据操作。(2)学会使用T-SQL语句对数据库表进行插入、修改和删除数据操作。(3)了解数据更新操作时要注意数据完整性。2、实验内容(1)实验题目。分别使用对象资源管理器和T-SQL语句,向在实验2中建立的数据库YGGL 的三个表Employees、Departments和Salary中插入多行数据记录,然后修改和 删除一些记录。使用T-SQL语句进行有限制的修改和删除。(2)实验准备首先,了解对表数据的插入、删除、修改都属于表数据的更新操作。对表数 据的操作可以再对象资源管理器中进行,也可
2、以由T-SQL语句实现。其次,要掌握T-SQL中用于对表数据的插入、删除和修改的命令分别是 INSERT、DELETE和UPDATE.另外还可以使用MERGE语句根据在一个表中找到的差 异在另一个表中插入、更新和删除行,可以对两个表进行信息同步。要特别注意 的是:在执行插入、修改、删除等数据更新操作室,必须保证数据完整性。此外,还要了解使用T-SQL语句在对表数据进行插入、修改以及删除时,比 在对象资源管理器中操作表数据更为灵活,功能更强大。在实验2中,用于实验的YGGL数据库中的3个表已经建立,现在要将各表的样 本数据添加到表中。样本数据如表T3.1、表T3.2和表T3.3所示。3、实验步骤
3、(1)在对象资源管理器中初始化数据库YGGL中所有表的数据。 在对象资源管理器中展开数据库YGGL节点,选择要进行操作的表 employees,右击鼠标,在弹出的快捷菜单上选择“编辑前200行”菜单项, 进入“表数据窗口”。在此窗口中,表中的记录按行显示,每个记录占一行。用户可通过“表数据窗口” 向表中加入表T3.1中的记录,输完一行记录后将光标移到下一行即保存了上一 行记录。 用同样的方法向Departments和Salary表中分别插入表T3.2和T3.3中 的记录。注意:插入的数据要符合列的类型。试着在tinyint型的列中插入字符型数据 (如字母),查看发生的情况。 bit类型的列在用
4、界面方式插入数据时只能插入True或False。True表 示1, False表示0。不能插入两行有相同主键的数据。例如,如果编号为000001的员工信息 已经在Employees中存在,则不能向Employees表中再插入编号为000001的数 据行。【思考与练习】将3个样本数据表中的数据都存入到数据库YGGL的表中。(2)在对象资源管理器中修改数据库YGGL中的表数据。在对象资源管理器中删除表employees的第1行和Salary的第1行。注 意进行删除操作时作为两表主键的EmployeeID的值,以保证数据完整性。方法:在对象资源管理器中选择表employees,右击鼠标,在弹出的快捷
5、菜单中 选择“编辑前200行”菜单项,在打开的“表数据”窗口中选中要删除的行,右 击鼠标,在弹出的快捷菜单中选择“删除”菜单项。Salary表中数据删除方法相同。在对象资源管理器中将表employees中编号为020018的记录的部门号改成 4。方法:在对象资源管理器中右击表employees,选择“编辑前200行”菜单项, 在“表数据”窗口中将光标定位全编号为020018的记录的DepartmentID字段, 将1改成4。将光标移出本行既保存了修改。(3)使用T-SQL命令插入表数据。向表Employees中插入步骤(2)中删除的一行数据,在“查询分析器” 窗口中输入以下T-SQL语句:单击
6、快捷工具栏的“!执行”按钮,执行上述语句,在验证操作是否成功时, 可以在对象资源管理器中打开Employees表观察数据的变化。向表Salary插入步骤(2)中删除的一行数据。【思考与练习】INSERT INTO语句还可以通过SELECT子句来添加其他表中 的数据,但是SELECT子句中的列要与添加表的列数目和数据类型都一一对应。 假设有另一个空表Employees2,结构和Employees表相同,使用INSERT INTO 语句将Employees表中数据添加到Employees2中。语句如下: 查看Employees2表中的变化。(4)使用SQL命令语句修改表数据。使用SQL命令修改表S
7、alary中某个记录的字段值:GIS06SQLEI. . . Querr3. sql* 表-dbo. EmployeesW Xj.?dd.Te salary 35T nsoine=230O wriere emLoyeEZD= 1 2 2 2 2 2 _ 1压结果命令已成功完成口 执行上述语句,将编号为000001职工收入改为3000.将所有职工收入增加100:执行完上述语句,打开Salary表查看数据的变化。可见,使用SQL语句操作表 数据比在界面管理工具中操作表数据更为灵活 使用SQL命令删除表Employees中编号为000001的职工信息: 删除所有女性员工信息:GIS06SQLEX.
8、. . Query6. sql*表-dbu. EmployeesdeleTe f*. employeesm已x3_J结果命令已成功完成。I 使用TRANCATE TABLE语句删除表中所有行:GIS06VSQLEX.Query?, sql*GIS06VSQLEX.Querji. sql*ZABZZ 己己Lary_J消息命令已成功完成。执行上述语句,将删除Salary表中所有的行。 创建一个employees3表,使用MERGE语句使Employees3表中的数据和Employees表中的数据同步。鸟结果命令已成功完成when matchedthen update set eiriloyeesS
9、 . nam.e=employee3 . nameEnnployee33 . eduestion= employees . EducstionfeinployeesS . woxkyear= employees . woxkyeareinployeesS . addre3s= einloyees address,.employeesS . pho ne nTjmib e r = Eiriployees . phone mounter FemployeesS . departm.entid= ernployee3 - department idwhen not matchedthen inser
10、t values ( encloyees employeeidf employees . nam.e,r eirloyees educatienloyees . birthdayf einployees sex eirloyees .workyear fernployee - addre33f employees -phonenJiiriber femployee3-departmentidjwhen not matched by sourcethen delete;GIS06SQLEI. . . QueryS. sql* CTSOBySULExT . Query?. sql* | GIS06SQLElC . Query6. sql*MERGE INTO EmployeesS use!ng ErrloyEes on 已匹loy已已己3 . eirployeeid.=Eirployee3 - eiriployeeidEimployeesS . birthday=Eiinploye&3 - birthday employeesS - sex= eiriployees . sexf4.思考与练习使用INSERTUPDATE语句将实验三中所有对表的修改回复到原来的状态以 方便在以后的实验中使用。