0
点赞
收藏
分享

微信扫一扫

mysql中的外键操作 建表添加外键 删除外键约束 追加外键约束 0523


关键字

foreign key

外键演练

新建老师生表,演练外键的相关操作

主表创建

# 建库
CREATE DATABASE dbSchool0523 CHARACTER SET utf8

# 用库
USE dbSchool0523

# 建主表
CREATE TABLE teacher(
id INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(5) NOT NULL
)

# 主表添加数据
INSERT INTO teacher VALUES(NULL,'自来也');

# 查看主表数据
SELECT * FROM teacher;

mysql中的外键操作 建表添加外键 删除外键约束 追加外键约束 0523_数据库

创建子表同时定义外键


单词


mysql中的外键操作 建表添加外键 删除外键约束 追加外键约束 0523_建表_02

mysql中的外键操作 建表添加外键 删除外键约束 追加外键约束 0523_数据库_03


建子表代码


# 新建子表学生表 建表时定义外键
CREATE TABLE student(
id INT PRIMARY KEY AUTO_INCREMENT COMMENT '编号',
NAME VARCHAR(10) NOT NULL COMMENT '学生姓名',
tid INT COMMENT '老师id',
CONSTRAINT fk_student_teacher FOREIGN KEY(tid) REFERENCES teacher(id)
);

# 查看状态
DESC student;

mysql中的外键操作 建表添加外键 删除外键约束 追加外键约束 0523_dba_04


核心代码


CONSTRAINT fk_student_teacher FOREIGN KEY(tid) REFERENCES teacher(id)

删除外键约束


删前查看建表语句


SHOW CREATE TABLE student;
CREATE TABLE `student` (
`id` int(11) NOT NULL auto_increment COMMENT '编号',
`name` varchar(10) NOT NULL COMMENT '学生姓名',
`tid` int(11) default NULL COMMENT '老师id',
PRIMARY KEY (`id`),
KEY `fk_student_teacher` (`tid`),
CONSTRAINT `fk_student_teacher` FOREIGN KEY (`tid`) REFERENCES `teacher` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8


删除外键


ALTER TABLE student DROP FOREIGN KEY fk_student_teacher;


删除后查看建表语句


SHOW CREATE TABLE student;
CREATE TABLE `student` (
`id` int(11) NOT NULL auto_increment COMMENT '编号',
`name` varchar(10) NOT NULL COMMENT '学生姓名',
`tid` int(11) default NULL COMMENT '老师id',
PRIMARY KEY (`id`),
KEY `fk_student_teacher` (`tid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

给无外键的表追加外键


代码


ALTER TABLE student ADD CONSTRAINT fk2_student_teacher FOREIGN KEY (tid) REFERENCES teacher(id);


结构图


mysql中的外键操作 建表添加外键 删除外键约束 追加外键约束 0523_mysql_05


查看建表语句


SHOW CREATE TABLE student;
CREATE TABLE `student` (
`id` int(11) NOT NULL auto_increment COMMENT '编号',
`name` varchar(10) NOT NULL COMMENT '学生姓名',
`tid` int(11) default NULL COMMENT '老师id',
PRIMARY KEY (`id`),
KEY `fk2_student_teacher` (`tid`),
CONSTRAINT `fk2_student_teacher` FOREIGN KEY (`tid`) REFERENCES `teacher` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8



举报

相关推荐

0 条评论