關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL_1_第1頁(yè)
關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL_1_第2頁(yè)
關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL_1_第3頁(yè)
關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL_1_第4頁(yè)
關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQL_1_第5頁(yè)
已閱讀5頁(yè),還剩141頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、第第3 3章章 關(guān)系數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言標(biāo)準(zhǔn)語(yǔ)言SQLSQLDatabase Principles and Applications第第3 3章章 關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言關(guān)系數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)語(yǔ)言SQLSQL3.1 SQL3.1 SQL概述概述3.2 3.2 數(shù)據(jù)定義數(shù)據(jù)定義3.3 3.3 數(shù)據(jù)查詢數(shù)據(jù)查詢3.4 3.4 數(shù)據(jù)更新數(shù)據(jù)更新3.5 3.5 索引索引3.6 3.6 視圖視圖3.1 SQL3.1 SQL概述概述vSQL(Structured Query Language) 結(jié)構(gòu)化查詢語(yǔ)言,是關(guān)系數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)語(yǔ)言vSQL是一個(gè)通用的、功能極強(qiáng)的關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言Database Principle

2、s and ApplicationsSQLSQL概述概述SQLSQL的起源與發(fā)展的起源與發(fā)展1986年年10月美國(guó)國(guó)家標(biāo)準(zhǔn)局月美國(guó)國(guó)家標(biāo)準(zhǔn)局ANSI批準(zhǔn)批準(zhǔn)SQL作為作為關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言的美國(guó)標(biāo)準(zhǔn)。稱為關(guān)系數(shù)據(jù)庫(kù)語(yǔ)言的美國(guó)標(biāo)準(zhǔn)。稱為SQL 86。1989年年10月頒布增強(qiáng)完整性特征的月頒布增強(qiáng)完整性特征的SQL 89標(biāo)準(zhǔn)標(biāo)準(zhǔn)1992年年ISO對(duì)標(biāo)準(zhǔn)又進(jìn)行了修訂,稱為對(duì)標(biāo)準(zhǔn)又進(jìn)行了修訂,稱為SQL 921999年年ISO頒布了頒布了SQL 99。SQL標(biāo)準(zhǔn)經(jīng)歷三次修訂,分別為標(biāo)準(zhǔn)經(jīng)歷三次修訂,分別為SQL 2003、SQL 2006和和SQL 2008Database Principles and

3、 ApplicationsSQLSQL概述概述SQLSQL的起源與發(fā)展的起源與發(fā)展 標(biāo)準(zhǔn) 大致頁(yè)數(shù) 發(fā)布日期n SQL/86 1986.10n SQL/89(FIPS 127-1) 120頁(yè) 1989年n SQL/92 622頁(yè) 1992年n SQL99 1700頁(yè) 1999年n SQL2003 3600頁(yè) 2003年Database Principles and ApplicationsSQLSQL概述概述SQLSQL組成組成 數(shù)據(jù)定義語(yǔ)言數(shù)據(jù)定義語(yǔ)言(DDL)對(duì)模式、基本表、視圖、索引、域等的創(chuàng)建、修改和刪除操作。 數(shù)據(jù)操縱語(yǔ)言數(shù)據(jù)操縱語(yǔ)言(DML)查詢和更新數(shù)據(jù)庫(kù)中的數(shù)據(jù)。 數(shù)據(jù)控制語(yǔ)言

4、數(shù)據(jù)控制語(yǔ)言(DCL)對(duì)基本表和視圖的授權(quán)、完整性規(guī)則的描述、事務(wù)控制等。 嵌入式嵌入式SQL語(yǔ)言語(yǔ)言(ESQL)規(guī)定SQL語(yǔ)句在高級(jí)程序設(shè)計(jì)語(yǔ)言中使用的規(guī)范與標(biāo)準(zhǔn)Database Principles and ApplicationsSQLSQL概述概述SQLSQL特點(diǎn)特點(diǎn)1.綜合統(tǒng)一綜合統(tǒng)一n 集數(shù)據(jù)定義語(yǔ)言(DDL),數(shù)據(jù)操縱語(yǔ)言(DML),數(shù)據(jù)控制語(yǔ)言(DCL)功能于一體。n 可以獨(dú)立完成數(shù)據(jù)庫(kù)生命周期中的全部活動(dòng): 定義關(guān)系模式,插入數(shù)據(jù),建立數(shù)據(jù)庫(kù); 對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行查詢和更新; 數(shù)據(jù)庫(kù)重構(gòu)和維護(hù) 數(shù)據(jù)庫(kù)安全性、完整性控制等n 用戶數(shù)據(jù)庫(kù)投入運(yùn)行后,可根據(jù)需要隨時(shí)逐步修改模式,

5、不影響數(shù)據(jù)的運(yùn)行。n 數(shù)據(jù)操作符統(tǒng)一Database Principles and ApplicationsSQLSQL概述概述SQLSQL特點(diǎn)(續(xù))特點(diǎn)(續(xù))2.高度非過(guò)程化高度非過(guò)程化v非關(guān)系數(shù)據(jù)模型的數(shù)據(jù)操縱語(yǔ)言“面向過(guò)程面向過(guò)程”,必須制定存取路徑vSQL只要提出“做什么”,無(wú)須了解存取路徑v存取路徑的選擇以及SQL的操作過(guò)程由系統(tǒng)自動(dòng)完成。Database Principles and ApplicationsSQLSQL概述概述SQLSQL特點(diǎn)(續(xù))特點(diǎn)(續(xù))3.面向集合的操作方式面向集合的操作方式v非關(guān)系數(shù)據(jù)模型采用面向記錄的操作方式,操作對(duì)象是一條記錄vSQL采用集合操作方式

6、操作對(duì)象、查找結(jié)果可以是元組的集合 一次插入、刪除、更新操作的對(duì)象可以是元組的集合Database Principles and ApplicationsSQLSQL概述概述SQLSQL特點(diǎn)(續(xù))特點(diǎn)(續(xù))4.語(yǔ)言簡(jiǎn)潔,易學(xué)易用語(yǔ)言簡(jiǎn)潔,易學(xué)易用SQL功能極強(qiáng),完成核心功能只用了9個(gè)動(dòng)詞。Database Principles and ApplicationsSQLSQL概述概述SQLSQL特點(diǎn)(續(xù))特點(diǎn)(續(xù))5.以同一種語(yǔ)法結(jié)構(gòu)提供多種使用方式以同一種語(yǔ)法結(jié)構(gòu)提供多種使用方式vSQL是獨(dú)立的語(yǔ)言 能夠獨(dú)立地用于聯(lián)機(jī)交互的使用方式vSQL又是嵌入式語(yǔ)言 SQL能夠嵌入到高級(jí)語(yǔ)言(例如C,C+,

7、Java)程序中,供程序員設(shè)計(jì)程序時(shí)使用Database Principles and ApplicationsSQLSQL概述概述SQLSQL特點(diǎn)(續(xù))特點(diǎn)(續(xù))6.支持三級(jí)模式結(jié)構(gòu)支持三級(jí)模式結(jié)構(gòu)Database Principles and ApplicationsSQLSQL概述概述SQL視圖視圖2視圖視圖1基本表基本表2基本表基本表1基本表基本表3基本表基本表4存儲(chǔ)文件存儲(chǔ)文件2存儲(chǔ)文件存儲(chǔ)文件1外模式外模式模模 式式內(nèi)模式內(nèi)模式SQLSQL特點(diǎn)(續(xù))特點(diǎn)(續(xù))v 基本表n 本身獨(dú)立存在的表n SQL中一個(gè)關(guān)系就對(duì)應(yīng)一個(gè)基本表n 一個(gè)(或多個(gè))基本表對(duì)應(yīng)一個(gè)存儲(chǔ)文件n 一個(gè)表可以帶若

