怎么知道mysql 里是表还是视图??
联系:视图(view)是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表,它依据基本表存在而存在。一个视图可以对应一个基本表,也可以对应多个基本表。视图是基本表的抽象和在逻辑意义上建立的新关系
区别:1、视图是已经编译好的sql语句。而表不是
2、视图没有实际的物理记录。而表有。
3、表是内容,视图是窗口
4、表只用物理空间而视图不占用物理空间,视图只是逻辑概念的存在,表可以及时四对它进行修改,但视图只能有创建的语句来修改
5、表是内模式,视图是外模式
6、视图是查看数据表的一种方法,可以查询数据表中某些字段构成的数据,只是一些SQL语句的集合。从安全的角度说,视图可以不给用户接触数据表,从而不知道表结构。
7、表属于全局模式中的表,是实表;视图属于局部模式的表,是虚表。
8、视图的建立和删除只影响视图本身,不影响对应的基本表。
可以通过select查询视图的方式,来判断视图是否存在。
--1.假设现在新建一个视图
create or replace force view test_view as
select * from dept;
--2.通过count(1)查出来的是,该视图中记录的总条数
select count(1) from test_view;
--3.如果要判断该视图是否存在,直接查看该视图中的内容即可
select * from test_view;
-- 如果有字段等内容,说明视图是存在的。反之,无法成功编译,因为视图不存在。
show full tables from 数据库名 [like 'pattern']
"[]"表示可选的, like后面跟的是表名的模糊查询,.
举例:
一个视图的名字叫v_user, SQL语句可以写为show full tables from 数据库名 like '%v_user%';
MySQL查询视图
可以使用 show table status like "表名/视图名"\G
如果是视图,则显示comment:view;若是表,则comment为空
使用show full tables; 查看会增加type列,可以明显的看出。
怎么知道mysql 里是表还是视图??用show tables;不行的,又没有show views
以mysql为例,使用系统表查看
use information_schema; -- 改变数据库
select * from views; -- 查询视图
盖贴先宏: 可以使用 show table status like "表名/视图名"\G如果是视图,则显示comment:view;若是表,则comment为空
邢台县17071869864: MySQL中视图和表的区别与联系 - ?
盖贴先宏: 联系:视图(view)是在基本表之上建立的表,它的结构(即所定义的列)和内容(即所有数据行)都来自基本表,它依据基本表存在而存在.一个视图可以对应一个基本表,也可以对应多个基本表.视图是基本表的抽象和在逻辑意义上建立的...
邢台县17071869864: 如何判断mysql 中视图是否存在? - ?
盖贴先宏: 可以通过select查询视图的方式,来判断视图是否存在.--1.假设现在新建一个视图 create or replace force view test_view as select * from dept;--2.通过count(1)查出来的是,该视图中记录的总条数 select count(1) from test_view; --3.如果要判断该视图是否存在,直接查看该视图中的内容即可 select * from test_view;-- 如果有字段等内容,说明视图是存在的.反之,无法成功编译,因为视图不存在.
邢台县17071869864: mysql 如何查看视图?
盖贴先宏: 1) mysql> show table status where comment='view'; (说明:Mysql5.1支持视图,视图被看作一种抽象表,因此显示视图状态的语句与显示表状态的语句相同,只是在comment列中以'view'区分) 2) mysql> select * from information_...
邢台县17071869864: MySQL中视图和普通表的区别 - ?
盖贴先宏: 就我目前使用过程中的经验来说.视图只能用于查询,而普通表可以增删改查.视图可以联合多个表,甚至自定义一些视图中才能看到的字段.而普通表只是单个表而已
邢台县17071869864: mysql里查询已存在视图的语句是什么? - ?
盖贴先宏: 进入mysql后,你要进入你的操作库,然后再看表或者视图,例子如下:mysql> show databases; 上面是现实库,假设你的库是ABC mysql>use ABC; 上面的意思是使用ABC库,也就是当前的操作库是ABC mysql>show tables; 上面的意思是显示ABC库中表和视图
邢台县17071869864: mysql 怎么查看创建的数据库和表 - ?
盖贴先宏: mysql 查看有多少个数据库,有多少个表,方法如下: 1、图形界面直接查看: 2、命令查看:1 2#查看数据库 SHOW DATABASES; 1 2 3#查看表 USE blog; SHOW TABLES; 1 2 3#查看表中的列 SHOW COLUMNS FROMauth_user; DESCRIBE auth_user;注意:describe 表名 是 show columns from 表名 的一种快捷方式.
邢台县17071869864: 如何查询SqlServer和MySql数据库中某个数据库下面所有的视图信息和存储过程的信息,在java中操作 - ?
盖贴先宏: 视图 SQL Server select a.name AS ViewName, c.text AS CreateViewSQL from sys.views aLEFT OUTER JOIN dbo.syscomments c ON a.object_id = c.id order bya.name MySQL 是否是视图 通过 table_type 字段是否为 VIEW 来区分的. ...
邢台县17071869864: 请教各位:.在SQL里 表和视图的区别是什么.. - ?
盖贴先宏: 数据库中的数据都是存储在表中的,而视图只是一个或多个表依照某个条件组合而成的结果集,一般来说你可以用update,insert,delete等sql语句修改表中的数据,而对视图只能进行select操作.但是也存在可更新的视图,对于这类视图的update,insert和delete等操作最终会作用于与其相关的表中数据.因此,表是数据库中数据存储的基础,而视图只是为了满足某种查询要求而建立的一个对象.
邢台县17071869864: mysql 如何判断视图已存在 - ?
盖贴先宏: select count(information_schema.VIEWS.TABLE_SCHEMA) from information_schema.VIEWS where information_schema.VIEWS.TABLE_NAME=视图名称 and (information_schema.VIEWS.TABLE_SCHEMA=数据库名称); 为1的话就是存在,0的话就是不存在. 友情提示:Mysql数据库版本太低的话是没有 information_schema 这个系统数据库的哦,以上语句只在 Mysql5.1 下测试通过哦~