美文网首页
MySQL Demo 06

MySQL Demo 06

作者: GeekGray | 来源:发表于2018-10-04 16:41 被阅读4次

阅读原文

MySQL Demo 06

1. 常见约束

1.向表emp2的id列中添加PRIMARY KEY约束(my_emp_id_pk)

ALTER TABLE emp2 MODIFY COLUMN id INT PRIMARY KEY;
ALTER TABLE emp2 ADD CONSTRAINT my_emp_id_pk PRIMARY KEY(id);

2. 向表dept2的id列中添加PRIMARY KEY约束(my_dept_id_pk)

3. 向表emp2中添加列dept_id,并在其中定义FOREIGN KEY约束,与之相关联的列是dept2表中的id列。

ALTER TABLE emp2 ADD COLUMN dept_id INT;
ALTER TABLE emp2 ADD CONSTRAINT fk_emp2_dept2 FOREIGN KEY(dept_id) REFERENCES dept2(id);
位置 支持的约束类型 是否可以起约束名
列级约束: 列的后面 语法都支持 但外键没有效果 不可以
表级约束: 所有列的下面 默认和非空不支持 其他支持 可以(主键没有效果)

2. 视图

一、创建视图emp_v1,要求查询电话号码以‘011’开头的员工姓名和工资、邮箱

CREATE OR REPLACE VIEW emp_v1
AS
SELECT last_name,salary,email
FROM employees
WHERE phone_number LIKE '011%';

二、创建视图emp_v2,要求查询部门的最高工资高于12000的部门信息

CREATE OR REPLACE VIEW emp_v2
AS
SELECT MAX(salary) mx_dep,department_id
FROM employees
GROUP BY department_id
HAVING MAX(salary)>12000;


SELECT d.*,m.mx_dep
FROM departments d
JOIN emp_v2 m
ON m.department_id = d.`department_id`;

相关文章

网友评论

      本文标题:MySQL Demo 06

      本文链接:https://www.haomeiwen.com/subject/qnvxaftx.html