题目:
创建两张表:要求两张表有外键约束关departments 表和employees表,
氛
departments 表需要包含以下字段:
department id :整型,主键,自增,表示部门的唯一标识。
department_name :字符串类型,表示部门名称,不允许为空,employees 表需要包含以下字段:
employee_id : 整型,主键,自增,表示员工的唯一标识。
字符串类型,表示员工名称,不允许为空。employee name
整型,外键,引用 departments 表的department id表示员工所属部门。department id
2.设置外键约束,要求:
当删除某个部门时,employees 表中对应的 department id 应该被设置为 NULL .
当更新部门的 department_id 时employees 表中相关的department id 也应同步更新
3.在 departments 表中插入至少3条部门数据,在 employees 表中插入至少 5条员工数据,确保每个员工都归属于某个部门。
编写一个查询语句,显示所有员工的姓名及其所属的部门名称,
4
要求:
确保表之间的外键约束有效。
插入的数据应能够通过查询看到只工与部门的关联关系。
插入部门数据
-- 插入部门数据 INSERT INTO departments (department_name) VALUES ('IT部门'); INSERT INTO departments (department_name) VALUES ('人力资源部'); INSERT INTO departments (department_name) VALUES ('财务部');
插入员工数据
-- 插入员工数据,并假设department_id的值(在实际操作中,您应该查询这些值) INSERT INTO employees (employee_name, department_id) VALUES ('张三', 1); -- 假设IT部门的department_id是1 INSERT INTO employees (employee_name, department_id) VALUES ('李四', 2); -- 假设人力资源部的department_id是2 INSERT INTO employees (employee_name, department_id) VALUES ('王五', 3); -- 假设财务部的department_id是3 INSERT INTO employees (employee_name, department_id) VALUES ('赵六', 1); -- 另一个IT部门的员工 INSERT INTO employees (employee_name, department_id) VALUES ('孙七', 2); -- 另一个人力资源部的员工
查看数据:
查询关联关系:
SELECT employees.employee_name, departments.department_name FROM employees JOIN departments ON employees.department_id = departments.department_id;
将整个表删掉:
DROP TABLE IF EXISTS 表名;