查看: 245|回复: 0

[SQLServer] 如何创建索引

发表于 2017-12-7 08:00:01

索引是建立在数据表上的,因此需要首先创建一张数据表,创建SQL 语句
如下:
MYSQL、MSSQLServer、DB2数据库:
CREATE TABLE T_Person (FNumber VARCHAR(20),
FName VARCHAR(20),FAge INT)
Oracle:
CREATE TABLE T_Person (FNumber VARCHAR2(20),
FName VARCHAR2(20),FAge NUMBER (10))
请在不同的数据库系统中运行相应的SQL 语句。T_Person为记录人员信息的数据表,
其中字段FNumber 为人员的编号,FName 为人员姓名,FAge为人员年龄。
索引是针对字段的,因此创建索引索引的时候需要指定要在那个字段上创建索引,还可
以为多个字段创建一个索引,这样还可以指定索引相关的字段列表。创建索引的SQL 语句
是CREATE INDEX,其语法如下:
CREATE INDEX 索引名ON 表名(字段1, 字段2,……字段n)
其中【索引名】为被创建的索引的名称,这个名称必须是唯一的;【表名】为要创建索
引的表;【字段1, 字段2,……字段n】为组成这个索引的字段列表,允许一到多个。
下面的SQL语句在T_Person表的FName字段上创建索引,索引名为idx_person_name:
CREATE INDEX idx_person_name ON T_Person(FName)
下面的SQL 语句在T_Person 表的FName 和FAge 字段上创建索引,索引名为
idx_person_nameage:
CREATE INDEX idx_person_nameage ON T_Person(FName,FAge)
索引创建后是可以被删除的,删除索引使用的语句为DROP INDEX。不同的数据库系
统的DROP INDEX 语法是不同的,下面分别介绍:
MYSQL中的DROP INDEX 语法如下:
DROP INDEX 索引名ON 表名
比如下面的SQL语句用来删除刚才我们创建了两个索引:
DROP INDEX idx_person_name ON T_Person;
DROP INDEX idx_person_nameage ON T_Person;
MSSQLServer 中的DROP INDEX 语法如下:
DROP INDEX 表名.索引名
比如下面的SQL语句用来删除刚才我们创建了两个索引:
DROP INDEX T_Person.idx_person_name;
DROP INDEX T_Person.idx_person_nameage;
Oracle和DB2中的DROP INDEX 语句不要求指定表名,只要指定索引名即可,语法如
下:
DROP INDEX 索引名
比如下面的SQL语句用来删除刚才我们创建了两个索引:
DROP INDEX idx_person_name;
DROP INDEX idx_person_nameage;
到这里,索引相关的知识点就介绍完毕了,请执行下面的SQL 语句删除刚才创建的
T_Person表:
DROP TABLE T_Person;



回复

使用道具 举报

关闭

站长推荐上一条 /1 下一条