mysql创建有外键的表
导读: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