栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

数据库级别的外键

数据库级别的外键

-- 创建外键的方式一 : 创建子表同时创建外键

CREATE TABLE `grade`(
`gradeid` INT(10) NOT NULL AUTO_INCREMENT COMMENT '年级ID',
`gradename` VARCHAr(50) NOT NULL COMMENT '年级名称',
PRIMARY KEY (`gradeid`)

)ENGINE=INNODB DEFAULT CHARSET=utf8


--学生表的 gradeid 字段 要去引用年级表的 gradeid
--定义外键key  
--给这个外键添加约束(执行引用)   REFERENCES 引用
---- 学生信息表 (学号,姓名,性别,年级,手机,地址,出生日期,邮箱,身份证号)
CREATE TABLE `student` (
`studentno` INT(4) NOT NULL COMMENT '学号',
`studentname` VARCHAr(20) NOT NULL DEFAULT '匿名' COMMENT '姓名',
`sex` TINYINT(1) DEFAULT '1' COMMENT '性别',
`gradeid` INT(10) DEFAULT NULL COMMENT '年级',
`phoneNum` VARCHAr(50) NOT NULL COMMENT '手机',
`address` VARCHAr(255) DEFAULT NULL COMMENT '地址',
`borndate` DATETIME DEFAULT NULL COMMENT '生日',
`email` VARCHAr(50) DEFAULT NULL COMMENT '邮箱',
`idCard` VARCHAr(18) DEFAULT NULL COMMENT '身份证号',
PRIMARY KEY (`studentno`),
KEY `FK_gradeid` (`gradeid`),
ConSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) REFERENCES `grade` (`gradeid`)
) ENGINE=INNODB DEFAULT CHARSET=utf8
 

-- 创建外键方式二 : 创建子表完毕后,修改子表添加外键(不用写红色那段代码)
--ALTER TABLE 表 ADD ConSTRAINT 约束名 FOREIGN KEY(作为外键的列) REFERENCES 那个表(哪个字段)
ALTER TABLE `student`
ADD ConSTRAINT `FK_gradeid` FOREIGN KEY (`gradeid`) REFERENCES `grade` (`gradeid`);

(以上的操作都是物理外键,数据据库级别的外键,我们不建议使用!避免数据库过多造成困扰,这里了解即可~)

最佳实践

数据库就是单纯的表,只用来存数据,只有行(数据)和列(字段)

我们想使用多张表的数据,想使用外键(程序去实现)

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/300828.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号