Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql外键

作者:優雅dē颓废   发布日期:2025-11-01   浏览:3

-- 创建两个表:部门表(departments)和员工表(employees),并设置外键约束

-- 部门表
CREATE TABLE departments (
    department_id INT PRIMARY KEY,
    department_name VARCHAR(100)
);

-- 员工表,其中department_id是外键,引用自departments表的department_id
CREATE TABLE employees (
    employee_id INT PRIMARY KEY,
    employee_name VARCHAR(100),
    department_id INT,
    FOREIGN KEY (department_id) REFERENCES departments(department_id)
        ON DELETE CASCADE -- 当删除部门时,自动删除该部门下的所有员工
        ON UPDATE CASCADE -- 当更新部门ID时,自动更新员工表中的对应部门ID
);

-- 插入一些示例数据
INSERT INTO departments (department_id, department_name) VALUES (1, 'HR'), (2, 'Engineering');
INSERT INTO employees (employee_id, employee_name, department_id) VALUES (1, 'Alice', 1), (2, 'Bob', 2);

-- 查询示例
SELECT e.employee_name, d.department_name 
FROM employees e
JOIN departments d ON e.department_id = d.department_id;

解释说明:

  1. 创建表

    • departments 表包含部门信息,主键为 department_id
    • employees 表包含员工信息,其中 department_id 是外键,引用自 departments 表的 department_id
  2. 外键约束

    • FOREIGN KEY (department_id) REFERENCES departments(department_id):定义了 employees 表中的 department_id 列作为外键,引用 departments 表中的 department_id 列。
    • ON DELETE CASCADEON UPDATE CASCADE:当 departments 表中的 department_id 被删除或更新时,employees 表中对应的记录也会被自动删除或更新。
  3. 插入数据

    • departmentsemployees 表中插入了一些示例数据。
  4. 查询

    • 使用 JOIN 操作将两个表连接起来,查询员工及其所属部门的信息。

上一篇:linux 重启mysql

下一篇:mysql like用法

大家都在看

mysqlavg函数保留小数

mysql显示表内容

mysql经纬度距离计算

mysql 加密

存储过程mysql

mysql 1265

mysql with语句

mysql时间加减

mysql查询表名,模糊匹配

brew 启动mysql

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站