1 / 11
文档名称:

sql高级编程3.docx

格式:docx   大小:26KB   页数:11页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

sql高级编程3.docx

上传人:在水一方 2019/2/16 文件大小:26 KB

下载得到文件列表

sql高级编程3.docx

相关文档

文档介绍

文档介绍:1、CREATEINDEX语句用于在表中创建索引。在不读取整个表的情况下,索引使数据库应用程序可以更快地查找数据。您可以在表中创建索引,以便更加快速高效地查询数据。用户无法看到索引,它们只能被用来加速搜索/查询。注释:更新一个包含索引的表需要比更新一个没有索引的表更多的时间,这是由于索引本身也需要更新。因此,理想的做法是仅仅在常常被搜索的列(以及表)上面创建索引。SQLCREATEINDEX语法在表上创建一个简单的索引。允许使用重复的值:CREATEINDEXindex_nameONtable_name(column_name)注释:"column_name"规定需要索引的列。SQLCREATEUNIQUEINDEX语法在表上创建一个唯一的索引。唯一的索引意味着两个行不能拥有相同的索引值。CREATEUNIQUEINDEXindex_nameONtable_name(column_name)CREATEINDEX实例本例会创建一个简单的索引,名为"PersonIndex",在Person表的LastName列:CREATEINDEXPersonIndexONPerson(LastName)如果您希望以降序索引某个列中的值,您可以在列名称之后添加保留字 DESC:CREATEINDEXPersonIndexONPerson(LastNameDESC)假如您希望索引不止一个列,您可以在括号中列出这些列的名称,用逗号隔开:CREATEINDEXPersonIndexONPerson(LastName,FirstName)2、DROP:SQL撤销索引、表以及数据库SQLDROPINDEX语句我们可以使用DROPINDEX命令删除表格中的索引用于IBMDB2和Oracle语法:DROPINDEXindex_name用于MySQL的语法:ALTERTABLEtable_nameDROPINDEXindex_nameSQLDROPTABLE语句DROPTABLE语句用于删除表(表的结构、属性以及索引也会被删除):DROPTABLE表名称SQLDROPDATABASE语句DROPDATABASE语句用于删除数据库:DROPDATABASE数据库名称SQLTRUNCATETABLE语句果我们仅仅需要除去表内的数据,但并不删除表本身,那么我们该如何做呢?请使用 TRUNCATETABLE命令(仅仅删除表格中的数据):TRUNCATETABLE表名称如3、SQLALTERTABLE语句:ALTERTABLE语句用于在已有的表中添加、修改或删除列。SQLALTERTABLE 语法:如需在表中添加列,请使用下列语法:ALTERTABLEtable_nameADDcolumn_namedatatype要删除表中的列,请使用下列语法:ALTERTABLEtable_nameDROPCOLUMNcolumn_name注释:某些数据库系统不允许这种在数据库表中删除列的方式(DROPCOLUMNcolumn_name)。要改变表中列的数据类型,请使用下列语法:ALTERTABLEtable_nameALTERCOLUMNcolumn_namedatatype4、Auto-increment会在新记录插入表中时生成一个唯一的数字。我们通常希望在每次插入新记录时,自动地创建主键字段的值。我们可以在表中创建一个auto-increment字段。用于MySQL的语法下列SQL语句把"Persons"表中的"P_Id"列定义为auto-increment主键:CREATETABLEPersons(P_IdintNOTNULLAUTO_INCREMENT,LastNamevarchar(255)NOTNULL,FirstNamevarchar(255),Addressvarchar(255),Cityvarchar(255),PRIMARYKEY(P_Id))MySQL使用AUTO_INCREMENT关键字来执行auto-increment任务。默认地,AUTO_INCREMENT的开始值是1,每条新记录递增1。要让AUTO_INCREMENT序列以其他的值起始,请使用下列SQL语法:ALTERTABLEPersonsAUTO_INCREMENT=100用于Oracle的语法在Oracle中,代码稍微复杂一点。您必须通过sequence对创建auto-increment字段(该对象生成数字序列)。请使用下面的CREATESEQUENCE语法:CREATESEQUENCEseq_personMINVALUE1STARTWITH1INCREMENTBY1CACHE10上面的代码创建名为seq_person的序列对象,它以1起始且以1递增。该对象缓存10个值以提高性能。CACHE