我google'd这个词,当我第一次在mysql中听到这个(sakila示例mysql数据库有它),但搜索结果并没有真正的帮助。无论如何,它到底是什么,并有一个教程,解释它以及使用它的优点和缺点?什么是mysql数据库内的“查看”表?
0
A
回答
3
视图是一个命名的存储查询,可以在其他查询中使用,就像它是一个表一样。
有时视图将显示一个子集中的行的表中的:
CREATE VIEW v1 AS
SELECT Column1, Column2, ..., ColumnN
FROM AnotherTable WHERE SomeColumn = 234;
有时视图将显示一个子集在一个表中的列的:
CREATE VIEW v2 AS
SELECT Column2, Column3, Column5, Column7
FROM AnotherTable;
你也可以有更复杂的查询,连接等:
CREATE VIEW OrderInfo AS
SELECT o.order_num, c.customer_num, c.customer_name,
o.order_date, o.invoice_num, i.product_code, p.product_name
FROM Orders AS o
JOIN Customers AS c ON c.customer_num = o.customer_num
JOIN OrderItems AS i ON i.order_num = o.order_num
JOIN Products AS p ON p.product_code = i.product_code
然后用户可以编写查询,如:
SELECT *
FROM OrderInfo
WHERE Order_Date BETWEEN DATE '2012-01-01' AND DATE '2012-01-31'
AND Product_Code LIKE "%23491%";
而不必知道如何将所有表连接在一起。
您还可以使用视图来控制对数据的访问;视图定义者的权限可能允许用户访问否则会被禁止的表格。在修改数据库模式后,您还可以使用视图来提供向后兼容性。您可以更改新架构中的表的名称以及表的定义,但留下允许未修改的程序继续读取数据库的视图,就好像架构未更改一样。
某些视图可以更新;别人不能。哪些可以和哪些不能依赖于DBMS。
+0
+1非常好的样本 – 2012-04-07 04:44:22
相关问题
- 1. 什么是mysql数据库?
- 2. 什么是MySQL查看?
- 3. 从表中的mysql数据库查看查询数据
- 4. MySQL查询数据库中查看
- 5. 什么是MySQL数据库引擎?
- 6. 什么是MySql,FlatFile数据库差异?
- 7. 搜索MySql数据库&查看结果
- 8. 什么查询会更新mysql数据库中的数据?
- 9. MySQL数据库表查询
- 10. 为什么我不能在我的mysql数据库中查看外语字符?
- 11. mysql/php - 基于ID查看数据库表中的特定行
- 12. 数据库:什么是HANA增量表?
- 13. 库存数量查看在mysql库存数据库中
- 14. 为什么WebMatrix数据库查看器中的MySQL数据库更新没有更新?
- 15. 查看在sqlite数据库中创建的表格内容
- 16. MySQL看不到数据库
- 17. 为什么我看不到我的数据库... \ MySQL服务器5.6 \数据
- 18. 为什么MySQL的代码是不是在数据库
- 19. Hostinger,什么是数据库
- 20. 什么是梨数据库?
- 21. 什么是数据仓库?
- 22. qdb是什么?数据库
- 23. 什么是Firebird数据库
- 24. 什么是Oracle数据库
- 25. 如何使用PHP会话查看MYsql数据库表?
- 26. 什么是我们通过phpMyAdmin访问的mysql数据库的数据库URL?
- 27. 什么是MySQL查询的最佳数据包(查询)大小?
- 28. 导入和查看Microsoft SQL数据库(.BAK)的过程是什么?
- 29. 跨数据库的表的LINQ to SQL。还是查看?
- 30. MySQL:从多个表中查看数据查看
[http://en.wikipedia.org/wiki/View_(database)](http://en.wikipedia.org/wiki/View_(database)) – zerkms 2012-04-07 04:27:15