黑马笔记==建立外键约束
先建立数据库
CREATE DATABASE
IF
NOT EXISTS emp_dept;-- 创建员工部门数据库
然后使用这个数据库
USE emp_dept;
员工表
CREATE TABLE emp (
id INT PRIMARY KEY NOT NULL auto_increment,
NAME VARCHAR ( 10 ),
age INT CHECK (- 1 < age < 120 ),
job VARCHAR ( 16 ),
salary INT,
entry_time date COMMENT '入职时间',
managerid INT COMMENT '上级领导id',
department_id INT COMMENT '部门id'
) COMMENT '员工表';
部门表
CREATE TABLE dept ( id INT PRIMARY KEY NOT NULL auto_increment, NAME VARCHAR ( 10 ) ) COMMENT '部门表';
插入数据
由于ID设置为主键,且自动增长 ,由数据库自己维护,故不需要插入数据
部门表数据
INSERT INTO dept ( NAME )
VALUES
( '研发部' ),
( '市场部' ),
( '财务部' ),
( '销售部' ),
( '总经办' );
员工表数据
INSERT INTO emp ( NAME, age, job, salary, entry_time, managerid, department_id )
VALUES
( '金庸', 66, '总裁', '20000', '2000-01-01', '', '5' ),(
'张无忌',
20,
'项目经理',
12500,
'2005-12-05',
1,
1
),(
'杨晓',
33,
'开发',
18000,
'2000-11-03',
2,
1
),(
'韦一笑',
48,
'开发',
11500,
'2002-02-05',
2,
1
),(
'常遇春',
43,
'开发',
10500,
'2004-09-07',
3,
1
);
设置外键
-- 添加外键
alter table emp
add CONSTRAINT fk_emp_dept_id FOREIGN key (department_id) REFERENCES dept(id);
-- 删除外键
alter table emp
drop FOREIGN fk_emp_dept_id;
-- 说明 ,之前已经设置过主键,这里只是指出语法
-- 增加主键
alter table emp
add CONSISTENT pk_emp_dept_id PRIMARY KEY (department_id);
-- 删除主键
alter table emp
drop CONSISTENT pk_emp_dept_id ;