SQLite的SQL语法CREATE INDEXsql-statement ::=CREATE [UNIQUE] INDEX [IF NOT EXISTS] [database-name .] index-name ON table-name ( column-name [, column-name]* )column-name ::=name [ COLLATE collation-name] [ ASC | DESC CREATE INDEX命令由"CREATE INDEX"关键字后跟新索引的名字,关键字"ON",待索引表的名字,以及括弧内的用于索引键的字段列表构成。每个字段名可以跟随"ASC" 或"DESC"关键字说明排序法则,但在当前版本中排序法则被忽略。排序总是按照上升序。 每个字段名后跟COLLATE子句定义文本记录的比较顺序。缺省的比较顺序是由CREATE TABLE语句说明的比较顺序。 若不定义比较顺序,则使用内建的二进制比较顺序。 附加到单个表上的索引数目没有限制,索引中的字段数也没有限制。 若UNIQUE关键字出现在CREATE和INDEX之间,则不允许重名的索引记录。试图插入重名记录将会导致错误。 每条CREATE INDEX语句的文本储存于sqlite_master或sqlite_temp_master表中,取决于被索引的表是否临时表。 每次打开数据库时,所有的CREATE INDEX语句从sqlite_master表中读出,产生SQLite的索引样式的内部结构。 若使用可选的IF NOT EXISTS子句,且存在同名索引,则该命令无效。 使用DROP INDEX命令删除索引。 |