8、干索引v 存儲(chǔ)文件n 邏輯結(jié)構(gòu)組成了關(guān)系數(shù)據(jù)庫(kù)的內(nèi)模式n 物理結(jié)構(gòu)是任意的,對(duì)用戶透明v 視圖n 從一個(gè)或幾個(gè)基本表導(dǎo)出的表n 數(shù)據(jù)庫(kù)中只存放視圖的定義而不存放視圖對(duì)應(yīng)的數(shù)據(jù)n 視圖是一個(gè)虛表n 用戶可以在視圖上再定義視圖Database Principles and ApplicationsSQLSQL概述概述示例數(shù)據(jù)庫(kù)示例數(shù)據(jù)庫(kù)Database Principles and ApplicationsSQLSQL概述概述nonamegenderagespecialty14001王建立 男18CP 14002張玲 女19FR 14003王軍 男20IF 14004李建國(guó) 男19CP 14005

9、趙文娟 女18MA isbnnameauthorpublisherpricecategory04-012955-7積分變換 張?jiān)?高等教育出版社 8.00理04-023909-6線性代數(shù) 賈蘭香 高等教育出版社 16.00理302-00860-4C程序設(shè)計(jì) 譚浩強(qiáng) 清華大學(xué)出版社 20.00工302-02368-5數(shù)據(jù)結(jié)構(gòu)_C語(yǔ)言版 嚴(yán)蔚敏 清華大學(xué)出版社 22.00工302-03314-5數(shù)據(jù)結(jié)構(gòu)題集 嚴(yán)蔚敏 清華大學(xué)出版社 16.00工5613-3644-6讀者文摘精粹版 周宏 陜西師范大學(xué)出版社 38.00文81080-159-1大學(xué)英語(yǔ) 李蔭華 上海外語(yǔ)教育出版社 35.00文noi

10、sbnstartdateenddatefine14001302-00860-42013/8/6 0.0014001302-02368-52013/3/10 2013/6/152.0014001302-03314-52013/3/102013/7/123.001400304-012955-72013/10/72013/12/203.5014004302-00860-42013/1/92013/3/90.0014004302-03314-52013/5/9 0.0014005302-00860-42013/6/182013/7/100.00reader表表book表表borrow表表數(shù)據(jù)類型數(shù)據(jù)類

11、型 數(shù)據(jù)庫(kù)中的所有數(shù)據(jù)都存放在按行與列格式組織的基本表中,數(shù)據(jù)類型是數(shù)據(jù)的一種屬性,決定數(shù)據(jù)存儲(chǔ)的空間、數(shù)據(jù)的長(zhǎng)度以及數(shù)據(jù)能參與的運(yùn)算。 SQL提供的數(shù)據(jù)類型可以歸納為:數(shù)值類型、字符類型、日期時(shí)間類型、貨幣類型和其他數(shù)據(jù)類型。 說(shuō)明:不同的說(shuō)明:不同的SQL實(shí)現(xiàn)定義的數(shù)據(jù)類型以及實(shí)現(xiàn)定義的數(shù)據(jù)類型以及使用的關(guān)鍵字有所不同。以下所述數(shù)據(jù)類型適用使用的關(guān)鍵字有所不同。以下所述數(shù)據(jù)類型適用SQL Server,其他,其他SQL實(shí)現(xiàn)請(qǐng)參照其說(shuō)明。實(shí)現(xiàn)請(qǐng)參照其說(shuō)明。Database Principles and ApplicationsSQLSQL基本知識(shí)基本知識(shí)數(shù)據(jù)類型(續(xù))數(shù)據(jù)類型(續(xù))1.數(shù)值類

12、型數(shù)值類型數(shù)值類型根據(jù)其所存儲(chǔ)數(shù)據(jù)的精確與否,分為精確數(shù)值類型和近似數(shù)值類型。(1)精確數(shù)值類型精確數(shù)值類型用來(lái)存儲(chǔ)沒(méi)有小數(shù)位的整數(shù)或定點(diǎn)小數(shù)Database Principles and ApplicationsSQLSQL基本知識(shí)基本知識(shí)類別數(shù)據(jù)類型字節(jié)數(shù)取值范圍Integerbigint8-263263-1int4-231231-1smallint2-32 76832 767tinyint10255Exact numricdecimal(p,s)517-1038+11038-1數(shù)據(jù)類型(續(xù))數(shù)據(jù)類型(續(xù)) decimal和numeric數(shù)據(jù)類型需要提供兩個(gè)參數(shù),第1個(gè)參數(shù)說(shuō)明數(shù)據(jù)類型的精

13、度,即數(shù)字的個(gè)數(shù),第2個(gè)參數(shù)說(shuō)明數(shù)據(jù)類型的小數(shù)位數(shù),例如decimal(12,4),定義一個(gè)數(shù)據(jù)類型,其中可以存放12位數(shù)字,其中小數(shù)點(diǎn)后面有4位數(shù)字。 在SQL Server中decimal和numeric兩者唯一的區(qū)別在于decimal不能用于帶有identity關(guān)鍵字的列。 數(shù)據(jù)類型bigint, int, smallint和tinyint數(shù)據(jù)類型只能用于存儲(chǔ)整數(shù)。decimal和numeric數(shù)據(jù)類型既可以存放小數(shù)數(shù)值,也可以存放整數(shù),當(dāng)參數(shù)s的值取0時(shí),表示這兩種數(shù)據(jù)類型中存放的是整數(shù)Database Principles and ApplicationsSQLSQL基本知識(shí)基本知識(shí)

