创建外键
#年级表(id 年级名称
CREATE TABLE IF NOT EXISTS grade(
gradeid INT(10) PRIMARY KEY AUTO_INCREMENT,
gradename VARCHAR(50) NOT NULL
);
- 创建外键的方式一、创建子表的同时创建外键
#学生信息表
#(学号,姓名,性别,年级,手机号,地址,出生日期,邮箱,身份证号)
CREATE TABLE IF NOT EXISTS student(
studentid INT(4) PRIMARY KEY AUTO_INCREMENT,
studentname VARCHAR(20) NOT NULL DEFAULT '匿名',
sex TINYINT(1) DEFAULT 1,
gradeid INT(10) ,
phone VARCHAR(12) NOT NULL,
address VARCHAR(100) COMMENT '家庭住址',
birthday DATETIME COMMENT '出生日期',
email VARCHAR(20) COMMENT 'email',
identityCard VARCHAR(18) NOT NULL,
CONSTRAINT FK_gradeid FOREIGN KEY(gradeid) REFERENCES grade(gradeid)
);
- 创建外键的方式二、创建子表完毕后,修改子表添加外键
CREATE TABLE IF NOT EXISTS student(
studentid INT(4) PRIMARY KEY AUTO_INCREMENT,
studentname VARCHAR(20) NOT NULL DEFAULT '匿名',
sex TINYINT(1) DEFAULT 1,
gradeid INT(10),
phone VARCHAR(12) NOT NULL,
address VARCHAR(100) COMMENT '家庭住址',
birthday DATETIME COMMENT '出生日期',
email VARCHAR(20) COMMENT 'email',
identityCard VARCHAR(18) NOT NULL
);
#添加外键
ALTER TABLE student ADD
CONSTRAINT FK_gradeid FOREIGN KEY(gradeid) REFERENCES grade(gradeid);
#添加约束 约束名字 约束为外键 gradeid这一列 引用于grade表中的gradeid
- 删除外键
ALTER TABLE student DROP FOREIGN KEY FK_gradeid;
ALTER TABLE student DROP INDEX FK_gradeid;#删除索引
- 删除表
注意:删除有主外键的表时,先删子表,后删父表
#删除表DROP TABLE IF EXISTS 表名;
DROP TABLE IF EXISTS grade;
DROP TABLE IF EXISTS student;