当前位置:网站首页>MySQL advanced part 1: View
MySQL advanced part 1: View
2022-07-05 06:13:00 【Dawnlighttt】
List of articles
View overview
View (View) It's a virtual existence table
. The view does not actually exist in the database , Row and column data comes from tables used in queries that define views , And it's dynamically generated when using views . Generally speaking , The view is just a line SELECT The result set returned after the statement is executed
. So when we create views , The main job is to create this SQL On the query statement .
The advantages of a view over a regular table include the following .
- Simple : Users of views do not need to care about the structure of the corresponding tables 、 Association and screening criteria , It is already the result set of filtered composite conditions for users .
- Security : Users of views can only access the result set they are allowed to query , Permission management of a table cannot be limited to a row or a column , But it can be realized simply by view .
- Data independence : Once the structure of the view is determined , It can shield the influence of table structure change on users , Adding columns to the source table has no effect on the view ; Source table change column name , Can be solved by modifying the view , No impact on visitors .
Create or modify views
The syntax for creating a view is :
CREATE [OR REPLACE] [ALGORITHM = {
UNDEFINED | MERGE | TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
ALTER [ALGORITHM = {
UNDEFINED | MERGE | TEMPTABLE}]
VIEW view_name [(column_list)]
AS select_statement
[WITH [CASCADED | LOCAL] CHECK OPTION]
Options :
WITH [CASCADED | LOCAL] CHECK OPTION Decide whether to allow the data to be updated so that the record no longer meets the view conditions .
LOCAL : You can update as long as you meet the conditions of this view .
CASCADED : All the conditions for all views for that view must be met to update . The default value is .
Example , establish city_country_view View , The implementation is as follows SQL :
create view city_country_view
as
select t.*,c.country_name from country c , city t where c.country_id = t.country_id;
Query view :
from MySQL 5.1 Version start , Use SHOW TABLES The command not only displays the name of the table , The name of the view is also displayed , There is no way to display views separately SHOW VIEWS command .
Again , In the use of SHOW TABLE STATUS When ordered , It can not only display the information of the table , At the same time, it can also display the information of the view .
If you need to query the definition of a view , have access to SHOW CREATE VIEW Command to view :
Delete view
grammar :
DROP VIEW [IF EXISTS] view_name [, view_name] ...[RESTRICT | CASCADE]
Example , Delete view city_country_view :
DROP VIEW city_country_view ;
边栏推荐
- Transform optimization problems into decision-making problems
- Leetcode-22: bracket generation
- Sqlmap tutorial (II) practical skills I
- Leetcode-1200: minimum absolute difference
- QQ computer version cancels escape character input expression
- Appium automation test foundation - Summary of appium test environment construction
- Overview of variable resistors - structure, operation and different applications
- Open source storage is so popular, why do we insist on self-development?
- The connection and solution between the shortest Hamilton path and the traveling salesman problem
- 【Rust 笔记】15-字符串与文本(下)
猜你喜欢
Appium automation test foundation - Summary of appium test environment construction
Sqlmap tutorial (II) practical skills I
redis发布订阅命令行实现
Liunx starts redis
[practical skills] how to do a good job in technical training?
[practical skills] technical management of managers with non-technical background
Brief introduction to tcp/ip protocol stack
Appium自动化测试基础 — Appium测试环境搭建总结
1.13 - RISC/CISC
Erreur de connexion Navicat à la base de données Oracle Ora - 28547 ou Ora - 03135
随机推荐
【Rust 笔记】16-输入与输出(上)
Leetcode-6109: number of people who know secrets
leetcode-6111:螺旋矩阵 IV
【Rust 笔记】14-集合(下)
Binary search template
Leetcode-6110: number of incremental paths in the grid graph
Smart construction site "hydropower energy consumption online monitoring system"
Introduction to convolutional neural network
Leetcode-22: bracket generation
Open source storage is so popular, why do we insist on self-development?
1040 Longest Symmetric String
【Rust 笔记】15-字符串与文本(下)
Doing SQL performance optimization is really eye-catching
Currently clicked button and current mouse coordinates in QT judgment interface
[practical skills] technical management of managers with non-technical background
A reason that is easy to be ignored when the printer is offline
Dynamic planning solution ideas and summary (30000 words)
Appium foundation - use the first demo of appium
Groupbykey() and reducebykey() and combinebykey() in spark
Multi screen computer screenshots will cut off multiple screens, not only the current screen