14、數(shù)據(jù)類型(續(xù))數(shù)據(jù)類型(續(xù))(2)近似數(shù)值類型近似數(shù)字?jǐn)?shù)據(jù)類型可以存儲(chǔ)十進(jìn)制值,用于表示浮點(diǎn)數(shù)據(jù)。此類型的數(shù)據(jù)不一定有精確的表示。SQL Server存儲(chǔ)數(shù)據(jù)時(shí)對(duì)小數(shù)點(diǎn)右邊的數(shù)進(jìn)行四舍五入。只有在精確數(shù)據(jù)類型不夠大,不能存儲(chǔ)數(shù)值時(shí),才考慮使用float。float(n)中n的取值范圍為153。當(dāng)1n 24時(shí),占用4字節(jié),精度為7;當(dāng)25n 53時(shí),占用8字節(jié),精度為15。Database Principles and ApplicationsSQLSQL基本知識(shí)基本知識(shí)數(shù)據(jù)類型字節(jié)數(shù)取值范圍float(n)4或8-2.23E3082.23E308real4-3.4E383.4E38數(shù)據(jù)類型(續(xù)

15、)數(shù)據(jù)類型(續(xù))2.字符類型字符類型 字符類型是用于存儲(chǔ)字符型數(shù)據(jù)的。該數(shù)據(jù)類型可以使用ASCII編碼或Unicode編碼。 ASCII編碼要求用8個(gè)二進(jìn)制位來(lái)表示字母的范圍。 Unicode標(biāo)準(zhǔn)使用2個(gè)字節(jié)來(lái)表示每個(gè)字符。在 Unicode標(biāo)準(zhǔn)中,包括了以各種字符集定義的全部字符。 字符類型常量應(yīng)該用單引號(hào)單引號(hào)括起來(lái)。Database Principles and ApplicationsSQLSQL基本知識(shí)基本知識(shí)數(shù)據(jù)類型(續(xù))數(shù)據(jù)類型(續(xù))Database Principles and ApplicationsSQLSQL基本知識(shí)基本知識(shí)數(shù)據(jù)類型數(shù)據(jù)類型字節(jié)數(shù)字節(jié)數(shù)字符數(shù)字符數(shù)作用作用

16、char(n)18000最多最多8 000個(gè)字符個(gè)字符固定寬度的固定寬度的ASCII數(shù)據(jù)類型數(shù)據(jù)類型varchar(n)18000最多最多8 000個(gè)字符個(gè)字符可變寬度的可變寬度的ASCII數(shù)據(jù)類型數(shù)據(jù)類型varchar(max)最大最大2 G最多最多1 073 741 824個(gè)字符個(gè)字符可變寬度的可變寬度的ASCII數(shù)據(jù)類型數(shù)據(jù)類型text最大最大2 G最多最多1 073 741 824個(gè)字符個(gè)字符可變寬度的可變寬度的ASCII數(shù)據(jù)類型數(shù)據(jù)類型nchar(n)28000最多最多4 000個(gè)字符個(gè)字符固定寬度的固定寬度的Unicode數(shù)據(jù)類型數(shù)據(jù)類型nvarchar(n)28000最多最多4

17、000個(gè)字符個(gè)字符可變寬度的可變寬度的Unicode數(shù)據(jù)類型數(shù)據(jù)類型nvarchar(max)最大最大2 G最多最多536 870 912個(gè)字符個(gè)字符固定寬度的固定寬度的Unicode數(shù)據(jù)類型數(shù)據(jù)類型ntext最大最大2 G最多最多536 870 912個(gè)字符個(gè)字符固定寬度的固定寬度的Unicode數(shù)據(jù)類型數(shù)據(jù)類型數(shù)據(jù)類型(續(xù))數(shù)據(jù)類型(續(xù))3.日期時(shí)間類型日期時(shí)間類型 日期時(shí)間類型數(shù)據(jù),可具體分為datetime與smalldatetime兩種類型。datetime和smalldatetime數(shù)據(jù)類型在計(jì)算機(jī)內(nèi)部是作為整數(shù)存儲(chǔ)的。 datetime類型存儲(chǔ)為1對(duì)4字節(jié)整數(shù),前4字節(jié)存儲(chǔ)日期值

18、,后4字節(jié)存儲(chǔ)時(shí)間值。它們一起表示自1753年1月1日午夜12點(diǎn)鐘經(jīng)過(guò)的毫秒數(shù)。 smalldatetime類型存儲(chǔ)為一對(duì)2字節(jié)整數(shù),前2字節(jié)存儲(chǔ)日期值,后2字節(jié)存儲(chǔ)時(shí)間值,它們一起表示自1900年1月1日午夜12點(diǎn)鐘經(jīng)過(guò)的分鐘SQLSQL基本知識(shí)基本知識(shí)Database Principles and Applications數(shù)據(jù)類型(續(xù))數(shù)據(jù)類型(續(xù)) 日期時(shí)間數(shù)據(jù)類型由有效的日期和時(shí)間組成。如有下列日期和時(shí)間數(shù)據(jù)“12/05/98 12:26:00:00:00 PM”和“2:38:29:15:01 AM 6/15/98”。前一個(gè)數(shù)據(jù)是日期在前,時(shí)間在后。 SQL Server中常用的日期和

19、時(shí)間表示格式如下: 分隔符可用/、-或. ,例如4/15/2005、4-15-05或4.15.2005; 字母日期格式:April 15,2005; 不用分隔符:20050501; 時(shí):分:秒:毫秒:08:05:25:28 時(shí):分 AM|PM :05:08AM、08:05PMSQLSQL基本知識(shí)基本知識(shí)Database Principles and Applications數(shù)據(jù)類型(續(xù))數(shù)據(jù)類型(續(xù))SQLSQL基本知識(shí)基本知識(shí)Database Principles and Applications日期類型字節(jié)數(shù)取值范圍datetime8從1753-1-1到9999-12-31,精度為3.33

20、毫秒smalldatetime4從1900-1-1到2079-12-31,精度為1分鐘數(shù)據(jù)類型(續(xù))數(shù)據(jù)類型(續(xù))4.貨幣類型貨幣類型貨幣數(shù)據(jù)類型可用于存儲(chǔ)精確到小數(shù)點(diǎn)后4個(gè)小數(shù)位的貨幣值。貨幣數(shù)據(jù)類型的特點(diǎn)是小數(shù)點(diǎn)后存儲(chǔ)4位小數(shù),所以在金融應(yīng)用程序中很少使用這種數(shù)據(jù)類型。通常使用decimal數(shù)據(jù)類型代替貨幣數(shù)據(jù)類型,因?yàn)槭褂胐ecimal數(shù)據(jù)類型可以更靈活地指定小數(shù)點(diǎn)后多位數(shù)。貨幣類型常量應(yīng)以貨幣單位符號(hào)做前綴,默認(rèn)$SQLSQL基本知識(shí)基本知識(shí)Database Principles and Applications數(shù)據(jù)類型 字節(jié)數(shù) 取值范圍money8 -922 337 203 685

21、477.5808922 337 203 685 477.5807smallmoney4 -214 748.3648214 748.3647數(shù)據(jù)類型(續(xù))數(shù)據(jù)類型(續(xù))5.二進(jìn)制數(shù)據(jù)類型二進(jìn)制數(shù)據(jù)類型 SQL Server提供了3種二進(jìn)制數(shù)據(jù)類型,允許在一個(gè)表中存儲(chǔ)各種數(shù)量的二進(jìn)制數(shù)據(jù)。SQLSQL基本知識(shí)基本知識(shí)Database Principles and Applications數(shù)據(jù)類型數(shù)據(jù)類型字節(jié)數(shù)字節(jié)數(shù)作用作用binary(n)18 000 存儲(chǔ)固定大小的二進(jìn)制數(shù)據(jù)存儲(chǔ)固定大小的二進(jìn)制數(shù)據(jù)varbinary(n)18 000 存儲(chǔ)可變大小的二進(jìn)制數(shù)據(jù)存儲(chǔ)可變大小的二進(jìn)制數(shù)據(jù)varbin

