创建staffinfo数据库,并在定义department表和worker表,完成两表之间的完整性约束。 Department表的结构 字段名 字段描述 数据类型 主键 外键 非空 唯一 自增 d_id 部门号 INT(4) 是 否 是 是 否 d_name 部门名 VARCHAR(20) 否 否 是 是 否 function 部门职能 VARCHAR(50) 否 否 否 否 否 address 部门位置 VARCHAR(20) 否 否 否 否 否 Worker表的结构 字段名 字段描述 数据类型 主键 外键 非空 唯一 自增 id 编号 INT(4) 是 否 是 是 是 num 员工号 INT(10) 否 否 是 是 否 d_id 部门号 INT(4) 否 是 否 否 否 name 姓名 VARCHAR(20) 否 否 是 否 否 sex 性别 VARCHAR(4) 否 否 是 否 否 birthday 出生日期 DATE 否 否 否 否 否 address 家庭住址 VARCHAR(50) 否 否 否 否 否 按照下列要求进行表操作: (1)在staffinfo数据库下创建department表和worker表
时间: 2023-05-28 14:07:47 浏览: 282
CREATE DATABASE staffinfo;
USE staffinfo;
CREATE TABLE department (
d_id INT(4) PRIMARY KEY NOT NULL AUTO_INCREMENT,
d_name VARCHAR(20),
function VARCHAR(50),
address VARCHAR(20)
);
CREATE TABLE worker (
id INT(4) PRIMARY KEY NOT NULL AUTO_INCREMENT,
num INT(10) UNIQUE NOT NULL,
d_id INT(4) NOT NULL,
name VARCHAR(20),
sex VARCHAR(4),
birthday DATE,
address VARCHAR(50),
FOREIGN KEY (d_id) REFERENCES department(d_id)
);
(2)向department表中插入数据
INSERT INTO department (d_name, function, address) VALUES
('人事部', '负责公司员工招聘、培训、福利等工作', '7楼'),
('财务部', '负责公司账务管理、财务分析等工作', '6楼'),
('市场部', '负责公司市场调研、品牌宣传、销售等工作', '8楼'),
('技术部', '负责公司技术开发、维护、支持等工作', '5楼');
(3)向worker表中插入数据
INSERT INTO worker (num, d_id, name, sex, birthday, address) VALUES
(10001, 1, '张三', '男', '1990-01-01', '北京市朝阳区'),
(10002, 1, '李四', '女', '1991-02-02', '北京市海淀区'),
(10003, 2, '王五', '男', '1992-03-03', '北京市丰台区'),
(10004, 3, '赵六', '女', '1993-04-04', '北京市东城区'),
(10005, 4, '钱七', '男', '1994-05-05', '北京市西城区');
(4)查询所有部门及其员工信息
SELECT department.d_name, worker.name, worker.sex, worker.birthday, worker.address
FROM department
LEFT JOIN worker ON department.d_id = worker.d_id;
(5)查询技术部的员工信息
SELECT * FROM worker WHERE d_id = 4;
(6)修改市场部的地址为9楼
UPDATE department SET address = '9楼' WHERE d_name = '市场部';
(7)删除员工编号为10005的员工信息
DELETE FROM worker WHERE num = 10005;
(8)删除人事部和其下所有员工信息
DELETE FROM department WHERE d_name = '人事部';
(9)修改员工编号为10003的姓名为张三丰
UPDATE worker SET name = '张三丰' WHERE num = 10003;
阅读全文