ndex”索引。修改INSERT指令添加的密码值。
?
?
INSERT INTO 操作人员信息(操作人员编号,操作人员姓名,密码) VALUES(1009,'周慧芳','9698')
?
主键索引是唯一索引的特殊类型。主键索引是在为表定义主键时自动创建的。在表中创建主键只需要列定义前使用关键字PRIMARY KEY即可。主键索引要求主键中的每一个值是唯一的。当在查询中使用主键索引时,它还不允许快速访问数据。
当在表上定义主键或者唯一性约束时,如果表中已经有了使用CREATE INDEX语句创建的标准索引时,那么主键约束或者唯一性约束创建的索引会覆盖以前创建的标准索引。也就是说,主键索引或唯一性约束创建的索引的优先级高于使用CREATE INDEX语句创建的索引。
3.3聚集和非聚集索引
当表被使用聚集索引时,数据存储在同一数据块中,这样就只需要读取极少的数据库块,从而导致更快的执行性能。当使用聚集索引时,表内数据的物理排列就修改了。使用聚集索引通常比非聚集索引更快。
用于建立聚集索引的列通常是主键。在SQL Server中,默认情况下建立的是索引为非聚集索引。除非使用关键字CLUSTERED指定建立聚集索引,当然也可以使用关键字NONCLUSTERED指定建立非聚集索引。
举例来说,在数据库“销售管理系统”中,在供应商信息表的供应商名称列上创建唯一聚集索引。
?
USE 销售管理系统 GO CREATE UNIQUE CLUSTERED INDEX 供应商名称_Index ON 供应商信息(供应商名称) GO
当为数据表建立聚集索引时,数据库会对索引列进行排序。关键字ASC或DESC可以确保索引列的升序或降序排序方向。默认设置为ASC升序排列。
?
4.查看和删除
在SQL Server中,索引的查看和删除可以通过企业管理器和SQL语言两种方式。
对于索引的查看,大家可以在SQL Server中实践一把,很基础的操作,这里便不多做介绍。
当一个索引不再需要时,可以将其从数据库中删除,以回收它当前使用的存储空间。这些回收的空间可以由数据库中的任何对象使用。
索引的删除方式和索引的创建时的使用方式有关。如果索引是使用CREATE INDEX语句显式创建的,则可以使用DROP INDEX语句将其删除。其语法格式为:
?
DROP INDEX 'table.index | view.index'[,...n]
其中,table和view表示索引所在的表或视图;index表示要删除的索引名称,索引名称必须是符合标识符的规则;[,...]表示前面的项可重复n次。
?
举例来说,下面的SQL语句用于删除数据库“经销商”的“商品信息”中的索引“商品_INDEX”。
?
USE 经销商 GO DROP INDEX 商品信息.商品_INDEX
如果想删除一个索引,但是不能够确定这个索引是否存在,同样可以添加简单的判断语句先进行判断。
?
举例来说,删除数据库“经销商”的“顾客信息表”中名为“顾客信息表_index”索引。
?
USE 经销商 IF EXISTS(SELECT name FROM sysindexes) WHERE name='顾客信息表_index' DROP INDEX 顾客信息表.顾客信息表_index GO
?
5.学习小结
对于索引这一章节的学习总结,感觉自己又学会了一个工具,而这个工具的作用正是我们想要的——提高效率。尤其是在做项目的时候,数据很大而不得做好索引,便于查找和利用,很开心学习和总结这一章节的内容,收获还蛮不错的,主要还是先前所说,对于SQL的知识,实践一把,很是值得,愿与大家分享一下吧!