22、ary(max)最多最多2 G存儲(chǔ)可變大小的二進(jìn)制數(shù)據(jù)存儲(chǔ)可變大小的二進(jìn)制數(shù)據(jù)image最多最多2 G存儲(chǔ)可變大小的二進(jìn)制數(shù)據(jù)存儲(chǔ)可變大小的二進(jìn)制數(shù)據(jù)數(shù)據(jù)類型(續(xù))數(shù)據(jù)類型(續(xù)) 二進(jìn)制數(shù)據(jù)類型用于存儲(chǔ)SQL Server中的文件,如Word、 Excel、 PDF、Visio以及圖像等文件。 image數(shù)據(jù)類型除了可以存儲(chǔ)圖像文件以外,也可以存儲(chǔ)其他二進(jìn)制文件。varbinary(max)數(shù)據(jù)類型是SQL Server 2005新增的一種數(shù)據(jù)類型,它可以存儲(chǔ)與image數(shù)據(jù)類型相同大小的數(shù)據(jù),并且所有能夠在binary/ varbinary數(shù)據(jù)類型上執(zhí)行的操作和函數(shù)都可以在varbinary

23、 (max)數(shù)據(jù)類型上使用,這是image數(shù)據(jù)類型不能做到的。 二進(jìn)制類型常量是以0 x作前綴的十六進(jìn)制數(shù)字字符串。SQLSQL基本知識(shí)基本知識(shí)Database Principles and Applications運(yùn)算符運(yùn)算符1.比較運(yùn)算符比較運(yùn)算符=、=、(或者!=)2.邏輯運(yùn)算符邏輯運(yùn)算符AND、OR和NOT3.算術(shù)運(yùn)算符算術(shù)運(yùn)算符+、-、*和/SQLSQL基本知識(shí)基本知識(shí)Database Principles and Applications運(yùn)算符運(yùn)算符( (續(xù)續(xù)) )4.謂詞謂詞 BETWEEN AND NOT BETWEEN AND 用于判斷屬性列值是否在指定范圍內(nèi)。rage BE

24、TWEEN 18 AND 20rage NOT BETWEEN 18 AND 20 IN和和NOT IN用于判斷屬性列值是否在指定集合內(nèi)。rage IN(15,17,18)rage NOT IN(15,17,18)SQLSQL基本知識(shí)基本知識(shí)Database Principles and Applications運(yùn)算符運(yùn)算符( (續(xù)續(xù)) ) LIKE和和NOT LIKE用于進(jìn)行字符串匹配。語(yǔ)法格式:NOT LIKE 匹配串 ESCAPE 轉(zhuǎn)義字符匹配串由普通字符和/或通配符組成。通配符:通配符:%(百分號(hào)):代表任意長(zhǎng)度(長(zhǎng)度可以為0)的字符串。_(下劃線):代表任意單個(gè)字符。SQLSQL基本

25、知識(shí)基本知識(shí)Database Principles and Applications運(yùn)算符運(yùn)算符( (續(xù)續(xù)) )通配符SQLSQL基本知識(shí)基本知識(shí)Database Principles and Applications通配符說(shuō) 明示 例%包含零個(gè)或多個(gè)字符的任意字符串。LIKE %cpu% 將查找在任意位置包含單詞cpu的所有字符串。_(下劃線) 任何單個(gè)字符。LIKE _en 將查找以en結(jié)尾的所有3個(gè)字母的字符串。 指定范圍 (a-f) 或(abcdef) 中的任何單個(gè)字符。LIKE C-Pars 將查找以 ars結(jié)尾并且以介于 C 與 P 之間的任何單個(gè)字符開(kāi)始的字符串。不屬于指定范圍

26、(a-f) 或(abcdef) 的任何單個(gè)字符。LIKE del% 將查找以 de 開(kāi)始并且其后的字母不為 l 的所有字符串。運(yùn)算符運(yùn)算符( (續(xù)續(xù)) )如果要查詢的字符串本身含有或_,需要使用ESCAPE短語(yǔ)對(duì)通配符進(jìn)行轉(zhuǎn)義。例:查詢課程“Delphi_6.0”的課程號(hào)SELECT 課程名,課號(hào) FROM 課程WHERE 課程名 LIKE Delphi/_6.0 ESCAPE /ESCAPE /短語(yǔ)表示“”是換碼字符,這樣匹配串中緊跟在之后的字符“_”不再具有通配符的含義,轉(zhuǎn)意為普通的“_”字符,請(qǐng)注意“”不參與匹配過(guò)程。SQLSQL基本知識(shí)基本知識(shí)Database Principles a

27、nd Applications運(yùn)算符運(yùn)算符( (續(xù)續(xù)) ) IS NULL和和IS NOT NULL 用于判斷是否為空。SQLSQL基本知識(shí)基本知識(shí)Database Principles and Applications運(yùn)算符運(yùn)算符( (續(xù)續(xù)) )運(yùn)算符的優(yōu)先級(jí)SQLSQL基本知識(shí)基本知識(shí)Database Principles and Applications優(yōu)先級(jí)優(yōu)先級(jí)運(yùn)算符運(yùn)算符1()(圓括號(hào))()(圓括號(hào))2+(正)、(正)、-(負(fù))、(負(fù))、(位非)(位非)3*(乘)、(乘)、/(除)、(除)、%(取模)(取模)4+(加)、(加)、(+ 連接)、連接)、-(減)、(減)、 &(

28、位與)(位與)5=, 、=、=、!=、!、!(比較運(yùn)算符)(比較運(yùn)算符)6(位異或)、(位異或)、|(位或)(位或)7NOT8AND9ALL、ANY、BETWEEN、IN、LIKE、OR、SOME10=(賦值)(賦值)3.2 3.2 數(shù)據(jù)定義數(shù)據(jù)定義 SQL的數(shù)據(jù)定義功能:數(shù)據(jù)庫(kù)定義、模式定義、表定義、視圖和索引的定義。 數(shù)據(jù)定義數(shù)據(jù)定義Database Principles and Applications文件和文件組文件和文件組 數(shù)據(jù)庫(kù)是存儲(chǔ)數(shù)據(jù)的容器,數(shù)據(jù)庫(kù)在磁盤(pán)上是以文件為單位存儲(chǔ)的,SQL Server將數(shù)據(jù)庫(kù)映射為一組操作系統(tǒng)文件。 每個(gè) SQL Server 數(shù)據(jù)庫(kù)至少具有兩個(gè)操

29、作系統(tǒng)文件:一個(gè)主數(shù)據(jù)文件和一個(gè)日志文件。 SQL Server 的數(shù)據(jù)庫(kù)具有三種類型的文件 :(1)主數(shù)據(jù)文件:主數(shù)據(jù)文件是數(shù)據(jù)庫(kù)的起點(diǎn),指向數(shù)據(jù)庫(kù)中的其他文件。每個(gè)數(shù)據(jù)庫(kù)都有且只有一個(gè)主數(shù)據(jù)文件。主數(shù)據(jù)文件的推薦文件擴(kuò)展名是 .mdf。創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications文件和文件組文件和文件組(2)次要數(shù)據(jù)文件(輔助數(shù)據(jù)文件):次要數(shù)據(jù)文件可用作存儲(chǔ)用戶數(shù)據(jù)和對(duì)象。如果主數(shù)據(jù)文件可以存儲(chǔ)數(shù)據(jù)庫(kù)中的所有數(shù)據(jù),那么數(shù)據(jù)庫(kù)就不需要次要數(shù)據(jù)文件。有些數(shù)據(jù)庫(kù)可能比較大,所以需要多個(gè)次要數(shù)據(jù)文件,或使用位于不同磁盤(pán)驅(qū)動(dòng)器上的輔助文件將數(shù)據(jù)擴(kuò)展到

