首页数据库mysql创建有外键的表

mysql创建有外键的表

时间2023-07-28 21:51:02发布访客分类数据库浏览520
导读:MySQL是一种关系型数据库管理系统,具有创建表的功能。在创建表时,除了定义各个数据列的数据类型和约束条件外,还可以通过添加外键来约束表之间的关系。下面介绍如何使用MySQL创建有外键的表。-- 创建主表CREATE TABLE `depa...

MySQL是一种关系型数据库管理系统,具有创建表的功能。在创建表时,除了定义各个数据列的数据类型和约束条件外,还可以通过添加外键来约束表之间的关系。下面介绍如何使用MySQL创建有外键的表。

-- 创建主表CREATE TABLE `department` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(50) DEFAULT NULL,PRIMARY KEY (`id`)) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    -- 创建从表CREATE TABLE `employee` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(50) DEFAULT NULL,`department_id` int(11) NOT NULL,PRIMARY KEY (`id`),KEY `fk_department_id` (`department_id`),CONSTRAINT `fk_department_id` FOREIGN KEY (`department_id`) REFERENCES `department` (`id`) ON DELETE CASCADE ON UPDATE CASCADE) ENGINE=InnoDB DEFAULT CHARSET=utf8;
    

上述代码首先创建了一个department表,该表包含id和name两列,其中id为主键。接着创建了一个employee表,该表包含id、name和department_id三列,其中id为主键,department_id为外键。在创建employee表时,使用了KEY和CONSTRAINT关键字来指定department_id列的约束条件。

其中,KEY `fk_department_id` (`department_id`)定义了一个索引,名称为fk_department_id,索引的列为department_id;

CONSTRAINT `fk_department_id` FOREIGN KEY (`department_id`) REFERENCES `department` (`id`) ON DELETE CASCADE ON UPDATE CASCADE定义了一个外键。它指定了:当删除主表中具有关联数据的记录时,从表中的相关数据也将被删除(ON DELETE CASCADE);当主表中的关联数据更新时,从表中相关数据也将被更新(ON UPDATE CASCADE)。

使用以上语句,即可创建出带有外键约束的employee表。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: mysql创建有外键的表
本文地址: https://pptw.com/jishu/339728.html
python 断言的作用 css 左右宽度自适应

游客 回复需填写必要信息