视图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 | |
+----+-------------+-----+--------+