30、多個(gè)磁盤(pán)。并不是所有的數(shù)據(jù)庫(kù)都需要次要數(shù)據(jù)文件。次要數(shù)據(jù)文件的推薦擴(kuò)展名為.ndf。(3) 事務(wù)日志文件:日志文件包含著用于恢復(fù)數(shù)據(jù)庫(kù)的所有日志信息。每個(gè)數(shù)據(jù)庫(kù)必須至少有一個(gè)日志文件,當(dāng)然也可以有多個(gè)。SQL Server 2005事務(wù)日志采用提前寫(xiě)入的方式,即對(duì)數(shù)據(jù)庫(kù)的修改先寫(xiě)入事務(wù)日志中,然后再寫(xiě)入數(shù)據(jù)庫(kù)。日志文件的推薦文件擴(kuò)展名是 .ldf。創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications文件和文件組文件和文件組 數(shù)據(jù)庫(kù)文件組 SQL Server中的數(shù)據(jù)庫(kù)文件組分為主文件組和用戶定義文件組。主文件組:主文件組包含主要數(shù)據(jù)庫(kù)文件和任何沒(méi)有明確指

31、派給其他文件組的其他文件。數(shù)據(jù)庫(kù)的系統(tǒng)表都包含在主文件組中。用戶定義文件組:用戶定義文件組是在CREATE DATABASE或ALTER DATABASE語(yǔ)句中,使用FILEGROUP關(guān)鍵字指定的文件組。創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications文件和文件組文件和文件組 文件和文件組應(yīng)用的規(guī)則文件和文件組應(yīng)用的規(guī)則:(1) 一個(gè)文件只能存在于一個(gè)文件組中,一個(gè)文件組也只能被一個(gè)數(shù)據(jù)庫(kù)使用。(2) 主文件組中包含了所有的系統(tǒng)表。當(dāng)建立數(shù)據(jù)庫(kù)時(shí),主文件組包括主數(shù)據(jù)庫(kù)文件和未指定組的其它文件。(3)在創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象時(shí)如果沒(méi)有指定將其放在哪一個(gè)文件組中

32、,就會(huì)將它放在默認(rèn)文件組中。如果沒(méi)有指定默認(rèn)文件組,則主文件組為默認(rèn)文件組。(4)事務(wù)日志文件不屬于任何文件組。創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)v 用戶要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù),必須確定數(shù)據(jù)庫(kù)的名稱、所有者、用戶要?jiǎng)?chuàng)建數(shù)據(jù)庫(kù),必須確定數(shù)據(jù)庫(kù)的名稱、所有者、大小以及存儲(chǔ)該數(shù)據(jù)庫(kù)的文件和文件組。大小以及存儲(chǔ)該數(shù)據(jù)庫(kù)的文件和文件組。v 數(shù)據(jù)庫(kù)名稱必須遵循為標(biāo)識(shí)符指定的規(guī)則數(shù)據(jù)庫(kù)名稱必須遵循為標(biāo)識(shí)符指定的規(guī)則: 數(shù)據(jù)庫(kù)名稱長(zhǎng)度為1128個(gè)字符。 名稱首字符必須是一個(gè)英文字母或“_ ”、“#”和“”中的任意字符(中文版包括漢字)。 在中

33、文版SQL Server中,可以直接使用漢字為數(shù)據(jù)庫(kù)命名。 名稱中不能出現(xiàn)空格,不允許使用SQL Server 的保留字。創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)v在在SQL Server 中創(chuàng)建用戶數(shù)據(jù)庫(kù)主要有以下中創(chuàng)建用戶數(shù)據(jù)庫(kù)主要有以下兩種形式兩種形式: 在SQL Server Management Studio中創(chuàng)建數(shù)據(jù)庫(kù)。 利用Transact-SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)。創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications在在SQL Server Management Stud

34、ioSQL Server Management Studio中創(chuàng)建數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)庫(kù)v在SQL Server Management Studio中創(chuàng)建數(shù)據(jù)庫(kù)的過(guò)程如下: 啟動(dòng)SQL Server Management Studio,在對(duì)象資源管理器中,右擊“數(shù)據(jù)庫(kù)”選項(xiàng),在彈出的快捷菜單中選擇“新建數(shù)據(jù)庫(kù)”命令,如圖3.1所示,打開(kāi)“新建數(shù)據(jù)庫(kù)”窗口。創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications圖圖3.1 選擇選擇“新建數(shù)據(jù)庫(kù)新建數(shù)據(jù)庫(kù)”命令命令在在SQL Server Management StudioSQL Server Management

35、 Studio中創(chuàng)建數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications 在“新建數(shù)據(jù)庫(kù)”窗口中的“常規(guī)”選項(xiàng)卡,如圖4.3所示,有以下幾個(gè)可選項(xiàng)。 在“數(shù)據(jù)庫(kù)名稱”文本框中,輸入要?jiǎng)?chuàng)建的數(shù)據(jù)庫(kù)名稱,如“學(xué)生選課”。 若要通過(guò)接受所有的默認(rèn)值來(lái)創(chuàng)建數(shù)據(jù)庫(kù),則單擊“確定”按鈕;否則,繼續(xù)后面的可選項(xiàng)目的選擇。 若要更改所有者名稱,單擊“所有者”后的 按鈕選擇其他所有者。 若要啟用數(shù)據(jù)庫(kù)的全文搜索,選中“使用全文索引”復(fù)選框。在在SQL Server Management StudioSQL Server Management Studio

36、中創(chuàng)建數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications在在SQL Server Management StudioSQL Server Management Studio中創(chuàng)建數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications 若要更改主數(shù)據(jù)文件和事務(wù)日志文件的默認(rèn)值,并輸入新值。各項(xiàng)的具體含義如下: 邏輯名稱:用來(lái)輸入數(shù)據(jù)文件或日志文件的邏輯文件名。邏輯文件名是在所有Transact-SQL語(yǔ)句中引用物理文件時(shí)所使用的名稱。 文件類型:數(shù)據(jù)庫(kù)文件的類型。對(duì)于新添加的數(shù)據(jù)庫(kù)

