![數(shù)據(jù)庫系統(tǒng)技術(shù) 項目五 使用T-SQL命令定義數(shù)據(jù)庫和表_第1頁](http://file4.renrendoc.com/view/6395fcda80de204a3e7d2b64262389ea/6395fcda80de204a3e7d2b64262389ea1.gif)
![數(shù)據(jù)庫系統(tǒng)技術(shù) 項目五 使用T-SQL命令定義數(shù)據(jù)庫和表_第2頁](http://file4.renrendoc.com/view/6395fcda80de204a3e7d2b64262389ea/6395fcda80de204a3e7d2b64262389ea2.gif)
![數(shù)據(jù)庫系統(tǒng)技術(shù) 項目五 使用T-SQL命令定義數(shù)據(jù)庫和表_第3頁](http://file4.renrendoc.com/view/6395fcda80de204a3e7d2b64262389ea/6395fcda80de204a3e7d2b64262389ea3.gif)
![數(shù)據(jù)庫系統(tǒng)技術(shù) 項目五 使用T-SQL命令定義數(shù)據(jù)庫和表_第4頁](http://file4.renrendoc.com/view/6395fcda80de204a3e7d2b64262389ea/6395fcda80de204a3e7d2b64262389ea4.gif)
![數(shù)據(jù)庫系統(tǒng)技術(shù) 項目五 使用T-SQL命令定義數(shù)據(jù)庫和表_第5頁](http://file4.renrendoc.com/view/6395fcda80de204a3e7d2b64262389ea/6395fcda80de204a3e7d2b64262389ea5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
項目五使用T-SQL命令定義數(shù)據(jù)庫和表了解T-SQL語言1
T-SQL語言基礎(chǔ)2使用T-SQL命令定義數(shù)據(jù)庫3使用T-SQL命令定義表4
了解T-SQL語言初識T-SQL語言T-SQL語言的開發(fā)環(huán)境T-SQL語言標(biāo)識符及語法約定SQL語言SQL是StructuredQueryLanguage的縮寫,譯為結(jié)構(gòu)化查詢語言,最早的SQL語言于1979年在IBM公司的關(guān)系數(shù)據(jù)庫系統(tǒng)SystemR得到實現(xiàn)。1986年10月美國國家標(biāo)準(zhǔn)化學(xué)會(ANSI)采用SQL作為關(guān)系數(shù)據(jù)庫管理系統(tǒng)的標(biāo)準(zhǔn)語言,并公布了第一個SQL標(biāo)準(zhǔn),稱為SQL-86。隨后國際標(biāo)準(zhǔn)化組織(ISO)也接納了這一標(biāo)準(zhǔn),并對其作進(jìn)一步的完善,這項工作于1989年4月完成,公布后就是我們所說的SQL-89。SQL語言在上面的基礎(chǔ)上,ISO和ANSI聯(lián)手對SQL進(jìn)行研究和完善,于1992年8月又推出了新的SQL標(biāo)準(zhǔn)—SQL-92(或簡稱為SQL2)。后來又對SQL-92進(jìn)行了完善和擴(kuò)充,于1999年推出了SQL-99(或簡稱為SQL3),這是最新的SQL版本?,F(xiàn)今的SQL語言已經(jīng)發(fā)展成為關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言,幾乎所有的數(shù)據(jù)庫產(chǎn)品都支持SQL語言。當(dāng)然除了SQL以外,還有其它類似的一些數(shù)據(jù)庫語言,如QBE、Quel、Datalog等,但這些語言僅僅少數(shù)人在使用并不是主流的數(shù)據(jù)庫語言。根據(jù)功能來劃分SQL語言分為四類SQL功能名稱SQL功能英文簡稱和全稱SQL語句數(shù)據(jù)查詢DQL(DataQueryLanguage)SELECT數(shù)據(jù)操縱DML(DataManipulationLanguage)INSERTUPDATEDELETE數(shù)據(jù)定義DQL(DataDefinitionLanguage)CREATEALTERDROP數(shù)據(jù)控制DQL(DataControlLanguage)GRANTREVOKET-SQL語言不同的數(shù)據(jù)庫軟件廠商一方面采納SQL語言作為自己的數(shù)據(jù)庫的語言,另一方面又對SQL語言進(jìn)行了不同程度的擴(kuò)展。而T-SQL語言正是微軟公司在其SQLServer關(guān)系數(shù)據(jù)庫系統(tǒng)中的實現(xiàn)。T-SQL語言即事務(wù)SQL(Transact-SQL),簡稱為T-SQL。T-SQL在SQL語言的基礎(chǔ)上增加了變量、流程控制、功能函數(shù)、系統(tǒng)存儲過程等功能,提供了豐富的編程結(jié)構(gòu)。T-SQL是對SQL語言擴(kuò)充的基礎(chǔ)上發(fā)展起來的,因此它的核心內(nèi)容還是SQL語言中的四類語句。T-SQL語言的開發(fā)環(huán)境SQL語句的執(zhí)行方式主要有四種,分別是:直接調(diào)用執(zhí)行、嵌入式執(zhí)行、模塊綁定執(zhí)行和通過調(diào)用層接口(CLI)執(zhí)行。常用的是直接調(diào)用執(zhí)行和通過調(diào)用層接口(CLI)執(zhí)行這兩種。演示使用SSMS直接執(zhí)行T-SQL語句。T-SQL語言中的標(biāo)識符標(biāo)識符:在T-SQL語言中,對數(shù)據(jù)庫、表、變量、存儲過程、函數(shù)等的定義和引用都需要通過其名稱(標(biāo)識符)來完成。我們所說的標(biāo)識符,實際上就是我們給對象起的名稱,本質(zhì)上是一個字符串。標(biāo)識符分為常規(guī)標(biāo)識符和分隔標(biāo)識符兩種常規(guī)標(biāo)識符:是不包含空格的標(biāo)識符,可以不需要使用單引號或方括號將其分隔的標(biāo)識符。定義常規(guī)標(biāo)識符時要符合以下規(guī)則:標(biāo)識符中首字符必須是英文字母、漢字、數(shù)下劃線(_)、@和#,首字符后面可以是其它字符,最長不超過128個字符,不能和T-SQL語言中的關(guān)鍵字重復(fù),也不能用@@開頭。分隔標(biāo)識符:是指包含在兩個單引號(’’)或者方括號([])內(nèi)的字符串,這些字符串中可以包含空格。T-SQL的語法約定大寫字母:代表T-SQL中保留的關(guān)鍵字,如CREATE、SELECT、UPDATE、DELETE等。小寫字母:表示表達(dá)式、標(biāo)識符等。豎線“|”:表示參數(shù)之間是“或”的關(guān)系,用戶可以從其中選擇使用。大括號“{}”:大括號中的內(nèi)容為必選參數(shù),其中可以包含多個選項,各個選項之間用豎線分隔,用戶必須從選項中選擇其中一項。方括號“[]”:方括號內(nèi)所列出的項為可選項,用戶可以根據(jù)需要選擇使用。省略號“…”:表示重復(fù)前面的語法項目。項目五使用T-SQL命令定義數(shù)據(jù)庫和表了解T-SQL語言1
T-SQL語言基礎(chǔ)2使用T-SQL命令定義數(shù)據(jù)庫3使用T-SQL命令定義表4
T-SQL語言基礎(chǔ)T-SQL中的常量和變量T-SQL中的運算符T-SQL中的函數(shù)T-SQL中的批處理T-SQL中的流程控制語句T-SQL中的功能性語句
T-SQL中的常量和變量常量,是表示一個特定數(shù)據(jù)值的符號,常量的類型取決于它所表示的值的數(shù)據(jù)類型。在SQLServer中,有字符串常量、二進(jìn)制常量、BIT常量、日期和時間常量等。變量是指在程序運行過程中,值可以發(fā)生變化的量。在T-SQL中可以使用兩種類型變量:一種是局部變量,另外一種是全局變量。局部變量是用戶自定義的變量,在T-SQL使用局部變量命名必須以“@”開頭,如@xh,@xm。局部變量必須先用DECLARE定義后才可使用,其語法如下:DECLARE@變量名變量類型[,@變量名變量類型]T-SQL中的常量賦值在T-SQL中不能像在高級程序語言中使用
變量名=變量值這樣的方法來給變量賦值,必須使用SET命令或SELECT命令來給變量賦值,SET命令一次只能給一個變量賦值,而SELECT命令一次可以給多個變量賦值。其語法如下:SET@局部變量名=變量值SELECT@局部變量名=變量值[,@變量名變量類型]演示教材中的例5-1全局變量含義@@SERVERNAME返回運行SQLServer數(shù)據(jù)庫的地服務(wù)器名稱@@VERSION返回SQLServer當(dāng)前安裝版本信息@@OPTIONS返回當(dāng)前SET選項的信息@@TRANCOUNT返回當(dāng)前連接的活動事務(wù)數(shù)@@CPU_BUSY返回SQLServer最近一次啟動以來CPU工作時間@@ROWCOUNT返回受前一條SQL語句影響的行數(shù)@@ERROR返回最后執(zhí)行的SQL語句的錯誤代碼T-SQL中的全局變量
全局變量是由SQLServer系統(tǒng)定義并使用的變量,用戶不能定義全局變量,但可以使用全局變量。全局變量通常存儲SQLServer的配置參數(shù)和性能統(tǒng)計數(shù)據(jù),用戶可在程序中用全局變量來測試系統(tǒng)性能或獲取T-SQL命令執(zhí)行后的狀態(tài)值。使用全局變量必須注意的事項全局變量全部以“@@”為標(biāo)記全局變量不是由用戶定義的,而是由數(shù)據(jù)庫服務(wù)器定義的。用戶只能使用SQLServer數(shù)據(jù)庫系統(tǒng)預(yù)先定義的全局變量。引用全局變量時,必須以標(biāo)記符“@@”開頭。局部變量的名稱不能與全局變量的名稱相同,否則會在應(yīng)用中出錯。T-SQL中的運算符運算符是一種符號,用來指定在一個或多個表達(dá)式中執(zhí)行的操作。SQLServer提供的運算符有:算術(shù)運算符賦值運算符位運算符比較運算符邏輯運算符字符串連接運算符一元運算符等。T-SQL中的運算符重點掌握算術(shù)運算符、賦值運算符、比較運算符、邏輯運算符和字符串連接運算符。演示教材中例5-2至例5-5。T-SQL中的運算符SQLServer提供了許多內(nèi)部函數(shù),可以分為數(shù)學(xué)函數(shù)、字符串函數(shù)、日期函數(shù)、聚合函數(shù)、系統(tǒng)函數(shù)及用戶自定義函數(shù)等。函數(shù)給用戶提供了強大的功能,使用戶不需要編寫很多代碼就能夠完成某些任務(wù)和操作。演示教材中例5-6至例5-8。T-SQL中的批處理批處理是指包含一條或多條T-SQL語句的語句組,批處理中的所有T-SQL語句編譯成一個執(zhí)行計劃,從應(yīng)用程序一次性地發(fā)送到SQLServer數(shù)據(jù)庫服務(wù)器執(zhí)行。編寫批處理時,GO語句是批處理命令的結(jié)束標(biāo)志,當(dāng)編譯器讀取到GO語句時,會把GO語句前的所有語句當(dāng)作一個批處理,并將這些語句打包發(fā)送給數(shù)據(jù)庫服務(wù)器。GO語句本身不是T-SQL語句的組成部分,只是一個表示批處理結(jié)束的前端指令。T-SQL中的流程控制語句流程控制語句用于控制SQL語句、語句塊的執(zhí)行順序,T-SQL中的流程控制語句以及功能如下表所示。語句功能BEGIN…END定義語句塊IF…ELSE判斷語句IF…EXISTS檢測語句CASE…WHEN多分支判斷語句WHILE循環(huán)語句BREAK跳出循環(huán)語句CONTINUE重新啟用循環(huán)語句GOTO跳轉(zhuǎn)語句RETUEN返回語句WAITFOR延期執(zhí)行語句T-SQL中的流程控制語句演示教材中例5-9至例5-11。T-SQL中的注釋語句注釋是指程序代碼中不執(zhí)行的文本字符串,是對程序的說明,可以提高程序的可讀性,使程序代碼更易于維護(hù),一般嵌入在程序中并以特殊的標(biāo)記顯示出來。在T-SQL中,注釋可以包含在批處理、存儲過程、觸發(fā)器中。T-SQL中有兩種類型的注釋符:
--:這是ANSI標(biāo)準(zhǔn)的兩個連字符組成的注釋符,用于單行注釋。
/*…*/:這是與C語言相同的程序注釋符,/*用于注釋文字的開頭,*/用于注釋文字的結(jié)尾,可以在程序中標(biāo)識多行文字為注釋語句。T-SQL中的輸出語句輸出語句PRINT語句用于把消息傳遞到客戶端應(yīng)用程序,通常是在用戶屏幕上顯示,消息字符串最長可達(dá)8000個字符,超過8000個的任何字符均被截斷。PRINT語句只能傳輸文本型的字符串,或者是單個的字符型變量。PRINT語句也可以傳遞全局變量,但只能是字符類型的全局變量。選項設(shè)置語句(SET)
SQLServer2008數(shù)據(jù)庫系統(tǒng)中設(shè)置了一些選項,用以影響服務(wù)器處理特定條件的方式,這些選項存在于用戶與服務(wù)器的連接期間或用戶的存儲過程和觸發(fā)器中,可以使用SET語句設(shè)置這些參數(shù)。語法如下:
SETcondition{on|off|Value}部分選項參數(shù)設(shè)置選項值含義SETSTATISTICSTIMEON讓服務(wù)器返回語句的運行時間SETSTATISTICSIOON讓服務(wù)器返回請示的物理和邏輯頁數(shù)SETSHOWPLANON讓服務(wù)器返回當(dāng)前正在運行的計劃中的查詢SETPARSONLYON讓服務(wù)器對查詢進(jìn)行語法檢查但并不運行SETROWCOUNTn讓服務(wù)器只返回查詢中的前n行SETNOCOUNTON不必報告查詢所返回的行數(shù)項目五使用T-SQL命令定義數(shù)據(jù)庫和表了解T-SQL語言1
T-SQL語言基礎(chǔ)2使用T-SQL命令定義數(shù)據(jù)庫3使用T-SQL命令定義表4
使用T-SQL命令定義數(shù)據(jù)庫數(shù)據(jù)庫在Windows操作系統(tǒng)中體現(xiàn)為數(shù)據(jù)庫文件,數(shù)據(jù)庫文件包括數(shù)據(jù)文件和日志文件兩大類。我們在這一任務(wù)中介紹創(chuàng)建數(shù)據(jù)庫的命令CREATEDATABASE、修改數(shù)據(jù)庫命令A(yù)LTERDATABASE和刪除數(shù)據(jù)庫命令DROPDATABASE。創(chuàng)建數(shù)據(jù)庫命令CREATEDATABASE最簡單的CREATEDATABASE命令格式
CREATEDATABASEdatabase_name指定數(shù)據(jù)庫文件名稱和位置的CREATEDATABASE命令格式
CREATEDATABASEdatabase_nameONPRIMARY(--這里的關(guān)鍵字PRIMARY可省略,用于主文件的定義
NAME=logical_file_name,--設(shè)置主數(shù)據(jù)文件的邏輯名稱
FILENAME=os_file_name
--設(shè)置主數(shù)據(jù)文件的操作系統(tǒng)名稱
)LOGON(--LOGON用于日志文件的定義
NAME=logical_file_name,--設(shè)置日志文件的邏輯名稱
FILENAME=os_file_name
--設(shè)置日志文件的操作系統(tǒng)名稱
)創(chuàng)建數(shù)據(jù)庫命令CREATEDATABASE演示教材中例5-14至例5-16創(chuàng)建數(shù)據(jù)庫命令之完整格式CREATEDATABASE數(shù)據(jù)庫名
[ON
[<filespec>[,...n]]
[,<filegroup>[,...n]]
][LOGON{<filespec>[,...n]}][COLLATEcollation_name
][FORLOAD|FORATTACH]ON:指定主數(shù)據(jù)文件的相關(guān)信息;LOGON:指定日志文件的相關(guān)信息;指定數(shù)據(jù)庫的默認(rèn)排序規(guī)則。{Windows_collation_name}|{SQL_collation_name}
指定從現(xiàn)有的一組操作系統(tǒng)文件中附加數(shù)據(jù)庫。與早期版本的MicrosoftSQLServer兼容。
<filespec>::=[PRIMARY]
([NAME=logical_file_name
,]
FILENAME='os_file_name'
[,SIZE=size
]
[,MAXSIZE={max_size|UNLIMITED}]
[,FILEGROWTH=growth_increment
])[,...n]<filegroup>::=FILEGROUPfilegroup_name<filespec>[,...n]說明主數(shù)據(jù)文件或日志文件的邏輯文件名、OS文件名、大小、最大大小和增長率!說明新建文件組和屬于組內(nèi)的文件項!創(chuàng)建數(shù)據(jù)庫命令之完整格式建立數(shù)據(jù)庫實例一CREATEDATABASE設(shè)備管理ONPRIMARY
(
NAME='設(shè)備管理_data',--主數(shù)據(jù)文件的邏輯名
FILENAME=‘D:\data\設(shè)備管理_data.mdf’,
--主數(shù)據(jù)文件的物理名
SIZE=10MB,--初始大小
MAXSIZE=UNLIMTED
)LOGON
(
NAME='設(shè)備管理_log',--日志文件的邏輯名
FILENAME=‘D:\data\設(shè)備管理_log.ldf’,
--日志文件的物理名
SIZE=1MB,
MAXSIZE=5MB--最大大?。┦纠?/p>
創(chuàng)建指定數(shù)據(jù)文件和事務(wù)日志文件的數(shù)據(jù)庫示例創(chuàng)建名為Sales的數(shù)據(jù)庫。因為沒有使用關(guān)鍵字PRIMARY,第一個文件(Sales_dat)成為主文件。因為Sales_dat
文件的SIZE參數(shù)沒有指定MB或KB,因此默認(rèn)為MB,以兆字節(jié)為單位進(jìn)行分配。Sales_log
文件以兆字節(jié)為單位進(jìn)行分配,因為SIZE參數(shù)中顯式聲明了MB后綴。CREATEDATABASESalesON(NAME=Sales_dat,FILENAME='e:\data\saledat.mdf',SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOGON(NAME='Sales_log',FILENAME='e:\data\salelog.ldf',SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=5MB)
示例:指定多個數(shù)據(jù)文件和事務(wù)日志文件創(chuàng)建數(shù)據(jù)庫后面的示例使用三個100MB的數(shù)據(jù)文件和兩個100MB的事務(wù)日志文件創(chuàng)建了名為Archive的數(shù)據(jù)庫。主文件是列表中的第一個文件,并使用PRIMARY關(guān)鍵字顯式指定。事務(wù)日志文件在LOGON關(guān)鍵字后指定。注意FILENAME選項中所用的文件擴(kuò)展名:主要數(shù)據(jù)文件使用.mdf,次要數(shù)據(jù)文件使用.ndf,事務(wù)日志文件使用.ldf。CREATEDATABASEArchive
ONPRIMARY(NAME=Arch1,FILENAME='c:\programfiles\microsoft
sqlserver\mssql\data\archdat1.mdf',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20),(NAME=Arch2,FILENAME='c:\programfiles\microsoft
sqlserver\mssql\data\archdat2.ndf',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20),(NAME=Arch3,FILENAME='c:\programfiles\microsoft
sqlserver\mssql\data\archdat3.ndf',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20)LOGON(NAME=Archlog1,FILENAME='c:\programfiles\microsoft
sqlserver\mssql\data\archlog1.ldf',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20),(NAME=Archlog2,FILENAME='c:\programfiles\microsoft
sqlserver\mssql\data\archlog2.ldf',SIZE=100MB,MAXSIZE=200,FILEGROWTH=20)使用文件組創(chuàng)建數(shù)據(jù)庫后面的示例使用三個文件組創(chuàng)建名為sales的數(shù)據(jù)庫;主文件組包含文件Spri1_dat和Spri2_dat。指定這些文件的FILEGROWTH增量為15%。
名為SalesGroup1的文件組包含文件SGrp1Fi1和SGrp1Fi2。
名為SalesGroup2的文件組包含文件SGrp2Fi1和SGrp2Fi2。CREATEDATABASESalesONPRIMARY(NAME=SPri1_dat,FILENAME='c:\programfiles\microsoft
sqlserver\mssql\data\SPri1dat.mdf',SIZE=10,MAXSIZE=50,FILEGROWTH=15%),(NAME=SPri2_dat,FILENAME='c:\programfiles\microsoft
sqlserver\mssql\data\SPri2dt.ndf',SIZE=10,MAXSIZE=50,FILEGROWTH=15%),FILEGROUPSalesGroup1(NAME=SGrp1Fi1_dat,FILENAME='c:\programfiles\microsoft
sqlserver\mssql\data\SG1Fi1dt.ndf',SIZE=10,MAXSIZE=50,FILEGROWTH=5),(NAME=SGrp1Fi2_dat,FILENAME='c:\programfiles\microsoft
sqlserver\mssql\data\SG1Fi2dt.ndf',SIZE=10,MAXSIZE=50,FILEGROWTH=5),FILEGROUPSalesGroup2(NAME=SGrp2Fi1_dat,FILENAME='c:\programfiles\microsoft
sqlserver\mssql\data\SG2Fi1dt.ndf',SIZE=10,MAXSIZE=50,FILEGROWTH=5),(NAME=SGrp2Fi2_dat,FILENAME='c:\programfiles\microsoft
sqlserver\mssql\data\SG2Fi2dt.ndf',SIZE=10,MAXSIZE=50,FILEGROWTH=5)LOGON(NAME='Sales_log',FILENAME='c:\programfiles\microsoft
sqlserver\mssql\data\salelog.ldf',SIZE=5MB,MAXSIZE=25MB,FILEGROWTH=5MB)附加數(shù)據(jù)庫假設(shè)前面已經(jīng)創(chuàng)建一個包含物理文件的名為Archive的數(shù)據(jù)庫:CREATEDATABASEArchiveONPRIMARY(FILENAME='c:\programfiles\microsoft
sqlserver\mssql\data\archdat1.mdf')FORATTACH
修改數(shù)據(jù)庫命令A(yù)LTERdatabase更改數(shù)據(jù)庫名稱往數(shù)據(jù)庫中添加文件(擴(kuò)大數(shù)據(jù)庫)更改數(shù)據(jù)庫文件從數(shù)據(jù)庫中刪除文件(縮小數(shù)據(jù)庫)修改數(shù)據(jù)庫使用ALTERDATABASE語句修改數(shù)據(jù)庫的各屬性,包括添加或刪除文件或文件組、修改文件或文件組的屬性等。ALTERDATABASE<數(shù)據(jù)庫名>ADDFILE<文件格式>[TOFILEGROUP<文件組>]|ADDLOGFILE<文件格式>|REMOVEFILE<邏輯文件名>|REMOVEFILEGROUP<文件組名>|MODIFYFILE<文件格式>|MODIFYFILEGROUP<文件組名><文件組屬性>其中“文件格式”的格式為:(NAME=<數(shù)據(jù)文件的邏輯名>[,FILENAME=<數(shù)據(jù)文件的物理名稱>][,SIZE=<數(shù)據(jù)文件的初始大小>][,MAXSIZE=<數(shù)據(jù)文件的最大容量>|UNLIMITED][,FILEGROWTH=<數(shù)據(jù)文件的增長量>]
)更改數(shù)據(jù)庫名稱ALTERDATABASEdatabase_name
--database_name是原數(shù)據(jù)庫名MODIFYNAME=new_database_name;
--new_database_name是新數(shù)據(jù)庫名往數(shù)據(jù)庫中添加文件(擴(kuò)大數(shù)據(jù)庫)ALTERDATABASEdatabase_name
--database_name是要修改的數(shù)據(jù)庫ADDFILE<filespec>
--filespec為新加的文件參數(shù),如文件的邏輯名、操作系統(tǒng)名和
--大小參數(shù)等,與建立數(shù)據(jù)庫時的文件參數(shù)相同。從數(shù)據(jù)庫中刪除文件(縮小數(shù)據(jù)庫)ALTERDATABASEdatabase_name
--database_name是要修改的數(shù)據(jù)庫REMOVEFILElogical_file_name
--logical_file_name為要刪除的文件對應(yīng)的邏輯文件名更改數(shù)據(jù)庫文件ALTERDATABASEdatabase_name
--database_name是要修改的數(shù)據(jù)庫MODIFYFILE<filespec>
--filespec為更改的文件參數(shù),如文件的邏輯名、
--操作系統(tǒng)名和大小參數(shù)等。刪除數(shù)據(jù)庫DROPDATABASE<數(shù)據(jù)庫名>例如:DROPDATABASEArchive--刪除Archive數(shù)據(jù)庫!修改數(shù)據(jù)庫演示并說明教材中例5-17至5-21項目五使用T-SQL命令定義數(shù)據(jù)庫和表了解T-SQL語言1
T-SQL語言基礎(chǔ)2使用T-SQL命令定義數(shù)據(jù)庫3使用T-SQL命令定義表4
使用T-SQL命令創(chuàng)建表創(chuàng)建表時首先要確定在哪一個數(shù)據(jù)庫中創(chuàng)建;然后再確定表的名字,每列的類型、寬度;確定列的約束條件、表主鍵等相關(guān)內(nèi)容。選擇數(shù)據(jù)庫,有兩種方法。手動選擇:在SSMS的工具欄中使用下拉列表框進(jìn)行選擇。命令選擇:USE數(shù)據(jù)庫名創(chuàng)建表的基本命令Createtable表名(<列定義>,…)實例:
createtable教師表
(教師號char(4),
教師姓名char(8),
性別char(2),
年齡smallint,
職稱char(20))創(chuàng)建表—每列后加列級完整性約束每個列后面的完整性約束稱為列級完整性約束,共有六種。
DEFAULT<常量表達(dá)式>:默認(rèn)值約束;
NULL/NOTNULL:空值/非空值約束;
PRIMARYKEY:主碼約束;
UNIQUE:單值約束;
REFERENCE<父表名>(<主碼>):外碼約束;
CHECK(<邏輯表達(dá)式>):檢查約束。創(chuàng)建表—表級完整性約束“表級完整性約束”在所有列定義后給出,包括四種。
PRIMARYKEY(<列名>,…):--主碼約束;
UNIQUE(<列名>,…):--單值約束;
FOREIGNKEY(<列名>,…)REFERENCE<父表名>(<主碼>)
--外碼約束;
CHECK(<邏輯表達(dá)式>):--檢查約束。表/列級完整性約束除默認(rèn)值約束和空值/非空值約束外,對于其他約束,若只涉及到一個列時,則即可以作為列級完整性約束又可以作為表級完整性約束,可取其一使用;若涉及到多個列時,則只能作為表級完整性約束。每個約束前均可加約束名:CONSTRAINT<約束名>…創(chuàng)建表命令—示例2createtable學(xué)生(
學(xué)生號
char(8)primarykey,
姓名
char(6)notnullunique,
性別
char(2)notnull
check(性別=‘男’or性別=‘女’),
出生日期
datetime
check(出生日期<‘1996-12-31’),
專業(yè)
char(10),
年級
int
check(年級>=1and年級<=4))createtable課程(
課程號
char(4)primarykey,
課程名
char(10)notnullunique,
課程學(xué)分
int
check(課程學(xué)分
>=1and課程學(xué)分
<=6))createtable選課(
學(xué)生號
char(8)references學(xué)生(學(xué)生號),
課程號
char(4)references課程(課程號),
成績
int
check(成績>=0and成績<=100),
primarykey(學(xué)生號,課程號))建立表—標(biāo)識列約束標(biāo)識列約束只能用于數(shù)值型數(shù)據(jù)類型,其基本形式為:IDENTITY(初始值,步長值)實例:
createtable訂單
(訂單號int
identity(1001,1)primarykey,
貨品名稱varchar(20)notnull,
客戶編號int
數(shù)量intnotnullcheck(數(shù)量>0),
總金額money,
訂貨日期datetimedefaultgetdate())建立表—使用uniqueidentifier
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 塑料人造革的環(huán)境友好型生產(chǎn)與綠色制造考核試卷
- 借貸合同借用合同范本
- 養(yǎng)雞地租賃合同范例
- 辦公室創(chuàng)新管理與變革引領(lǐng)考核試卷
- 農(nóng)戶合作養(yǎng)豬合同范本
- 2025-2030年可食用級嬰兒手口濕巾企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 公司現(xiàn)金借款合同范例
- 2025-2030年城市熱島效應(yīng)緩解技術(shù)設(shè)備企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 2025-2030年可編程計算器企業(yè)制定與實施新質(zhì)生產(chǎn)力戰(zhàn)略研究報告
- 代理報稅合同范本
- (優(yōu)化版)高中地理新課程標(biāo)準(zhǔn)【2024年修訂版】
- 《Python程序設(shè)計》課件-1:Python簡介與應(yīng)用領(lǐng)域
- 各類心理量表大全
- DB12T990-2020建筑類建設(shè)工程規(guī)劃許可證設(shè)計方案規(guī)范
- 醫(yī)學(xué)教程 常見急腹癥的超聲診斷課件
- DB11T 1481-2024生產(chǎn)經(jīng)營單位生產(chǎn)安全事故應(yīng)急預(yù)案評審規(guī)范
- 《氓》教學(xué)設(shè)計 2023-2024學(xué)年統(tǒng)編版高中語文選擇性必修下冊
- 《網(wǎng)店運營與管理》第3版 課件全套 白東蕊 第1-11章 網(wǎng)上開店概述- 移動網(wǎng)店運營
- 2024年全國國家電網(wǎng)招聘之電網(wǎng)計算機考試歷年考試題(附答案)
- 化學(xué)元素周期表注音版
- 藥物過敏性休克
評論
0/150
提交評論