千家信息网

Linux命令:MySQL系列之六--VIEW视图/mysql -e

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,视图VIEW命令简介:VIEW视图就是存储下来的SELECT语句数据1.创建视图命令格式:CREATE[OR REPLACE][ALGORITHM = {UNDEFINED | MERGE | TEM
千家信息网最后更新 2025年02月01日Linux命令:MySQL系列之六--VIEW视图/mysql -e


视图VIEW命令简介:

VIEW视图就是存储下来的SELECT语句数据

1.创建视图命令格式:

CREATE

[OR REPLACE]

[ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]

[DEFINER = { user | CURRENT_USER }]

[SQL SECURITY { DEFINER | INVOKER }]

VIEW view_name [(column_list)]

AS select_statement

[WITH [CASCADED | LOCAL] CHECK OPTION]

格式:CREATE VIEW view_name AS select_statement 创建一个名为view_name

视图,视图的内容,是select语句查询出来的内容。

Usage: CREATE VIEW sct AS SELECT Name,Cname,Tname FROM students,courses,teachers WHERE

students.CID1=courses.CID AND courses.CID=teachers.TID;

把查询students,courses,teachers表中CID相等的数据存储在sct视图中。


2.命令功能:

对数据库的SELECT数据进行存储为视图,视图也是相当于一个虚表,视图存储的SELECT语句中的表叫基表,视图不能修改,只能基于基表进行修改。所以一般不建议MySQL创建视图。

3.命令参数:

DISTING 独特的,不重复的

SELECT [DISTINCT] * FROM tb_name WHERE qualification;

从tb_name表中选择符合条件的独特的不重复 的条目。

4. 实例

1.查看所创建的表是如何创建的;

mysql> SHOW CREATE TABLE class \G;

*************************** 1. row ***************************

Table: class

Create Table: CREATE TABLE `class` (

`ID` int(11) NOT NULL AUTO_INCREMENT,

`Name` char(20) NOT NULL,

`Age` tinyint(4) NOT NULL,

`Gender` varchar(10) NOT NULL,

PRIMARY KEY (`ID`)

) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=gbk

1 row in set (0.00 sec)


ERROR:

No query specified


5.直接不登录mysql客户端,实现修改mysql数据库中的数据

[root@lamp ~]# mysql -e 'CREATE DATABASE edb;' 直接建立数据库edb

[root@lamp ~]# mysql -e 'SHOW DATABASES;'

+--------------------+

| Database |

+--------------------+

| information_schema |

| edb |

| hellodb |

| mydb |

| mysql |

| performance_schema |

| students |

| test |

| testdb |

+--------------------+

[root@lamp ~]# mysql -e 'DROP DATABASE edb;' 直接删除edb数据库

[root@lamp ~]# mysql -e 'SHOW DATABASES;'

+--------------------+

| Database |

+--------------------+

| information_schema |

| hellodb |

| mydb |

| mysql |

| performance_schema |

| students |

| test |

| testdb |

+--------------------+


[root@lamp ~]# mysql -e 'SELECT * FROM students.class;'#不登录mysql客户端,直接查询students数据库中class表中的数据。

+----+-------------+-----+--------+

| ID | Name | Age | Gender |

+----+-------------+-----+--------+

| 1 | Yang Guo | 22 | |

| 2 | Guo Jing | 46 | |

| 3 | Xiao Longnv | 18 | |

| 4 | Huang Rong | 40 | |

+----+-------------+-----+--------+


0