当前位置:网站首页>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
边栏推荐
- 1个插件搞定网页中的广告
- Design of music box based on assembly language
- Hash tag usage in redis cluster
- [pytorch modifies the pre training model: there is little difference between the measured loading pre training model and the random initialization of the model]
- Which domestic cloud management platform manufacturer is good in 2022? Why?
- Why learn harmonyos and how to get started quickly?
- 【 YOLOv3中Loss部分计算】
- 投资理财适合女生吗?女生可以买哪些理财产品?
- Codeworks 5 questions per day (1700 average) - day 5
- Uniapp + unicloud + Unipay realize wechat applet payment function
猜你喜欢
【pytorch 修改预训练模型:实测加载预训练模型与模型随机初始化差别不大】
[deploy pytoch project through onnx using tensorrt]
Redirection of redis cluster
codeforces每日5题(均1700)-第五天
什么是数字化存在?数字化转型要先从数字化存在开始
【主流Nivida显卡深度学习/强化学习/AI算力汇总】
[mainstream nivida graphics card deep learning / reinforcement learning /ai computing power summary]
[configuration method of win11 multi-user simultaneous login remote desktop]
Network five whip
Troubleshooting of high memory usage of redis in a production environment
随机推荐
[yolov3 loss function]
[mainstream nivida graphics card deep learning / reinforcement learning /ai computing power summary]
【load dataset】
无线WIFI学习型8路发射遥控模块
自动化测试生命周期
Seven polymorphisms
yolov5目标检测神经网络——损失函数计算原理
[configuration method of win11 multi-user simultaneous login remote desktop]
What is the difference between canvas and SVG?
信息服务器怎么恢复,服务器数据恢复怎么弄[通俗易懂]
你做自动化测试为什么总是失败?
7月华清学习-1
Open3d mesh (surface) coloring
Master the new features of fluent 2.10
Why learn harmonyos and how to get started quickly?
【主流Nivida显卡深度学习/强化学习/AI算力汇总】
liunx禁ping 详解traceroute的不同用法
II. Data type
codeforces每日5题(均1700)-第五天
[upsampling method opencv interpolation]