MySQL 视图

数据库 waitig 512℃ 百度已收录 0评论

摘要:

本文主要简述了 MySQL 的视图


MySQL视图

1. 基本概念

视图的功能和原始表一样,都可以用来查询。但视图里面存储的是SQL查询语句的定义。

视图的优点:

  • 安全,可以隐藏一些数据
  • 一些复杂的数据可以便于理解与使用

2. 创建视图

CREATE [ALGORITHM = {UNDEFINED|MERGE|TEMPTABLE}]
  view 视图名[(字段1,字段2)]
  as select 语句
  [with [CASCADED|LOCAL|] CHECK OPTION]

  --CHECK OPTION约束虚表的操作

建议用一个单独的数据库来存放视图

3. 查看视图

查看某个数据库中的视图或者表

show table status from 数据库名字\G

*************************** 1. row ***************************
           Name: view_user
         Engine: NULL
        Version: NULL
     Row_format: NULL
           Rows: NULL
 Avg_row_length: NULL
    Data_length: NULL
Max_data_length: NULL
   Index_length: NULL
      Data_free: NULL
 Auto_increment: NULL
    Create_time: NULL
    Update_time: NULL
     Check_time: NULL
      Collation: NULL
       Checksum: NULL
 Create_options: NULL
        Comment: VIEW  --这里表示是视图
1 row in set (0.01 sec)

查看某一个具体视图

show table status from view like 'view_user'\G

查看某个视图的具体信息

show create view view_user\G

4. 修改视图

4.1 替换原有视图

mysql> create or replace view view_user as select
    -> Host, User, Password from mysql.user;

4.2 利用alter修改视图

alter view view_user as select Host, User from mysql.user;

5. 删除视图

DROP VIEW view_name;

6. 通过视图操作基表

SELECT, INSERT, UPDATE都可以

INSERT只能应用于存在于一个表上的视图(多表连接的视图不行),而且如果省略的值没有默认值也回有警告。


本文由【waitig】发表在等英博客
本文固定链接:MySQL 视图
欢迎关注本站官方公众号,每日都有干货分享!
等英博客官方公众号
点赞 (0)分享 (0)