资源描述:
《《数据库sql变量》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第2章Transact-SQL语言2.1数据定义语言(DDL)2.2数据操纵语言(DML)2.3数据控制语言(DCL)2.4系统存储过程2.5其它语言元素上一章返回目录Transact-SQL语言主要组成部分数据定义语言(DDL,DataDefinitionLanguage)数据操纵语言(DML,DataManipularionLanguage)数据控制语言(DCL,DataControlLanguage)系统存储过程(SystemStoredProcedure)一些附加的语言元素2.1数据定义语言(DD
2、L)数据定义语言是指用来定义和管理数据库以及数据库中的各种对象的语句,这些语句包括CREATE、ALTER和DROP等语句。在SQLServer2000中,数据库对象包括表、视图、触发器、存储过程、规则、缺省、用户自定义的数据类型等。这些对象的创建、修改和删除等都可以通过使用CREATE、ALTER、DROP等语句来完成。程序:创建数据库表的一个例子CREATETABLEpublishers(pub_idchar(4)NOTNULLCONSTRAINTUPKCL_pubindPRIMARYKEYCLUST
3、EREDCHECK(pub_idIN('1389','0736','0877','1622','1756')ORpub_idLIKE'99[0-9][0-9]'),pub_namevarchar(40)NULL,cityvarchar(20)NULL,statechar(2)NULL,countryvarchar(30)NULLDEFAULT('USA'))程序2:修改视图的一个例子USEpubsGOALTERVIEWyourviewASSELECTtitle,mycount=@@ROWCOUNT,ytd
4、_salesFROMtitlesWHEREtype='mod_cook'GOSELECT*FROMyourviewGO程序3:删除触发器的一个例子/*下面的例子将删除触发器employee_insupd。*/USEpubsIFEXISTS(SELECTnameFROMsysobjectsWHEREname='employee_insupd'ANDtype='TR')DROPTRIGGERemployee_insupdGO2.2数据操纵语言(DML)数据操纵语言是指用来查询、添加、修改和删除数据库中数据的语
5、句,这些语句包括SELECT、INSERT、UPDATE、DELETE等。在默认情况下,只有sysadmin、dbcreator、db_owner或db_datawriter等角色的成员才有权利执行数据操纵语言。1、SELECT语句SELECT语句的语法形式如下:SELECTselect_list[INTOnew_table]FROMtable_source[WHEREsearch_condition][GROUPBYgroup_by_expression][HAVINGsearch_condition]
6、[ORDERBYorder_expression[ASC
7、DESC]][COMPUTEclause][FORBROWSE]程序4:显示居住在加利福尼亚州且姓名不为McBadden的作者列。USEpubsSELECTau_fname,au_lname,phoneASTelephoneFROMauthorsWHEREstate='CA'andau_lname<>'McBadden'ORDERBYau_lnameASC,au_fnameASC程序5:使用两个相关子查询查找作者姓名,这些作者至少参与过一本受欢迎的
8、计算机书籍的创作。USEpubsSELECTau_lname,au_fnameFROMauthorsWHEREau_idIN(SELECTau_idFROMtitleauthorWHEREtitle_idIN(SELECTtitle_idFROMtitlesWHEREtype='popular_comp'))程序7:先删除表T1,然后又创建一个带有四个列的表T1。最后利用INSERT语句插入一些数据行,这些行只有部分列包含值。IFEXISTS(SELECTTABLE_NAMEFROMINFORMATION
9、_SCHEMA.TABLESWHERETABLE_NAME='T1')DROPTABLET1GOCREATETABLET1(column_1intidentity,column_2varchar(30)CONSTRAINTdefault_nameDEFAULT('columndefault'),column_3intNULL,column_4varchar(40))INSERTINTOT1(column_4)VALUES('E