数据库3 表记录的插入、修改和删除

一、内容

为YGGL 数据库数据表Employees、Departments和Salary加入记录,使用“对象资源管理器”和T-SQL语句配合,向YGGL数据库的三个表中插入多行数据记录,然后修改和删除一些记录。样本数据分别如下表所示。

表1Employees表数据

工号

姓名

学历

出生日期

性别

工作年限

地址

电话号码

部门号

010002

王林

大专

1966-01-23

1

8

五一路32-1-508

83355668

2

020013

张兵

硕士

1982-12-09

1

2

八一路166-4-102

83414282

1

020018

李丽

大专

1960-07-30

1

2

八一路166-4-102

84232283

1

102201

刘明

本科

1972-07-30

1

2

八一路166-4-102

84232283

5

102208

朱俊

硕士

1960-07-30

1

2

中山西路102-4

84232283

5

108991

钟敏

硕士

1960-07-30

0

4

中山西路102-4

84232283

3

111006

张勇

本科

1960-07-30

1

2

中山西路102-4

84232283

5

210678

林义

大专

1960-07-30

1

2

中山西路102-4

84232283

3

302566

陈平

本科

1960-07-30

1

3

中山西路102-4

84232283

4

504209

王芳

大专

1960-07-30

0

5

中山西路102-4

84232283

4

表2 Deparments表数据

部门编号

部门名称

备注

1

财务部

Null

2

人力资源部

Null

3

经理办公室

Null

4

研发部

Null

5

市场部

Null

表3Salary表

员工编号

收入

支出

000001

2100.8

123.09

010008

1582.62

88.03

102201

2569.88

185.65

504209

1987.01

79.58

203566

2980.7

210.2

108991

3259.98

281.52

020010

2860.0

798.0

020018

2347.68

180.0 

308759

2531.98

199.08

210678

2240.0

121.0

102208

1980.0

100.0

二、准备

(1)了解在“对象资源管理器”中和使用T-SQL加入表记录的方法,比较优缺点。

(2)掌握T-SQL中对表数据记录进行插入、修改和删除的命令INSERT、UPDATE和DELETE(或TRANCATE TABLE)。

要特别注意的是:在执行插入、修改、删除等数据更新操作时,必须保证数据完整性。

三、步骤

(1)使用界面初始化数据库YGGL中所有表的数据。

①在“对象资源管理器”中展开“数据库”→“YGGL”节点,选择要进行操作的表“Employees”,右击鼠标,在弹出的快捷菜单上选择“编辑前200行”菜单项,进入“表数据”窗口。

在此窗口中,表中的记录按行显示,每个记录占一行。用户可通过“表数据”窗口向表中加入表中的记录,输完一行记录后将光标移到下一行即保存了上一行记录。

                

②用同样的方法向Departments表和Salary表中分别插入表中的记录。

1.向Departments表中插入表中的记录:   

                                  

2.向Salary表中插入表中的记录:

                 

(2)使用界面修改数据库YGGL中的表数据。

①在“对象资源管理器”中删除表Employees的第1行和表Salary的第1行。

方法如教材271页所示。

1.删除表Employees的第1行:

        ​​​​​​​        

        ​​​​​​​         

2.删除表Salary的第1行:

        ​​​​​​​        

                 

②在“对象资源管理器”中将表Employees中员工编号为020018的记录的部门号改为4。方法如教材所示。

        ​​​​​​​        

(3)使用T-SQL命令插入表数据。

①向表Employees中插入一行数据记录,在“查询分析器”窗口中输入以下T-SQL语句:

USE YGGL

GO

INSERT INTO Employees VALUES('010002','王林','大专','1966-01-23',1,8,'五一路32-1-508','83355668',2)

单击快捷工具栏上的“!执行”按钮,执行上述语句,在验证操作是否成功时,可以在“对象资源管理器”中打开Employees表观察数据的变化。

1.执行:

                ​​​​​​​        

2.表中数据:

        ​​​​​​​         

②向表Salary插入一行数据记录:

INSERT INTO Salary(EmployeeID,InCome,OutCome)

VALUES ('010002','2100.8','123.09')

        ​​​​​​​        

         ​​​​​​​        

(4)使用T-SQL语句修改表数据。

①使用T-SQL命令修改表Salary中某个记录的字段值,语句如教材所示,执行语句,将员工编号为010002的职工收入改为2890。

        ​​​​​​​        

                 

②将所有职工收入增加100,执行完语句,打开Salary表查看数据的变化。可见,使用SQL语句操作表数据比在界面管理工具中操作表数据更为灵活。

        ​​​​​​​        

                 

③使用命令删除表Employees中员工编号为010002的职工信息。

        ​​​​​​​        

                 

④删除所有女性员工信息。

        ​​​​​​​        

                 

⑤使用TRUNCATE TABLE语句删除表中所有行。

        ​​​​​​​        

                 

四、练习

(1)INSERT INTO语句还可以通过SELECT子句来添加其他表中的数据,但是SELECT子句中的列要与添加表的列数目和数据类型都一一对应。假设有一个空表Employees2,结构和表Employees表相同,使用INSERT INTO语句将表Employees表中数据添加到Employees2中。

        ​​​​​​​        

                 

 

(2)使用INSERT、DELETE和UPDATE语句将所有表修改到表1~3状态一致,方便在以后的实验中使用。

1.使用INSERT、DELETE和UPDATE语句修改Employees

        ​​​​​​​        

                 

2.使用INSERT、DELETE和UPDATE语句修改Departments

                 

 

3.使用INSERT、DELETE和UPDATE语句修改Salary

还原所有员工的收入:

        ​​​​​​​        

还原员工编号为010002员工的收入:

        ​​​​​​​        

                 

 

将Salary中删除的第一行插入:

        ​​​​​​​        

 

        ​​​​​​​        ​​​​​​​        

可以使用MySQL触发器来实现当一个发生插入或更新,将数据同步到另一张表中的功能。触发器是在执行INSERT、UPDATE或DELETE语句自动执行的一段程序。以下是一个简单的例子: 假设我们有两个,一个是employees,另一个是employee_audit。当employees发生插入或更新,我们需要将数据同步到employee_audit表中。 首先,我们需要在employee_audit表中创建一个与employees相同的结构。然后,我们可以使用以下代码创建一个触发器: ``` CREATE TRIGGER sync_employee_audit AFTER INSERT ON employees FOR EACH ROW BEGIN INSERT INTO employee_audit (employee_id, name, age, salary) VALUES (NEW.employee_id, NEW.name, NEW.age, NEW.salary); END; ``` 这个触发器会在employees表中插入一行数据自动执行。它会将插入的数据同步到employee_audit表中。 同样,我们可以创建一个类似的触发器来处理employees的更新操作: ``` CREATE TRIGGER sync_employee_audit AFTER UPDATE ON employees FOR EACH ROW BEGIN UPDATE employee_audit SET name = NEW.name, age = NEW.age, salary = NEW.salary WHERE employee_id = OLD.employee_id; END; ``` 这个触发器会在employees表中更新一行数据自动执行。它会将更新的数据同步到employee_audit表中。 需要注意的是,当使用触发器,需要确保数据库的性能不会受到影响。如果数据量很大,可能需要使用其他技术来处理数据同步。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张先森a

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值