资源描述:
《sqlserver2000中的sql语言简介》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、SQLServer2000中的SQL语言简介(一)SQLServer2000中的SQL语言是Transact-SQL语言。Transact-SQL语言主要组成部分有一下几种:1.数据定义语言(DDL,DataDefinitionLanguage)2.数据操纵语言(DML,DataManipularionLanguage)3.数据控制语言(DCL,DataControlLanguage)4.系统存储过程(SystemStoredProcedure)5.一些附加的语言元素数据定义语言(DDL)数据定义语言是指用来定义和管理数据库以及数据库中的各种对象的语句,这些语
2、句包括CREATE、ALTER和DROP等语句。在SQLServer2000中,数据库对象包括表、视图、触发器、存储过程、规则、缺省、用户自定义的数据类型等。这些对象的创建、修改和删除等都可以通过使用CREATE、ALTER、DROP等语句来完成。创建数据库表的一个例子CREATETABLEpublishers(pub_idchar(4)NOTNULLCONSTRAINTUPKCL_pubindPRIMARYKEYCLUSTEREDCHECK(pub_idIN('1389','0736','0877','1622','1756')ORpub_idLIKE'99
3、[0-9][0-9]'),pub_namevarchar(40)NULL,cityvarchar(20)NULL,statechar(2)NULL,countryvarchar(30)NULLDEFAULT('USA'))修改视图的一个例子USEpubsGOALTERVIEWyourviewASSELECTtitle,mycount=@@ROWCOUNT,ytd_salesFROMtitlesWHEREtype='mod_cook'GOSELECT*FROMyourviewGO删除触发器的一个例子/*下面的例子将删除触发器employee_insupd。*/U
4、SEpubsIFEXISTS(SELECTnameFROMsysobjectsWHEREname='employee_insupd'ANDtype='TR')DROPTRIGGERemployee_insupdGO数据操纵语言(DML)数据操纵语言是指用来查询、添加、修改和删除数据库中数据的语句,这些语句包括SELECT、INSERT、UPDATE、DELETE等。在默认情况下,只有sysadmin、dbcreator、db_owner或db_datawriter等角色的成员才有权利执行数据操纵语言。1、SELECT语句SELECT语句的语法形式如下:SELE
5、CTselect_list[INTOnew_table]FROMtable_source[WHEREsearch_condition][GROUPBYgroup_by_expression][HAVINGsearch_condition][ORDERBYorder_expression[ASC
6、DESC]][COMPUTEclause][FORBROWSE]几种常用语句的用法:SELECT子句用于指定所选择的要查询的特定表中的列,它可以是星号(*)、表达式、列表、变量等。INTO子句用于指定所要生成的新表的名称。FROM子句用于指定要查询的表或者视图,最多可以
7、指定16个表或者视图,用逗号相互隔开。WHERE子句用来限定查询的范围和条件。GROUPBY子句是分组查询子句。HAVING子句用于指定分组子句的条件。GROUPBY子句、HAVING子句和集合函数一起可以实现对每个组生成一行和一个汇总值。ORDERBY子句可以根据一个列或者多个列来排序查询结果,在该子句中,既可以使用列名,也可以使用相对列号。ASC表示升序排列,DESC表示降序排列。COMPUTE子句使用集合函数在查询的结果集中生成汇总行。COMPUTEBY子句用于增加各列汇总行。SELECT子句的语法形式如下所示:SELECT[ALL
8、DISTINCT][
9、TOPn[PERCENT][WITHTIES]]::={*
10、{table_name
11、view_name
12、table_alias}.*
13、{column_name
14、expression
15、IDENTITYCOL
16、ROWGUIDCOL}[[AS]column_alias]
17、column_alias=expression}[,...n]显示居住在加利福尼亚州且姓名不为McBadden的作者列。USEpubsSELECTau_fname,au_lname,phoneASTelephoneFROMauthorsWHEREs
18、tate='CA'andau_lnam