37、文件可以選擇“數(shù)據(jù)”或“日志”。 文件組:數(shù)據(jù)庫(kù)中的數(shù)據(jù)文件所屬的文件組。日志文件沒(méi)有文件組的概念。 初始大?。捍_定數(shù)據(jù)庫(kù)文件的初始大小。默認(rèn)的數(shù)據(jù)文件初始大小為3M,日志文件為1M。 自動(dòng)增長(zhǎng):顯示設(shè)置的數(shù)據(jù)文件和日志文件的增長(zhǎng)方式增量。單擊后面的按鈕 可以修改。 路徑:顯示數(shù)據(jù)庫(kù)物理文件的存放路徑。單擊后面的按鈕 可以選擇新的存放路徑。在在SQL Server Management StudioSQL Server Management Studio中創(chuàng)建數(shù)據(jù)庫(kù)中創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications 切換到“新建數(shù)據(jù)庫(kù)”窗口

38、中的“選項(xiàng)”選項(xiàng)卡中,如圖3.3所示。其中有以下幾個(gè)可選項(xiàng): 若要更改數(shù)據(jù)庫(kù)的排序規(guī)則,從“排序規(guī)則”下拉列表框中選擇一個(gè)排序規(guī)則。 若要更改恢復(fù)模式,從“恢復(fù)模式”下拉列表框中選擇一個(gè)恢復(fù)模式。 若要更改數(shù)據(jù)庫(kù)其他選項(xiàng),從下面的列表中根據(jù)需要修改選項(xiàng)值。 切換到“文件組”選項(xiàng)卡進(jìn)行設(shè)置,如圖3.4所示。 如果要添加文件組,可以單擊“添加”按鈕,然后輸入文件組的名稱。 所有參數(shù)設(shè)置完畢后,單擊“確定”按鈕,新的數(shù)據(jù)庫(kù)就創(chuàng)建成功。展開(kāi)對(duì)象資源管理器中的數(shù)據(jù)庫(kù)項(xiàng),可以看到新建的數(shù)據(jù)庫(kù)。創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications圖3.3 新建數(shù)據(jù)庫(kù)“

39、常規(guī)”選項(xiàng)對(duì)話框創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications圖3.4 新建數(shù)據(jù)庫(kù)“文件組”選項(xiàng)對(duì)話框利用利用Transact-SQLTransact-SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)vCREATE DATABASE語(yǔ)句的基本格式CREATE DATABASE database_name -設(shè)置數(shù)據(jù)庫(kù)設(shè)置數(shù)據(jù)庫(kù)名稱名稱 ON PRIMARY ,.n -設(shè)置數(shù)據(jù)設(shè)置數(shù)據(jù)文件文件 , ,.n -設(shè)置設(shè)置文件組文件組 LOG ON ,.n -設(shè)置日志設(shè)置日志文件文件 COLLATE collation_name -設(shè)置排序規(guī)設(shè)置排序規(guī)則名稱則名稱 WI

40、TH -設(shè)置外部訪問(wèn)設(shè)置外部訪問(wèn) ;創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications利用利用Transact-SQLTransact-SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications 說(shuō)明:在T-SQL語(yǔ)言的命令格式中,用 括起來(lái)的內(nèi)容表示是可選的;,n表示重復(fù)前面的內(nèi)容;用括起來(lái)的內(nèi)容表示在實(shí)際編寫(xiě)語(yǔ)句時(shí),用相應(yīng)的內(nèi)容替代;用 括起來(lái)的內(nèi)容表示是必選的;類似A|B的格式,表示A和B只能選擇一個(gè),不能同時(shí)都選。 語(yǔ)句中參數(shù)的說(shuō)明如下: database_name:新建數(shù)據(jù)庫(kù)

41、的名稱。同一個(gè)SQL Server的實(shí)例中數(shù)據(jù)庫(kù)名稱必須唯一,且最長(zhǎng)為128個(gè)字符。利用利用Transact-SQLTransact-SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù) ON:顯式定義用來(lái)存儲(chǔ)數(shù)據(jù)庫(kù)數(shù)據(jù)部分的磁盤(pán)文件:顯式定義用來(lái)存儲(chǔ)數(shù)據(jù)庫(kù)數(shù)據(jù)部分的磁盤(pán)文件(數(shù)據(jù)數(shù)據(jù)文件文件)。當(dāng)后面是以逗號(hào)分隔的用以定義主文件組的數(shù)據(jù)文。當(dāng)后面是以逗號(hào)分隔的用以定義主文件組的數(shù)據(jù)文件的件的 列表時(shí),需使用列表時(shí),需使用 ON。 列表用列表用于定義主文件組的數(shù)據(jù)文件。主文件組的文件列表后可以于定義主文件組的數(shù)據(jù)文件。主文件組的文件列表后可以包含用逗號(hào)分隔的包含用逗號(hào)分隔的列表,列表,列表用列表用于定義用戶文件

42、組及其中的文件。于定義用戶文件組及其中的文件。 filespec的定義格式:的定義格式: := -語(yǔ)法格式語(yǔ)法格式 ( NAME = logical_file_name , FILENAME = os_file_name , SIZE = size KB|MB|GB|TB , MAXSIZE = maxsize KB|MB|GB|TB | UNLIMITED , FILEGROWTH = growth_increment KB|MB|GB|TB|% ) ,.n 創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications利用利用Transact-SQLTrans

43、act-SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù) filegroup的定義格式:的定義格式: := FILEGROUP filegroup_name DEFAULT ,.n PRIMARY:用于指定主文件組中的文件。主文件組:用于指定主文件組中的文件。主文件組不僅包含數(shù)據(jù)庫(kù)系統(tǒng)表中的全部?jī)?nèi)容,而且還包含用不僅包含數(shù)據(jù)庫(kù)系統(tǒng)表中的全部?jī)?nèi)容,而且還包含用戶文件組中沒(méi)有包含的全部對(duì)象。一個(gè)數(shù)據(jù)庫(kù)只能有戶文件組中沒(méi)有包含的全部對(duì)象。一個(gè)數(shù)據(jù)庫(kù)只能有一個(gè)主文件,默認(rèn)情況下,如果不指定一個(gè)主文件,默認(rèn)情況下,如果不指定PRIMARY關(guān)關(guān)鍵字,則在命令中列出的第一個(gè)文件將被默認(rèn)為主文鍵字,則在命令中列出的第一個(gè)文

44、件將被默認(rèn)為主文件。件。 LOG ON:顯式定義用來(lái)存儲(chǔ)數(shù)據(jù)庫(kù)日志的日志文件:顯式定義用來(lái)存儲(chǔ)數(shù)據(jù)庫(kù)日志的日志文件。 創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications利用利用Transact-SQLTransact-SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù) NAME:指定數(shù)據(jù)庫(kù)文件的邏輯名稱,這是在:指定數(shù)據(jù)庫(kù)文件的邏輯名稱,這是在SQL Server系統(tǒng)中使用的名稱,是數(shù)據(jù)庫(kù)文件在系統(tǒng)中使用的名稱,是數(shù)據(jù)庫(kù)文件在SQL Server中的標(biāo)識(shí)符。中的標(biāo)識(shí)符。 FILENAME:指定數(shù)據(jù)庫(kù)文件的在操作系統(tǒng)中文件名:指定數(shù)據(jù)庫(kù)文件的在操作系統(tǒng)中文件名稱和路徑,

