MySQL查看视图
mysql 查看 视图
2023-09-11 14:16:37 时间
创建好视图后,可以通过查看视图的语句来查看视图的字段信息以及详细信息。
查看视图的字段信息
查看视图的字段信息与查看数据表的字段信息一样,都是使用 DESCRIBE 关键字来查看的。具体语法如下:
DESCRIBE 视图名;
或简写成:
DESC 视图名;
示例 1
下面创建学生信息表 studentinfo 的一个视图,用于查询学生姓名和考试分数。
创建学生信息表 studentinfo 的 SQL 语句和运行结果如下:
mysql> CREATE TABLE studentinfo( -> ID INT(11) PRIMARY KEY, -> NAME VARCHAR(20), -> SCORE DECIMAL(4,2), -> SUBJECT VARCHAR(20), -> TEACHER VARCHAR(20)); Query OK, 0 rows affected (0.10 sec)
创建查询学生姓名和分数的视图语句如下:
mysql> CREATE VIEW v_studentinfo AS SELECT name,score FROM studentinfo; Query OK, 0 rows affected (0.04 sec)
通过 DESCRIBE 语句查看视图 v_studentsinfo 中的字段信息,SQL 语句和运行结果如下所示。
mysql> DESCRIBE v_studentinfo; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | name | varchar(20) | YES | | NULL | | | score | decimal(4,2) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+ 2 rows in set (0.01 sec)
注意:使用 DESC 的执行结果和使用 DESCRIBE 是一样的。
由运行结果可以看出,查看视图的字段内容与查看表的字段内容显示的格式是相同的。因此,更能说明视图实际上也是一张数据表了,不同的是,视图中的数据都来自于数据库中已经存在的表。
查看视图的详细信息
在 MySQL 中,SHOW CREATE VIEW 语句可以查看视图的详细定义。其语法如下所示:
SHOW CREATE VIEW 视图名;
通过上面的语句,还可以查看创建视图的语句。创建视图的语句可以作为修改或者重新创建视图的参考,方便用户操作。
示例 2
使用 SHOW CREATE VIEW 查看视图,SQL 语句和运行结果如下所示:
mysql> SHOW CREATE VIEW v_studentinfo \G *************************** 1. row *************************** View: v_studentinfo Create View: CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v_studentinfo` AS select `studentinfo`.`NAME` AS `name`,`studentinfo`.`SCORE` AS `score` from `studentinfo` character_set_client: gbk collation_connection: gbk_chinese_ci 1 row in set (0.00 sec)
上述 SQL 语句以\G
结尾,这样能使显示结果格式化。如果不使用\G
,显示的结果会比较混乱,如下所示:
mysql> DESCRIBE v_studentinfo; +-------+--------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +-------+--------------+------+-----+---------+-------+ | name | varchar(20) | YES | | NULL | | | score | decimal(4,2) | YES | | NULL | | +-------+--------------+------+-----+---------+-------+ 2 rows in set (0.01 sec) mysql> SHOW CREATE VIEW v_studentinfo; +---------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+ | View | Create View | character_set_client | collation_connection | +---------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+ | v_studentinfo | CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v_studentinfo` AS select `studentinfo`.`NAME` AS `name`,`studentinfo`.`SCORE` AS `score` from `studentinfo` | gbk | gbk_chinese_ci | +---------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+----------------------+----------------------+ 1 row in set (0.01 sec)
拓展阅读
所有视图的定义都是存储在 information_schema 数据库下的 views 表中,也可以在这个表中查看所有视图的详细信息,SQL 语句如下:
SELECT * FROM information_schema.views;
不过,通常情况下都是使用 SHOW CREATE VIEW 语句。
相关文章
- 【Mysql 学习】mysql 的使用入门
- mysql-介绍、MySQL部署、数据类型、存储引擎
- MySQL数据类型 int(M) 表示什么意思?详解mysql int类型的长度值问题
- 【MySQL】mysql optimize table
- 【MySQL】一次修改mysql 默认路径的经历
- 【MySql】开机自动启动mysql服务
- 关于MySQL数据存储,你了解多少?
- java的poi技术读取Excel数据到MySQL
- 第二百八十九节,MySQL数据库-ORM之sqlalchemy模块操作数据库
- MySQL配置文件mysql.ini参数详解、MySQL性能优化
- mysql分享一:运维角度浅谈MySQL数据库优化
- MYSQL错误解决:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
- mysql-5.5+ 常见问题集锦及解决
- MySQL内核月报 2014.09-TokuDB· 参数故事·数据安全和性能
- MySql中json类型的使用___mybatis存取mysql中的json
- MYsql 数据库密码忘记(Window)-2(mysql 5.7)
- [转]2006 MySQL server has gone away错误,最大值溢出解决办法 mysql max_allowed_packet 查询和修改
- 详解MySQL information_schema数据库常用的表信息以及各表对应的字段信息;以及如何登录mysql和创建视图
- MySQL Study之--Mysql无法启动“mysql.host”
- Linux MySQl 5.7.17 MySQL ERROR 1366(HY000):Incorrect string value 解决方法
- 【不错】MySQL 事务隔离级别
- 简单聊聊mysql的脏读、不可重复读、幻读
- MySQL查看查询的成本
- 查看Mysql上使用的my.ini配置文件
- MySQL之自带四库之mysql库
- MySQL复习资料(七)——MySQL-存储过程
- Mysql基于Mycat实现读写分离
- MySQL报错Column count of mysql.user is wrong. Expected 43, found 42. Created with MySQL 50568, now run