志达IT
做快乐程序员

sql数据库建立索引(数据库创建索引的sql语句)

sql数据库建立索引

文中的讲解内容简单明晰,易于学习与了解,下面请我们跟着小编的思路渐渐深入,一起来研究和学习“怎样用SQL树立索引”吧!
用SQL树立索引
为了给一个表树立索引,启动任务栏SQLSever程序组中的ISQL/w程序。进入查询窗口后,输入下面的句子:
CREATEINDEXmycolumn_indexONmytable(myclumn)
这个句子树立了一个名为mycolumn_index的索引。你能够给一个索引起任何姓名,但你应该在索引名中包括所索引的字段名,这对你将来弄清楚树立该索引的意图是有帮助的。
留意:
在本书中你执行任何SQL句子,都会收到如下的信息:
Thiscommanddidnotreturndata,anditdidnotreturnanyrows
这说明该句子执行成功了。
索引mycolumn_index对表mytable的mycolumn字段进行。这是个非聚簇索引,也是个非仅有索引。(这是一个索引的缺省特点)
假如你需求改变一个索引的类型,你有必要删去本来的索引并重建一个。树立了一个索引后,你能够用下面的SQL句子删去它:
DROPINDEXmytable.mycolumn_index
留意在DROPINDEX句子中你要包括表的姓名。在这个比如中,你删去的索引是mycolumn_index,它是表mytable的索引。
要树立一个聚簇索引,能够运用关键字CLUSTERED。)记住一个表只能有一个聚簇索引。(这里有一个怎么对一个表树立聚簇索引的比如:
CREATECLUSTEREDINDEXmycolumn_clust_indexONmytable(mycolumn)
假如表中有重复的记载,当你试图用这个句子树立索引时,会呈现过错。可是有重复记载的表也能够树立索引;你只需运用关键字ALLOW_DUP_ROW把这一点告诉SQLSever即可:
CREATECLUSTEREDINDEXmycolumn_cindexONmytable(mycolumn)
WITHALLOW_DUP_ROW
这个句子树立了一个允许重复记载的聚簇索引。你应该尽量防止在一个表中呈现重复记载,可是,假如现已呈现了,你能够运用这种方法。
要对一个表树立仅有索引,能够运用关键字UNIQUE。对聚簇索引和非聚簇索引都能够运用这个关键字。这里有一个比如:
CREATEUNIQUECOUSTEREDINDEXmyclumn_cindexONmytable(mycolumn)
这是你将经常运用的索引树立句子。不管何时,只需能够,你应该尽量对一个对一个表树立仅有聚簇索引来增强查询操作。
最终,要树立一个对多个字段的索引──复合索引──在索引树立句子中一起包括多个字段名。下面的比如对firstname和lastname两个字段树立索引:
CREATEINDEXname_indexONusername(firstname,lastname)
这个比如对两个字段树立了单个索引。在一个复合索引中,你最多能够对16个字段进行索引。
用业务管理器树立索引
用业务管理器树立索引比用SQL句子容易的多。运用业务管理器,你能够看到现已树立的索引的列表,并能够通过图形界面挑选索引选项。
运用业务管理器你能够用两种方法树立索引:运用ManageTables窗口或运用ManageIndexes窗口。
要用ManageTables窗口树立一个新索引,单击按钮AdvancedOptions(它看起来象一个前面有一加号的表)。这样就翻开了AdvancedOptions对话框。这个对话框有一部分标名为PrimaryKey(见图11.1)。
要树立一个新索引,从下拉列表中挑选你想对之树立索引的字段名。假如你想树立一个对多字段的索引,你能够挑选多个字段名。你还能够挑选索引是聚簇的还对错聚簇的。在保存表信息后,索引会主动被树立。在ManageTables窗口中的字段名周围,会呈现一把钥匙。
你现已为你的表树立了“主索引”。主索引有必要对不包括空值的字段树立。另外,主索引强制一个字段成为仅有值字段。
要树立没有这些限制的索引,你需求运用ManageIndexes窗口。从菜单中挑选Manage|Indexes,翻开ManageIndexes窗口。在ManageIndexes窗口中,你能够通过下拉框挑选表和特定的索引。(见图11.2)。要树立一个新索引,从Index下拉框中挑选NewIndex.,然后就能够挑选要对之树立索引的字段。单击按钮Add,把字段加人到索引中。
你能够为你的索引挑选许多不同的选项。例如,你能够挑选该索引是聚簇的还对错聚簇的。你还能够指定该索引为仅有索引。设计好索引后,单击按钮Build,树立该索引。
怎样用SQL树立索引-数据库
留意:
仅有索引是指该字段不能有重复的值,而不是只能树立这一个索引。
SQL核心句子
在第十章,你学会了怎么用SQLSELECT句子从一个表中取数据。可是,到现在为止,还没有讨论怎么增加,修正或删去表中的数据。在这一节中,你将学习这些内容。
刺进数据
向表中增加一个新记载,你要运用SQLINSERT句子。这里有一个怎么运用这种句子的比如:
INSERTmytable(mycolumn)VALUES(‘somedata’)
这个句子把字符串’somedata’刺进表mytable的mycolumn字段中。将要被刺进数据的字段的姓名在第一个括号中指定,实际的数据在第二个括号中给出。
INSERT句子的完好句法如下:
INSERT[INTO]{table_name|view_name}[(column_list)]{DEFAULTVALUES|
Values_list|select_statement}
假如一个表有多个字段,通过把字段名和字段值用逗号隔开,你能够向一切的字段中刺进数据。假定表mytable有三个字段first_column,second_column,和third_column。下面的INSERT句子增加了一条三个字段都有值的完好记载:
INSERTmytable(first_column,second_column,third_column)
VALUES(‘somedata’,’somemoredata’,’yetmoredata’)
留意:
你能够运用INSERT句子向文本型字段中刺进数据。可是,假如你需求输入很长的字符串,你应该运用WRITETEXT句子。这部分内容对本书来说太高级了,因而不加讨论。要了解更多的信息,请参阅MicrosoftSQLSever的文档。
假如你在INSERT句子中只指定两个字段和数据会怎样样呢?换句话说,你向一个表中刺进一条新记载,但有一个字段没有供给数据。在这种情况下,有下面的四种或许:
假如该字段有一个缺省值,该值会被运用。例如,假定你刺进新记载时没有给字段third_column供给数据,而这个字段有一个缺省值’somevalue’。在这种情况下,当新记载树立时会刺进值’somevalue’。数据库
假如该字段能够承受空值,而且没有缺省值,则会被刺进空值。
假如该字段不能承受空值,而且没有缺省值,就会呈现过错。你会收到过错信息:
Thecolumnintablemytablemaynotbenull.
最终,假如该字段是一个标识字段,那么它会主动发生一个新值。当你向一个有标识字段的表中刺进新记载时,只需疏忽该字段,标识字段会给自己赋一个新值。
留意:
向一个有标识字段的表中刺进新记载后,你能够用SQL变量@@identity来访问新记载
的标识字段的值。考虑如下的SQL句子:
INSERTmytable(first_column)VALUES(‘somevalue’)
INSERTanothertable(another_first,another_second)
VALUES(@@identity,’somevalue’)
假如表mytable有一个标识字段,该字段的值会被刺进表anothertable的another_first字段。这是由于变量@@identity总是保存最终一次刺进标识字段的值。
字段another_first应该与字段first_column有相同的数据类型。可是,字段another_first不能是应该标识字段。Another_first字段用来保存字段first_column的值。
删去记载
要从表中删去一个或多个记载,需求运用SQLDELETE句子。你能够给DELETE句子供给WHERE子句。WHERE子句用来挑选要删去的记载。例如,下面的这个DELETE句子只删去字段first_column的值等于’DeleteMe’的记载:
DELETEmytableWHEREfirst_column=’DeltetMe’
DELETE句子的完好句法如下:
DELETE[FROM]{table_name|view_name}[WHEREclause]
在SQLSELECT句子中能够运用的任何条件都能够在DELECT句子的WHERE子句中运用。例如,下面的这个DELETE句子只删去那些first_column字段的值为’goodbye’或second_column字段的值为’solong’的记载:
DELETEmytableWHEREfirst_column=’goodby’ORsecond_column=’solong’

数据库创建索引的sql语句

创建索引可以加快对数据的查询速度,加速表和表之间的连接,使用sql语句创建索引的语法有:
创建表的同时指定索引语法:
createtable[表名](
[属性名1][数据类型1][约束1],

[属性名n][数据类型n][约束n],
uniqueindex[索引名]//唯一索引
)数据库
alter语句在已经存在的表上创建索引语法:
altertable[表名]addindex[索引名]
使用CREATETABLE语句创建索引语法:
createindex[索引名]ON[表名]
注:unique为唯一索引,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。

赞(0)
未经允许不得转载:志达IT网站 » sql数据库建立索引(数据库创建索引的sql语句)
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

志达IT网站 每天分享编程和互联网的IT技术博客

登录/注册联系我们