45、該操作系統(tǒng)文件名和稱和路徑,該操作系統(tǒng)文件名和NAME的邏輯名稱一的邏輯名稱一一對(duì)應(yīng)。一對(duì)應(yīng)。 SIZE:指定數(shù)據(jù)庫(kù)的初始容量大小。如果沒(méi)有指定主:指定數(shù)據(jù)庫(kù)的初始容量大小。如果沒(méi)有指定主文件的大小,則文件的大小,則SQL Server默認(rèn)其與模板數(shù)據(jù)庫(kù)中默認(rèn)其與模板數(shù)據(jù)庫(kù)中的主文件大小一致,其他數(shù)據(jù)庫(kù)文件和事務(wù)日志文件的主文件大小一致,其他數(shù)據(jù)庫(kù)文件和事務(wù)日志文件則默認(rèn)為則默認(rèn)為1MB。指定大小的數(shù)字。指定大小的數(shù)字size可以使用可以使用KB、MB、GB和和TB后綴,默認(rèn)的后綴為后綴,默認(rèn)的后綴為MB。size中不能中不能使用小數(shù),其最小值為使用小數(shù),其最小值為512KB,默認(rèn)值為,默認(rèn)值

46、為1MB。主文。主文件的件的size不能小于模板數(shù)據(jù)庫(kù)中的主文件。不能小于模板數(shù)據(jù)庫(kù)中的主文件。創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications利用利用Transact-SQLTransact-SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù) MAXSIZE:指定操作系統(tǒng)文件可以增長(zhǎng)到的最大尺寸。如:指定操作系統(tǒng)文件可以增長(zhǎng)到的最大尺寸。如果沒(méi)有指定,則文件可以不斷增大直到充滿磁盤(pán)。果沒(méi)有指定,則文件可以不斷增大直到充滿磁盤(pán)。 FILEGROWTH:指定文件每次增加容量的大小,當(dāng)指定數(shù):指定文件每次增加容量的大小,當(dāng)指定數(shù)據(jù)為據(jù)為0時(shí),表示文件不增長(zhǎng)。增加量可以確

47、定為以時(shí),表示文件不增長(zhǎng)。增加量可以確定為以KB、MB作后綴的字節(jié)數(shù)或以作后綴的字節(jié)數(shù)或以%作后綴的被增加容量文件的百分比作后綴的被增加容量文件的百分比來(lái)表示。默認(rèn)后綴為來(lái)表示。默認(rèn)后綴為MB。如果沒(méi)有指定。如果沒(méi)有指定FILEGROWTH,則默認(rèn)值為則默認(rèn)值為10%,每次擴(kuò)容的最小值為,每次擴(kuò)容的最小值為64KB。 COLLATE collation_name:指定數(shù)據(jù)庫(kù)的默認(rèn)排序規(guī)則:指定數(shù)據(jù)庫(kù)的默認(rèn)排序規(guī)則。排序規(guī)則名稱既可以是。排序規(guī)則名稱既可以是 Windows 排序規(guī)則名稱,也可排序規(guī)則名稱,也可以是以是 SQL 排序規(guī)則名稱。如果沒(méi)有指定排序規(guī)則,則將排序規(guī)則名稱。如果沒(méi)有指定排

48、序規(guī)則,則將 SQL Server 實(shí)例的默認(rèn)排序規(guī)則分配為數(shù)據(jù)庫(kù)的排序規(guī)則實(shí)例的默認(rèn)排序規(guī)則分配為數(shù)據(jù)庫(kù)的排序規(guī)則。不能對(duì)數(shù)據(jù)庫(kù)快照指定排序規(guī)則名稱。不能對(duì)數(shù)據(jù)庫(kù)快照指定排序規(guī)則名稱。 WITH :控制外部與數(shù)據(jù)庫(kù)之:控制外部與數(shù)據(jù)庫(kù)之間的雙向訪問(wèn)。間的雙向訪問(wèn)。創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications利用利用Transact-SQLTransact-SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)【例例3-1】使用使用CREATE DATABASE創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù),創(chuàng)建一個(gè)新的數(shù)據(jù)庫(kù),名稱為名稱為“STUDENT1”,其他所有參數(shù)均取默認(rèn)值。,其他所

49、有參數(shù)均取默認(rèn)值。CREATE DATABASE STUDENT1【例例3-2】創(chuàng)建數(shù)據(jù)庫(kù)名為創(chuàng)建數(shù)據(jù)庫(kù)名為“STUDENT2”的數(shù)據(jù)庫(kù),包含的數(shù)據(jù)庫(kù),包含一個(gè)主數(shù)據(jù)文件和一個(gè)事務(wù)日志文件。主數(shù)據(jù)文件的邏輯一個(gè)主數(shù)據(jù)文件和一個(gè)事務(wù)日志文件。主數(shù)據(jù)文件的邏輯名為名為“STUDENT2_DATA”,操作系統(tǒng)文件名為,操作系統(tǒng)文件名為“STUDENT2_DATA.MDF”,初始容量大小為,初始容量大小為5M,最大,最大容量為容量為20M,文件的增長(zhǎng)量為,文件的增長(zhǎng)量為20%。事務(wù)日志文件的邏輯。事務(wù)日志文件的邏輯文件名為文件名為“STUDENT2_LOG”,物理文件名為,物理文件名為“STUDENT

50、2_LOG.LDF”,初始容量大小為,初始容量大小為5M,最大,最大容量為容量為10M,文件增長(zhǎng)量為,文件增長(zhǎng)量為2M。數(shù)據(jù)文件與事務(wù)日志文件。數(shù)據(jù)文件與事務(wù)日志文件都放在都放在D:SQLDATA目錄。目錄。創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications利用利用Transact-SQLTransact-SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)CREATE DATABASE STUDENT2 ON PRIMARY (NAME = STUDENT2_DATA, FILENAME =D:SQLDATASTUDENT2_DATA.MDF , SIZE = 5MB

51、, MAXSIZE = 20MB, FILEGROWTH = 20%)LOG ON (NAME =STUDENT2_LOG, FILENAME = D:SQLDATASTUDENT2_LOG.LDF, SIZE = 5MB, MAXSIZE = 10MB, FILEGROWTH = 2MB)GO說(shuō)明:必須事先在說(shuō)明:必須事先在D盤(pán)建立好盤(pán)建立好SQLDATA文件夾。文件夾。創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications利用利用Transact-SQLTransact-SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)【例例3-3】創(chuàng)建一個(gè)指定多個(gè)數(shù)據(jù)文件和日志文件

52、的數(shù)據(jù)庫(kù)。該創(chuàng)建一個(gè)指定多個(gè)數(shù)據(jù)文件和日志文件的數(shù)據(jù)庫(kù)。該數(shù)據(jù)庫(kù)名稱為數(shù)據(jù)庫(kù)名稱為T(mén)EACHINGDB,有,有1個(gè)個(gè)5MB和和1個(gè)個(gè)10MB的數(shù)的數(shù)據(jù)文件和據(jù)文件和2個(gè)個(gè)5MB的事務(wù)日志文件。數(shù)據(jù)文件邏輯名稱為的事務(wù)日志文件。數(shù)據(jù)文件邏輯名稱為T(mén)EACHINGDB1和和TEACHINGDB2,物理文件名為,物理文件名為T(mén)EACHINGDB1.mdf和和TEACHINGDB2.ndf。主文件是。主文件是TEACHINGDB1,由,由PRIMARY指定,兩個(gè)數(shù)據(jù)文件的最大指定,兩個(gè)數(shù)據(jù)文件的最大尺寸分別為無(wú)限大和尺寸分別為無(wú)限大和100MB,增長(zhǎng)速度分別為,增長(zhǎng)速度分別為10%和和1MB。事務(wù)日志

