SQL 索引与视图 (代码)

***********************
*               索引                 *
***********************

CREATE INDEX 创建索引
*********************
/*对数值字段创建非簇索引*/
CREATE INDEX index_name/*要创建索引的名称*/
ON table_name/*要创建索引的表或视图的名字*/
eg:
CREATE INDEX Nomber_Index
ON employee3(Nomber)
**************************************
/*强制使用非簇索引查询数据表*/
SELECT * FROM employee3/
WITH (INDEX (Nomber_index))
执行后:数据表中的数据按照Nomber_index字段升序排列
**************************************
/*对字符字段创建非簇索引*/
CREATE INDEX sName_Index
ON employee3(sNAME)
**************************************
/*强制使用非簇索引查询数据表*/
SELECT * FROM employee3
WITH (INDEX (sName_index))
执行后:数据表中的数据按照sName_index字段升序排列
**************************************
/*创建簇索引  ENomber_index*/
CREATE CLUSTERED INDEX ENomber_index
ON employee3(Nomber)
**************************************
创建唯一索引
CREATE UNIQUE INDEX sNomber_Index
ON employee3(Nomber DESC)
**************************************
创建复合索引
USE
例子
CREATE INDEX sexname_index
ON 例子 (性别,姓名)
**************************************
创建多字段的复合索引
USE
例子
CREATE INDEX sexnameno_index
ON 例子 (性别,姓名,编号)
**************************************
创建升序与降序排序组合的复合索引
USE
例子
CREATE INDEX sexnamenoadd_index
ON 例子 (性别,姓名,编号,地址)
**************************************
DROP INDEX 删除索引
*******************
DROP INDEX name_index/*删除姓名索引*/
**************************************

***********************
*             视图                   *
***********************

在单个表中创建视图
CREATE VIEW lizi_view
AS
SELECT 姓名,电话,地址
FROM 例子
**************************************
查询视图中的数据
SELECT * FROM lizi_view
**************************************
创建具有条件限制的视图
CREATE VIEW lizi2_view
AS
SELECT 姓名,电话,地址
FROM 例子
WHERE 地址='河南'
**************************************
在视图中创建视图
CREATE VIEW lizi3_view
AS
SELECT * FROM lizi_view
WHERE 地址='山西'
**************************************
创建视图别名
CREATE VIEW biecheng(view_name_,view_phone,view_address)
AS
SELECT 姓名,电话,地址
FROM 例子
**************************************
创建视图时使用中/英文别名
CREATE VIEW biecheng_view(sname,phone,address)
AS
SELECT 姓名,电话,地址
FROM 例子
执行后:将原来的中/英文列名改为英/中文
**************************************
重命名视图的名称
SP_RENAME 'lizi_view','example_view'
**************************************
修改视图使查询数据增加一列
ALTER VIEW lizi_view
AS
SELECT 姓名,性别,电话,地址,zhiye
FROM 例子
**************************************
修改视图
ALTER VIEW lizi_view
AS
SELECT 编号,姓名,性别
FROM 例子
WHERE 性别='女'
**************************************
删除视图
DROP VIEW lizi_view
**************************************
创建多表视图
CREATE VIEW tables_view
AS
SELECT student.stno,student.stname,
achievement.suname,achievement.achieve,
class.cname
FROM student,achievement,class
WHERE achievement.stno=student.stno
AND student.stpno=class.ald
**************************************
利用视图简化复杂查询
CREATE VIEW pays_view
AS
SELECT 编号,姓名,基本工资,奖金
FROM 职工表,工资表
WHERE 职工表.nomber=工资表.nomber
AND 奖金>100
**************************************
查看视图中的数据
SELECT * FROM pays_view ORDER BY nomber
**************************************

原文地址:https://www.cnblogs.com/gaorui/p/2134682.html