为什么使用视图以及视图的注意事项


1、视图能够简化用户的操作
2、视图使用能以多种角度看待同一数据
3、视图对重构数据库提供了一定程度的逻辑独立性
4、视图能够对机密数据提供安全保护
5、适当的利用视图可以更新清晰的表达查询

优缺点

使用视图的优点

1、视图着重于特定数据

2、简化数据的操作,易维护
:

使用视图的缺点

1、操作视图会比直接操作基础表要慢

2、修改限制

创建和使用 视图的注意事项

视图定义中的SELECT语句不能包括下列内容:

1,ORDER BY 子句,除非在SELECT语句的选择列表也有一个TOP子句

:

2,INTO关键字


--INTO,把数据从已存在的表中查询出来,添加到新表中,这个新表不存在
SELECT *

INTO NEWTABLE    --NEWTABLE不存在

FROM CommodityInfo  --程序正常运行

--

CREATE VIEW vw_newTable2

AS

SELECT * 

INTO NEWTABLE2      --创建视图不允许使用INTO

FROM CommodityInfo  --创建视图时则会报错

关于INTO

mysql中into是什么意思

在mysql中into一般配合select语句使用

把检索到的值赋值给一个变量,这样这个变量代表的就是查询结果。

语法如下:

Select * Into new_table_name from old_table_name;
示例如下:
SELECT name INTO @name FROM student WHERE id=14 ;
SELECT @name
:

3,引用临时表或表变量

–临时表

/*

1、存储在tempdb数据库中。

2、本地临时表以#开头,全局临时表以##开头。

3、当断开连接时临时表被删除

*/


CREATE TEMPORARY TABLE  临时表名(
	字段1 约束条件,
	字段2 约束条件,

);

#根据现有表创建临时表
CREATE TEMPORARY TABLE  临时表名
[AS] SELECT 查询字段
FROM 业务表
[WHERE 条件];

–表变量

/*

1、表变量实际是变量一种形式

2、以@开头

3、存在内存中

*/

表变量(Table Variable)是在数据库中声明和使用的临时表。与临时表类似,它可以存储临时数据或中间结果,并在当前会话结束时自动销毁。

表变量的数据定义与使用:


--@TempTable表名称
DECLARE @TempTable TABLE 
(
    ID INT,
    Name VARCHAR(40)
)
 
--插入表变量数据
INSERT INTO @TempTable (ID, Name) VALUES (1, 'John')
 
--查询表变量数据
SELECT * FROM @TempTable
 
--更新表变量数据
UPDATE @TempTable SET Name = 'Jane' WHERE ID = 1
 
--删除表变量数据
DELETE FROM @TempTable WHERE ID = 

猜你喜欢

转载自blog.csdn.net/sweetser/article/details/134536469