什么是视图 :mysql视图是将我们的一段常用或者复杂的的SQL语句进行保存到视图里面。并且给视图取上别名,每次我们调用的时候可以直接调用我们视图方法进行执行SQL。
创建视图 :
案例代码:
//创建视图
CREATE VIEW 视图名
as
//查询语句
SELECT u.* from `user` u
LEFT JOIN user_wallet w
ON u.id = w.user_id
//执行视图
SELECT * from 视图名 WHERE id=538
视图修改 :
//修改视图语法 方法一
create or replace VIEW 修改的视图名
as
SELECT w.* from `user` u
LEFT JOIN user_wallet w
ON u.id = w.user_id
//修改视图语法 方法二
ALTER VIEW 视图名
as
SELECT w.* from `user` u
LEFT JOIN user_wallet w
ON u.id = w.user_id
查看与删除视图 :
//删除视图,多个视图删除用逗号隔开
DROP VIEW v2;
//查看视图
//方法一
DESC 视图名
//方法二
SHOW CREATE VIEW 视图名
视图SQL数据的更新与插入:
这里我就不写代码案例了,语法和平时的插入更新是一样的,只是名字换成视图名字,视图的插入与更新的话他不单是对视图的数据进行操作,还会对原始表里面的数据进行操作,需要注意的问题是如果原始表里面的字段没有进行视图的话(我们视图也无法插入数据),那么原始表里面的数据会出现null ,如果我们字段设计的不能为空的话视图我INSERT将会异常。
不能进行更新的视图里面包含的关键函数:distinct、group by、baving、union或者union all