SQL里面创建视图的疑问~~~~~~~

来源:百度知道 编辑:UC知道 时间:2024/06/03 08:41:04
刚刚学到如何创建查询视图,可是我发现这视图的表格和SQL的表格一模一样的啊,直接创建一张表和创建一张视图到底不同在哪?可能说的有点抽象。。。不过我想一些老前辈应该知道我想说的什么吧?

如:
create table test(id int,name char(10),address char(10));
create view test_view as select id,name from test;

像上面这样视图就和表不一样了,类似的你可以建很多视图,又如
create view test_view2 as select id from test;
create view test_view3 as select name from test;

然后把不允许任何用户访问表test,但是把这些视图的查询权限分别给不同的用户,这样就能起到分离用户查询数据的效果。

假如:用户1能查询视图 test_view2,那么他就看不到 name的值

---
以上,希望对你有所帮助。
---
以上,希望对你有所帮助。

创建视图的好处肯定是有的.

比如说。当你使用连接查询多表的时候.视图就体现出优势了. 视图其实就是一张虚拟表.你可以更新视图,。但只能更新一张表的视图...不能更新多张表的.

..select ..inner join..表名..

则创建一个视图.
程序中就直接调用 select * from 视图名称;就行了;
如果不使用视图,则需要写一大段的sql语句了;

------------------------------------------------------------
1.在程序中可以减少sql的语句;
2.可以隐藏实现的细节;

视图是基于 基本表的 虚表,不实际存储数据
主要用处是权限的控制

视图是一般是一个表的子表,是一个表的子集,主要是提高安全性的,它让有权限的人访问,让没有权限的人不能访问