資源描述:
《數(shù)據(jù)庫(kù)sql變量.ppt》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、第2章Transact-SQL語(yǔ)言2.1數(shù)據(jù)定義語(yǔ)言(DDL)2.2數(shù)據(jù)操縱語(yǔ)言(DML)2.3數(shù)據(jù)控制語(yǔ)言(DCL)2.4系統(tǒng)存儲(chǔ)過(guò)程2.5其它語(yǔ)言元素上一章返回目錄Transact-SQL語(yǔ)言主要組成部分?jǐn)?shù)據(jù)定義語(yǔ)言(DDL,DataDefinitionLanguage)數(shù)據(jù)操縱語(yǔ)言(DML,DataManipularionLanguage)數(shù)據(jù)控制語(yǔ)言(DCL,DataControlLanguage)系統(tǒng)存儲(chǔ)過(guò)程(SystemStoredProcedure)一些附加的語(yǔ)言元素2.1數(shù)據(jù)定義語(yǔ)言(DDL)數(shù)據(jù)定
2、義語(yǔ)言是指用來(lái)定義和管理數(shù)據(jù)庫(kù)以及數(shù)據(jù)庫(kù)中的各種對(duì)象的語(yǔ)句,這些語(yǔ)句包括CREATE、ALTER和DROP等語(yǔ)句。在SQLServer2000中,數(shù)據(jù)庫(kù)對(duì)象包括表、視圖、觸發(fā)器、存儲(chǔ)過(guò)程、規(guī)則、缺省、用戶自定義的數(shù)據(jù)類型等。這些對(duì)象的創(chuàng)建、修改和刪除等都可以通過(guò)使用CREATE、ALTER、DROP等語(yǔ)句來(lái)完成。程序:創(chuàng)建數(shù)據(jù)庫(kù)表的一個(gè)例子CREATETABLEpublishers(pub_idchar(4)NOTNULLCONSTRAINTUPKCL_pubindPRIMARYKEYCLUSTEREDCHECK(
3、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:修改視圖的一個(gè)例子USEpubsGOALTERVIEWyourviewASSELECTtitle,mycount=@@ROWCOUNT,ytd_salesFROMtitle
4、sWHEREtype='mod_cook'GOSELECT*FROMyourviewGO程序3:刪除觸發(fā)器的一個(gè)例子/*下面的例子將刪除觸發(fā)器employee_insupd。*/USEpubsIFEXISTS(SELECTnameFROMsysobjectsWHEREname='employee_insupd'ANDtype='TR')DROPTRIGGERemployee_insupdGO2.2數(shù)據(jù)操縱語(yǔ)言(DML)數(shù)據(jù)操縱語(yǔ)言是指用來(lái)查詢、添加、修改和刪除數(shù)據(jù)庫(kù)中數(shù)據(jù)的語(yǔ)句,這些語(yǔ)句包括SELECT、INSER
5、T、UPDATE、DELETE等。在默認(rèn)情況下,只有sysadmin、dbcreator、db_owner或db_datawriter等角色的成員才有權(quán)利執(zhí)行數(shù)據(jù)操縱語(yǔ)言。1、SELECT語(yǔ)句SELECT語(yǔ)句的語(yǔ)法形式如下:SELECTselect_list[INTOnew_table]FROMtable_source[WHEREsearch_condition][GROUPBYgroup_by_expression][HAVINGsearch_condition][ORDERBYorder_expression[
6、ASC
7、DESC]][COMPUTEclause][FORBROWSE]程序4:顯示居住在加利福尼亞州且姓名不為McBadden的作者列。USEpubsSELECTau_fname,au_lname,phoneASTelephoneFROMauthorsWHEREstate='CA'andau_lname<>'McBadden'ORDERBYau_lnameASC,au_fnameASC程序5:使用兩個(gè)相關(guān)子查詢查找作者姓名,這些作者至少參與過(guò)一本受歡迎的計(jì)算機(jī)書籍的創(chuàng)作。USEpubsSELECTau_lname
8、,au_fnameFROMauthorsWHEREau_idIN(SELECTau_idFROMtitleauthorWHEREtitle_idIN(SELECTtitle_idFROMtitlesWHEREtype='popular_comp'))程序7:先刪除表T1,然后又創(chuàng)建一個(gè)帶有四個(gè)列的表T1。最后利用INSERT語(yǔ)句插入一些數(shù)據(jù)行,這些行只有部分列包含值。IFEXISTS(SELECTTABLE_NAMEFROMINFORMATION_SCHEMA.TABLESWHERETABLE_NAME='T1')
9、DROPTABLET1GOCREATETABLET1(column_1intidentity,column_2varchar(30)CONSTRAINTdefault_nameDEFAULT('columndefault'),column_3intNULL,column_4varchar(40))INSERTINTOT1(column_4)VALUES('E