53、文件的邏輯名為。事務(wù)日志文件的邏輯名為T(mén)EACHINGDBLOG1和和TEACHINGDBLOG2,物理文件名為,物理文件名為T(mén)EACHINGDBLOG1.ldf和和TEACHINGDBLOG2.ldf,最大,最大尺寸均為尺寸均為50MB,文件增長(zhǎng)速度為,文件增長(zhǎng)速度為1MB。要求數(shù)據(jù)庫(kù)文件和。要求數(shù)據(jù)庫(kù)文件和日志文件的物理文件都存放在日志文件的物理文件都存放在D盤(pán)的盤(pán)的SQLDATA文件夾下。文件夾下。Database Principles and ApplicationsCREATE DATABASE TEACHINGDBON PRIMARY(NAME=TEACHINGDB1,FILENA

54、ME=D:SQLDATATEACHINGDB1.mdf,SIZE=5,MAXSIZE=unlimited,FILEGROWTH=10%),(NAME= TEACHINGDB2,FILENAME=D:SQLDATATEACHINGDB2.ndf,SIZE=10,MAXSIZE=100,FILEGROWTH=1)LOG ON (NAME=TEACHINGDBLOG1,FILENAME=D:SQLDATATEACHINGDBLOG1.ldf,SIZE=5,MAXSIZE=50,FILEGROWTH=1),(NAME=TEACHINGDBLOG2,FILENAME=D:SQLDATATEACHINGD

55、BLOG2.ldf,SIZE=5,MAXSIZE=50,filegrowth=1)GO創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications利用利用Transact-SQLTransact-SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)【例例3-4】在在【例例4-3】創(chuàng)建一個(gè)新的文件組,并將邏輯名稱為創(chuàng)建一個(gè)新的文件組,并將邏輯名稱為T(mén)EACHINGDB2的文件加入此文件組中。的文件加入此文件組中。CREATE DATABASE TEACHINGDBON PRIMARY(NAME=TEACHINGDB1,FILENAME=D:SQLDATATEACHINGDB1.md

56、f,SIZE=5,MAXSIZE=unlimited,FILEGROWTH=10%),FILEGROUP TEACHINGDB_DATA(NAME= TEACHINGDB12,FILENAME=D:SQLDATATEACHINGDB2.ndf,SIZE=10,MAXSIZE=100,FILEGROWTH=1)創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications利用利用Transact-SQLTransact-SQL語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)語(yǔ)句創(chuàng)建數(shù)據(jù)庫(kù)LOG ON (NAME=TEACHINGDBLOG1,FILENAME=D:SQLDATATEACHINGDBL

57、OG1.ldf,SIZE=5,MAXSIZE=50,FILEGROWTH=1),(NAME=TEACHINGDBLOG2,FILENAME=D:SQLDATATEACHINGDBLOG2.ldf,SIZE=5,MAXSIZE=50,filegrowth=1)GO創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications修改數(shù)據(jù)庫(kù)修改數(shù)據(jù)庫(kù)v 建好數(shù)據(jù)庫(kù)后,可以對(duì)其進(jìn)行修改。修改數(shù)據(jù)庫(kù)包括增建好數(shù)據(jù)庫(kù)后,可以對(duì)其進(jìn)行修改。修改數(shù)據(jù)庫(kù)包括增減數(shù)據(jù)文件和日志文件、修改文件屬性(包括更改文件減數(shù)據(jù)文件和日志文件、修改文件屬性(包括更改文件名和文件大?。?、修改數(shù)據(jù)庫(kù)選項(xiàng)

58、等。名和文件大?。?、修改數(shù)據(jù)庫(kù)選項(xiàng)等。v 可以使用可以使用SQL Server Management Studio與與Transact-SQL語(yǔ)句兩種方法修改數(shù)據(jù)庫(kù)。語(yǔ)句兩種方法修改數(shù)據(jù)庫(kù)。創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications使用使用SQL Server Management StudioSQL Server Management Studio修改數(shù)據(jù)庫(kù)修改數(shù)據(jù)庫(kù)v 啟動(dòng)啟動(dòng)SQL Server Management Studio,在對(duì)象資源,在對(duì)象資源管理器中,右擊所需要修改的數(shù)據(jù)庫(kù)如管理器中,右擊所需要修改的數(shù)據(jù)庫(kù)如students,

59、在,在快捷菜單中選擇快捷菜單中選擇“屬性屬性”命令打開(kāi)命令打開(kāi)“數(shù)據(jù)庫(kù)屬性數(shù)據(jù)庫(kù)屬性”窗口窗口,如圖,如圖3.5所示。在所示。在“數(shù)據(jù)庫(kù)屬性數(shù)據(jù)庫(kù)屬性”窗口的窗口的“常規(guī)常規(guī)”選選項(xiàng)卡中,顯示的是數(shù)據(jù)庫(kù)的基本信息,這些信息不能修項(xiàng)卡中,顯示的是數(shù)據(jù)庫(kù)的基本信息,這些信息不能修改。改。v 單擊單擊“文件文件”選項(xiàng)卡,如圖選項(xiàng)卡,如圖3.6所示,可以修改數(shù)據(jù)庫(kù)所示,可以修改數(shù)據(jù)庫(kù)的邏輯名稱、初始大小、自動(dòng)增長(zhǎng)等屬性,也可以根據(jù)的邏輯名稱、初始大小、自動(dòng)增長(zhǎng)等屬性,也可以根據(jù)需要添加數(shù)據(jù)文件和日志文件,還可以更改數(shù)據(jù)庫(kù)的所需要添加數(shù)據(jù)文件和日志文件,還可以更改數(shù)據(jù)庫(kù)的所有者。有者。創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)

60、庫(kù)Database Principles and Applications創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications圖圖3.5 數(shù)據(jù)庫(kù)屬性數(shù)據(jù)庫(kù)屬性“文件文件”選項(xiàng)卡選項(xiàng)卡創(chuàng)建數(shù)據(jù)庫(kù)創(chuàng)建數(shù)據(jù)庫(kù)Database Principles and Applications圖圖3.6 數(shù)據(jù)庫(kù)屬性數(shù)據(jù)庫(kù)屬性“文件文件”選項(xiàng)卡選項(xiàng)卡使用使用SQL Server Management StudioSQL Server Management Studio修改數(shù)據(jù)庫(kù)修改數(shù)據(jù)庫(kù)v 在在“文件組文件組”選項(xiàng)卡中,可以修改現(xiàn)有的文件組,也可選項(xiàng)卡中,可以修改現(xiàn)有的文件組,也可以

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論