脚本宝典收集整理的这篇文章主要介绍了MySQL视图,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
可以帮助我们使用表中的部分数据,对其修改可以改变原来表中的值
可以简化查询
控制数据的访问(权限)
在 CREATE VIEW 中创建(简化版)
CREATE VIEW 视图名字
AS 查询语句
情况一:视图中的数据时基表里面有的
CREATE VIEW VU_emp1
AS
SELECT id,name,salary
FROM emp1;
#视图中字段的起名
方式一:别名
CREATE VIEW VU_emp2
AS
SELECT id emp_id,name,salary monthly_sal
FROM emp1;
方式二:直接命名
CREATE VIEW VU_emp2(emp_id,name,monthly_sal)#与查询的字段要一一对应
AS
SELECT id,name,salary
FROM emp1;
情况二:
视图中的数据时基表中没有的
#创建视图:各个部门的平均工资(基表中没有)
CREATE VIEW VU_emp2
AS
SELECT department_id,AUG(salary) AUG_sal
FROM empolyees
WHERE id department_id ids not null
GROUP BY department_id;
#和多表查询是一样的
CREATE VIEW VU_emp3
AS
SELECT t1.id,t1.name,t2.department_name
FROM employees t1 JOIN departments t2
ON t1.name = t2.name;
CREATE VIEW VU_emp_dept1
AS
SELECT CONCAT(t1.name,'(',t2.department_name,')')
FROM employees t1 JOIN departments t2
ON t1.name = t2.name;
CREATE VIEW VU_emp_dept1
AS
SELECT 要查询的字段
FROM 视图名字;
SHOW TABLES;
DESC 视图名字;
SHOW TABLE STATUS LIKE '视图名字';
SHOW TABLE STATUS LIKE '视图名字'G#有的可以执行
SHOW CREATE VIEW 视图名字;
#改视图
UPDATE vu_emp1
SET salary =6000
WHERE id = 2;
SELECT *
FROM emp1;
#改基表
UPDATE emp1
SET salary =15000
WHERE id = 2;
SELECT *
FROM vu_emp1;
一般不进行更新
方式一:使用 CREATE OR REPLACE VIEW修改视图
CREATE OR REPLACE VIEW vn_emp1
AS
SELECT employe_id,name,salary,email#添加字段 email
FROM employees
WHERE salary > 5000;
方式二:ALTER VIEW修改视图
ALTER VIEW vu_emp1
AS
SELECT employe_id,name,salary,email,hire_data#继续添加字段 hire_data
FROM employees
WHERE salary > 5000;
DROP VIEW IF EXISTS (视图名字1,视图名字2...);
注:若视图c是基于视图a,b创建的,如果删除a或是b,则会影响视图c的查询。这样的视图c我们需要手动删除,否则会影响使用
以上是脚本宝典为你收集整理的MySQL视图全部内容,希望文章能够帮你解决MySQL视图所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。