一、索引
INDEX 索引(默认为非唯一非聚集)
UNION INDEX 唯一索引
CLUSTERED INDEX 聚集索引
1.创建索引:
例:对Employee中的姓名列建立非聚集索引Employee_name
CREATE INDEX Employee_name ON Employee(EmplName)
例:对SalesOrder中的商品号和订单号建立唯一聚集索引
CREATE UNION CLUSTERED INDEX IX_GoodsIDOrderID ON SalesOrder(GoodsID,OrderID)
2.使用系统存储过程查看索引属性:
EXE sp_helpindex Employee
其中Employee是需要查看索引的表名-
3.修改索引
REBUILD 重建索引
rebuild_index_option 重建索引选项
例:修改索引IX_DiscountTotal,将填充因子(FILLFACTOR)改为80
ALTER INDEX IX_DiscountTotal ON OrderDetail
REBUILD WITH(PAD_INDEX=ON,FILLFACTOR=80)
4.删除索引
例:删除已建索引IX_DiscountToal
DROP INDEX OrderDetail.IX_DiscountToal6
二、视图
1.创建视图
例:创建StoreSales数据库上的视图Emp_view,视图包含Employee表的全部列。
CREATE VIEW Emp_view
AS
SELECT *FROM Employee
2.查询视图
例:从视图Emp_view查询年龄大于40的员工的员工号、姓名和年龄。
SELECT EmplID,EmplName,2020-year(Birthday)as '年龄'
FROM Emp_view
WHERE EmplName=’刘强’
3.更新视图
插入数据:
例:向视图Emp_view中插入一行数据“E007,张三,男,1996-3-6,5000,D002”
INSERT INTO Emp_view VALUES('E007','张三','男','1996-3-6',' ','5000','D002')
修改数据:
例:修改视图Emp_view,将员工张三的工资改为6000,部门号改为D001
UPDATE Emp_view SET Wages='6000',DeptID='D001'
WHERE EmplName='张三'
例:删除视图Emp_view中张三这名员工的相关信息
DELETE FROM Emp_view
WHERE EmplName='张三'
4.删除视图
DROP VIEW Emp_view
DROP VIEW EmpDep_view