当前位置:网站首页>MySQL view
MySQL view
2022-07-05 12:12:00 【ziyi813】
MySQL View
Introduce
View view It's a virtual table , It's not real , Its essence is based on SQL Statement to get a dynamic data set , And name it , Users only need to use the view name to get the result set , And you can use it as a table .
The database only stores the definition of the view , There is no data stored in view , These data are still put in the original data table .
 When using views to query data , The database system will take the corresponding data from the original data table . therefore , The data in the view depends on the data in the source data table , Source data change , The data displayed in the view will also change .
effect
Simplify the code , Reusable queries can be closed into views for reuse , At the same time, it can make complex queries easy to understand and use
Security reasons , If there are a lot of data in a table , A lot of information doesn't want to be seen by everyone , You can use the view , Such as : There is a table that shows only names and some insensitive fields open to others , ID card and salary are not displayed , It can be applied to different users , Set different views .
View creation
Grammar format :
create [or replace] [algorithm = {undefind | mgerge | templtable } }]
view view_name [ {column_list} ]
as select_statement
[with [cascaded | local ] check option ]
Parameter description :
- algorithm: optional , Algorithm for view selection
- view_name: Represents the name of the view to be created
- column_list: optional , Specifies the noun for each attribute in the view , By default, it is the same as select The properties of the query in the statement are the same
- select_statement: Represents a complete query statement , Import the query record into the view
- [width [cascaded | local ] check option ]: optional , It means that updating the view should be within the permission range of the view
The operation sample :
-- Create view 1
create or replace view view1_emp
as
select emp_name from emp;

-- Query all tables , Differentiate view
select full tables;
Modify the view
Modifying a view means modifying the definition of a table that already exists in the database . When some fields in this table change , You can modify the view to keep it consistent with this table .MySQL Pass through CREATE REPLACE VIEW Statement and ALTER VIEW Statement to modify the view .
Format :
alter view View name as select sentence
Example :
-- Modify the view
alter view view1_emp
AS
select emp_name, salary from emp;
Update the view
Some views are updatable . in other words , Can be in UPDATE、DELETE perhaps INTER And so on , In a more basic form ( Data source table ) The content of . For updatable views , Rows in the view and rows in the base table must have a one-to-one relationship , If the view contains any of the following structures , So it's not updatable .
- Aggregate functions (SUM(), MIN(), MAX(), AVG(), COUNT() etc. )
- DISTINCT
- GROUP BY
- HAVING
- UNION perhaps UNION ALL
- JOIN
- FORM Non updatable view in Clause
- WHERE Subquery in Clause , quote FROM Table in clause
- Reference text values only
Although the data can be updated in the view , But there are a lot of restrictions , In general , It's best to use the view as a virtual table for querying data , Instead of updating data through views . because , When using views to update data , If the limitation of updating data is not fully considered , Data update may fail .
Other operations of view
Rename view
-- Rename view
rename table view1_emp to myview1;
Delete view
-- Delete view
drop view if exists myview1
边栏推荐
- Reading notes of growth hacker
- byte2String、string2Byte
- II. Data type
- Swift - add navigation bar
- Xi IO flow
- 【云原生 | Kubernetes篇】Ingress案例实战(十三)
- 互联网公司实习岗位选择与简易版职业发展规划
- 15 methods in "understand series after reading" teach you to play with strings
- [untitled]
- Simple production of wechat applet cloud development authorization login
猜你喜欢

【yolov5.yaml解析】

Multi table operation - Auto Association query

Principle of redis cluster mode

【pytorch 修改预训练模型:实测加载预训练模型与模型随机初始化差别不大】
The survey shows that traditional data security tools cannot resist blackmail software attacks in 60% of cases

Matlab superpixels function (2D super pixel over segmentation of image)

Linux安装部署LAMP(Apache+MySQL+PHP)

强化学习-学习笔记3 | 策略学习

mmclassification 训练自定义数据

【yolov3损失函数】
随机推荐
How can beginners learn flutter efficiently?
[yolov3 loss function]
Video networkState 属性
Pytorch softmax regression
MVVM framework part I lifecycle
Mmclassification training custom data
Understanding the architecture type of mobile CPU
强化学习-学习笔记3 | 策略学习
【上采样方式-OpenCV插值】
IPv6与IPv4的区别 网信办等三部推进IPv6规模部署
Acid transaction theory
Vscode shortcut key
byte2String、string2Byte
mmclassification 训练自定义数据
leetcode:1200. Minimum absolute difference
vscode快捷键
Uniapp + unicloud + Unipay realize wechat applet payment function
【yolov5.yaml解析】
Multi table operation - sub query
Mongodb replica set