⑤索引,视图及常用函数.doc
文本预览下载声明
*********************************************************************
索引
*********************************************************************
create index 索引名
on 表名 (列名[,…])
[ on 文件组]
创建数据库:
create database mydb
on (name=mydb_dat1,filename=G:\mydb_dat1.mdf,size=5MB),
filegroup secondgroup
(name=mydb_dat2,filename=G:\mydb_dat2.ndf,size=5MB)
创建表tbluser1
use mydb
create table tbluse1r(
id int,
name varchar(20),
age int,
gender varchar(20)
)
创建索引:
create index tbluser1_idx1 on tbluser(id);
create index tbluser1_idx2 on tbluser(name);
插入表格:
insert into tbluser1 values(1,abc,20,male)
insert into tbluser1 values(2,abc,20,male)
查询索引:
exec sp_helpindex tbluser1
删除索引:
drop index tbluser.tbluser1_idx1
drop index tbluser.tbluser1_idx2
索引类型
唯一索引:索引的值唯一
创建表格tbluser2:
create table tbluser2(
id int,
name varchar(20)
)
创建唯一索引(在第二个组文件中,默认情况下是第一个组文件):
create unique index tbluser2_idx on tbluser2 (name) on secondgroup
exec sp_helpindex tbluser2
主键索引:建表时,如果有主键,将自动创建一个唯一索引。主键不能重复,考唯一索引来控制。
create table tbluser3(
id int,
name varchar(20) primary key
)
exec sp_helpindex tbluser3
insert into tbluser3 values(1,abc)
insert into tbluser3 values(2,abc) (×)
创建一个唯一约束,自动创建唯一索引
create table tbluser4(
id int unique,
name varchar(20)
)
【主键约束、唯一约束与索引关系】:
创建主键约束、唯一约束时会自动创建唯一索引,主键列或唯一约束列值的唯一性靠唯一索引来实现的。
聚集索引/非聚集索引
非聚集索引:nonclustered,索引有顺序,表的数据是任意存放的
聚集索引:nonclustered,索引有顺序,表的数据是有顺序,且顺序一致。查询速度快,但表数据更新慢。
*********************************************************************视图
*********************************************************************
视图:view 就是一个既定义的sql查询语句。
create view 视图名
as 查询语句
[with check option]
⑴视图的基本操作语句:
①创建视图:
create view tbluser2_v as select name from tbluser2
②查询视图:exec sp_helptext tbluser2_v
查询视图内容:select * from tbluser2_v
③修改视图:alter view tbluser2_v as select id from tbluser2
④删除视图:drop view tbluser2_v
⑵使用不同于表的列名:
create view tbluser2_v (username) as select name from tbluser2
(执行select * from tbluser2_v 进行验证)
⑶通过视图修改表数据:
①基于单个表。且没有计算。
select * from tbluser2 update
显示全部