表,视图,索引的创建
表的创建:
格式create table 表名 (
字段名 数据类型,
字段名 数据类型,
…(次数注意最后一个字段的后面没有逗号)
);
例子:创建一个名为T的表 其中有属性id数据类型为int,name数据类型为varchar,学分grade数据类型为double。
create table T (
id int,
name varchar,
grade double
);
视图的创建
视图是什么:我们select查询之后会得到一些数据,但是我们不能对查询出来的数据进行再操作,如何对查出来的数据进行再操作呢?那我们就用到了视图,视图的功能是将查询出来的数据制成一个表,来进行对他的查询增删改等操作。
格式create view 视图名 as (select语句,即你想让他变成视图的select语句)
该表名为S
求创建一个名为E的表其中含有姓名与性别的视图
Create view E as(select sname,sex from S);
创建出视图之后我们就可以将创建出来的视图视为一个表,查询语句(select语句)格式与普通表的查询相同
Eg:查询李华的性别
Select sex from E where sex = ‘男’;
索引的创建:
索引的功能:在对大量数据进行查询的时候能加快查询的速度。
格式(分为三种索引,做题的时候会提示你)
- 普通索引
CREATE INDEX 索引名(如果没要求的话自己随便起) ON 表名(字段名 要求的约束)
该表名为S
例子1:
给S加上一个按学号降序排列的普通索引(非唯一)
Create index A S(sno DESC);
给S加上一个按学号降序排列的普通索引(非唯一,非聚集)
Create nonclustered index A S(sno DESC);
为什么非聚集就要加上nonclustered呢?因为在默认情况下是聚集的,如果没要求非聚集的话是不用写上这个的,但是这里明确要求了,那我们就需要写上了。
- 唯一索引,与普通索引的差别只在一处只需要在index前面加一个unique
例子2:给S加上一个按学号降序排列的唯一索引
Create unique A S(sno DESC);
- 聚集索引
聚集索引的一般格式与前面相同,也是index前面的单词不一样需要加上clustered,但其实写不写都行,但是如果要求让我们写一个聚集索引的话,那最好加上clustered,不过不加也可以,并且出现聚集索引的要求也比较少
例子:给S加上一个按学号降序排列的聚集索引
Create clustered A S(sno DESC);