【实验的sql脚本】
DROP TABLE IF EXISTS employees;
DROP TABLE IF EXISTS departments;
DROP TABLE IF EXISTS salary;
-- 员工信息表(Employees)
CREATE TABLE Employees (
sno char(6) NOT NULL,
sname varchar(10) NOT NULL,
edu varchar(20) DEFAULT NULL,
bir datetime NOT NULL,
ssex bit(1) NOT NULL,
work char(2) DEFAULT NULL,
address char(20) DEFAULT NULL,
tel char(12) DEFAULT NULL,
dno char(3) NOT NULL,
PRIMARY KEY (sno)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
-- 部门信息表(Departments)
CREATE TABLE departments (
dno char(3) NOT NULL DEFAULT '',
dname char(20) NOT NULL,
remarks text,
PRIMARY KEY (dno)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
-- 员工薪水信息表(Salary)
CREATE TABLE salary (
sno char(6) NOT NULL DEFAULT '',
income float(8,2) NOT NULL,
outcome float(8,2) NOT NULL,
PRIMARY KEY (sno)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;
-- 插入Employees表数据;
INSERT INTO Employees VALUES ('000001', '王林', '大专', '1966-01-23 00:00:00', 1, '8', '中山路32-1-508', '83355668', '2');
INSERT INTO Employees VALUES ('010008', '伍容华', '本科', '1976-03-28 00:00:00', 1, '3', '北京东路100-2', '83321321', '1');
INSERT INTO Employees VALUES ('020010', '王向容', '硕士', '1982-12-09 00:00:00', '1', '2', '四牌楼10-0-108', '83792361', '1');
INSERT INTO Employees VALUES ('020018', '李丽', '大专', '1960-07-30 00:00:00', 0, '6', '中山东路102-2', '83413301', '1');
INSERT INTO Employees VALUES ('102201', '刘明', '本科', '1972-10-18 00:00:00', 0, '3', '虎踞路100-2', '83606608', '5');
INSERT INTO Employees VALUES ('102208', '朱俊', '硕士', '1965-09-28 00:00:00', 0, '2', '牌楼巷5-3-106', '84708817', '5');
INSERT INTO Employees VALUES ('108991', '钟敏', '硕士', '1979-08-10 00:00:00', 0, '4', '中山路10-3-105', '83346722', '3');
INSERT INTO Employees VALUES ('111006', '张石兵', '本科', '1974-10-01 00:00:00', 1, '1', '解放路34-1-203', '84563418', '5');
INSERT INTO Employees VALUES ('210678', '林涛', '大专', '1977-04-02 00:00:00', 1, '2', '中山北路24-35', '83467336', '3');
INSERT INTO Employees VALUES ('302566', '李玉珉', '本科', '1968-09-20 00:00:00', 1, '3', '热和路209-3', '58765991', '4');
INSERT INTO Employees VALUES ('308759', '叶凡', '本科', '1978-11-18 00:00:00', 1, '2', '北京西路3-7-52', '83308901', '4');
INSERT INTO Employees VALUES ('504209', '陈林琳', '大专', '1969-09-03 00:00:00', 0, '5', '汉中路120-4-12', '84468158', '4');
-- 插入Departments表数据;
INSERT INTO Departments VALUES ('1', '财务部', null);
INSERT INTO Departments VALUES ('2', '人力资源部', null);
INSERT INTO Departments VALUES ('3', '经理办公室', null);
INSERT INTO Departments VALUES ('4', '研发部', null);
INSERT INTO Departments VALUES ('5', '市场部', null);
-- 插入Salary表数据;
INSERT INTO Salary VALUES ('000001', '2100.8', '123.09');
INSERT INTO Salary VALUES ('010008', '1582.62', '88.03');
INSERT INTO Salary VALUES ('020010', '2860.0', '198.0');
INSERT INTO Salary VALUES ('020018', '2347.68', '180.0');
INSERT INTO Salary VALUES ('102201', '2569.88', '185.65');
INSERT INTO Salary VALUES ('102208', '1980.0', '100.0');
INSERT INTO Salary VALUES ('108991', '3259.98', '281.52');
INSERT INTO Salary VALUES ('111006', '1987.01', '79.58');
INSERT INTO Salary VALUES ('210678', '2240.0', '121.0');
INSERT INTO Salary VALUES ('302566', '2980.7', '210.2');
INSERT INTO Salary VALUES ('308759', '2531.98', '199.08');
INSERT INTO Salary VALUES ('504209', '2066.15', '108.0');
【实验步骤】
1 创建的YGGL数据库
创建用于管理的员工管理数据库,数据库名为YGGL,包含员工的信息、部门信息以及员工的薪水信息。
数据库YGGL包含下列3个表:
(1) Employees;员工信息表。
(2) Department:部门信息表。
(3) Salary;员工薪水情况表。
2 在YGGL中分别创建表 Employees、Departments和 Salary
在管理器中选择数据库YGGL-->在YGGL上单击鼠标右键-->新建-->表时输入Employees表各字段信息则单击保存图标叫输入表名 Employees,即创建了表 Employees。按同样的操作过程创建表Departments和Salary。
3 创建各表的结构
表1 员工信息表(Employees)
表2 部门信息表(Departments)
表2.3 员工薪水信息表(Salary)
4 向各表中填入数据
表2.1 员工信息表(Employees)数据样本
表2.2 部门信息表(Departments)数据样本
表2.3 员工薪水信息表(Salary)数据样本
5 修改表数据
(1) 分别删除员工信息表和员工薪水信息表的第一行记录
删除前:
点击yggl中的查询,点击新建查询,输入以下sql语句,点击运行:
delete from employees where sno=000001;
delete from salary where sno=000001;
删除后:
(2) 将员工信息表中编号为020018的职工的部门号改为4
修改前:
点击yggl中的查询,点击新建查询,输入以下sql语句,点击运行:
Update employees set dno=4 where sno=’020018’;
6
(1) 使用T-SQL命令插入上题中删除的两条记录
点击yggl中的查询,点击新建查询,输入以下sql语句,点击运行:
insert into employees values('000001','王林','大专','1966-01-23',1,8,'中山路32-1-508','83355668',2);
insert into salary values('000001','2100.8','123.09');
插入后:
(2) 将编号为020018的职工的部门号改为1
Update employees set dno=1 where sno=’020018’;
修改前:
修改后:
7 在数据库YGGL中新建一个结构同Employees的表Employees2,使用命令一次性把Employees中的数据加入到Employees2中,打开Employees2查看表中的数据
点击yggl,再右键点击表,新建表employees2,输入表结构
在通过sql语句向employees2中填入数据,得到表employees2
再按照同样的操作建立表salary2。
8 使用T-SQL命令完成下列操作:
(1) 将表salary2中编号为000001的职工的收入改为2890
点击yggl中的查询,点击新建查询,输入以下sql语句,点击运行:
Update salary2 set income=2890 where sno=’000001’;
修改前:
修改后:
(2) 将表salary2中所有职工的收入增加100
点击yggl中的查询,点击新建查询,输入以下sql语句,点击运行:
update salary2 set income=income+100;
增加前:
增加后:
(3) 删除表Employees2中编号为000001的职工信息
点击yggl中的查询,点击新建查询,输入以下sql语句,点击运行:
delete from employees2 where sno='000001';
删除前:
删除后:
(4) 删除表Employees2中所有女性员工的信息
点击yggl中的查询,点击新建查询,输入以下sql语句,点击运行:
delete from employees2 where ssex=0;
删除前:
删除后:
(5) 删除表Employees2中的所有记录
点击yggl中的查询,点击新建查询,输入以下sql语句,点击运行:
delete from employees2;
删除前:
删除后:
【实验过程中所遇到的问题及解决办法】
1 注释符号的问题
注释符号为:‘-- ’
2 不会创建外键
KEY dno (dno),
CONSTRAINT dno FOREIGN KEY (dno) REFERENCES departments (dno)
无法运行
【实验总结】
1、掌握了在可视化工具中对数据库表进行插入、修改和删除数据的操作。
2、掌握使用了T-SQL命令对数据库表进行插入、修改和删除数据的操作。