




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、【例2.1】創(chuàng)建一個uname用戶定義數(shù)據(jù)類型, 其基于的系統(tǒng)數(shù)據(jù)類型是變長為8的字符,不允許空。Use NorthwindExec sp_addtype uname,'Varchar(8)', 'Not Null '【例2.2】創(chuàng)建一個用戶定義的數(shù)據(jù)類型birthday,其基于的系統(tǒng)數(shù)據(jù)類型是 DateTime,允許空。Use NorthwindExec sp_addtype birthday,datetime,'Null'【例2.3】創(chuàng)建兩個數(shù)據(jù)類型telephone和fax,為電話
2、及傳真號碼設(shè)置專門的數(shù)據(jù)類型。Use Sales Exec sp_addtype telephone,'varchar(24) ','Not Null'Exec sp_addtype fax,'varchar(24)','Null'【例2.4】刪除用戶定義數(shù)據(jù)類型unameUse NorthwindExec sp_droptype 'uname '【例3.1】使用企業(yè)管理器創(chuàng)建一個數(shù)據(jù)庫。名字為Sales,數(shù)據(jù)文件名為Sales_Data.Mdf,存儲在E:下,初始大小為2M
3、B,最大為10MB,文件增量以1MB增長,事務(wù)日志文件名為Sales_Log.Ldf,存儲在在E:下,初始大小為1MB,最大為5MB,文件增量以1MB增長。(1)展開服務(wù)器,右擊“數(shù)據(jù)庫”,在彈出的菜單中選擇“新建數(shù)據(jù)庫”命令。(2)單擊數(shù)據(jù)庫屬性窗口的“常規(guī)”選項卡,在“名稱”欄輸入銷售數(shù)據(jù)庫的名字Sales,結(jié)果如圖3.3所示。圖3.3 Sales數(shù)據(jù)庫屬性窗口 (3)單擊數(shù)據(jù)庫屬性窗口的“數(shù)據(jù)文件”選項卡,在文件名和位置欄輸入文件名及其存放的位置,也可以通過單擊“”按鈕后進(jìn)行修改。本例采用系統(tǒng)默認(rèn)的數(shù)據(jù)文件名字Sales_Data,將路徑修改為“E:”,將數(shù)據(jù)文件的初始大小修改為2MB。
4、(4)文件組采用系統(tǒng)給出的默認(rèn)值PRIMARY,它表示當(dāng)前的這個數(shù)據(jù)文件是在主文件組中。(5)數(shù)據(jù)文件增長采用“按兆字節(jié)”,文件增量為1MB,將文件最大容量限制為10MB,設(shè)置結(jié)果如圖3.4所示。圖3.4 完成設(shè)置后的數(shù)據(jù)文件屬性頁(6)單擊數(shù)據(jù)庫屬性窗口的“事務(wù)日志”選項卡,出現(xiàn)如圖3.5所示的對話框,事務(wù)日志文件名采用系統(tǒng)默認(rèn)的名字Sales_Log, 將路徑修改為“E:”,將事務(wù)日志文件的初始大小修改為1MB。 (7)事務(wù)日志文件增長采用“按兆字節(jié)”,文件增量為1MB,將文件最大容量限制為5MB。 (8)單擊“確定”按鈕,完成數(shù)據(jù)庫的創(chuàng)建?!纠?.2】在查詢分析器中使用CREATE DA
5、TABASE 語句創(chuàng)建一個數(shù)據(jù)庫。名字為NewSales,數(shù)據(jù)文件名為NewSales_Data.Mdf,存儲在E:下,初始大小為4MB,最大為10MB,文件增量以1MB增長,事務(wù)文件為NewSales_Log.Ldf,存儲在E:下,初始大小為2MB,最大為5MB,文件增量以1MB增長。(1) 啟動查詢分析器,輸入登錄名和登錄密碼,按“確定”按鈕后屏幕出現(xiàn)SQL 查詢分析器窗口。 (2) 在查詢分析器中運行以下命令:CREATE DATABASE NewSales ON PRIMARY (NAME = NewSales_Data , FILENA
6、ME = 'E: NewSales_Data.Mdf', SIZE = 4MB, MAXSIZE = 10MB, FILEGROWTH =1 MB) LOG ON (NAME = NewSales_Log , FILENAME = 'E:NewSales_Log.Ldf', SIZE = 2MB, MAXSIZE =5MB,&
7、#160; FILEGROWTH = 1MB) GO【例3.3】使用查詢分析器創(chuàng)建名為Mydb的數(shù)據(jù)庫,它有容量為12MB、8MB、6MB的3 個數(shù)據(jù)文件,其中Mydb_Data1.Mdf是主文件,Mydb_Data2.Ndf、Mydb_Data3.Ndf是次文件,數(shù)據(jù)庫中有兩個容量分別是6MB、5MB的事務(wù)日志文件,文件名分別為Mydb_Log1.Ldf、Mydb_Log2.Ldf。數(shù)據(jù)文件和事務(wù)日志文件均存儲在E:,最大容量均為20MB,文件增量均為2MB。在查詢分析器中運行以下命令:CREATE DATABASE Mydb ON PRIMARY ( N
8、AME = Mydb_Data1, FILENAME ='E: Mydb_Data1.Mdf', SIZE = 12MB, MAXSIZE = 20MB, FILEGROWTH = 2MB),(NAME = Mydb_Data2 , FILENAME ='E: Mydb_Data2.Ndf', SIZE = 8MB, MAXSIZE = 20MB, FILEGROWTH = 2MB),(NAME = Mydb_Data3, FILENAME = 'E: Mydb_Data3.Ndf', SIZE = 6MB, MAXSIZE = 20MB, FI
9、LEGROWTH = 2MB)LOG ON (NAME = Mydb_Log1, FILENAME = 'E: Mydb_Log1.Ldf', SIZE = 6MB, MAXSIZE = 20MB, FILEGROWTH = 2MB),(NAME = Mydb_Log2, FILENAME = 'E: Mydb_Log2.Ldf', SIZE = 5MB, MAXSIZE = 20MB, FILEGROWTH = 2MB)GO【例3.4】在查詢分析器中使用存儲過程SP_HELPDB顯示數(shù)據(jù)庫Sales的信息。在查詢分析器中運行如下命令:SP_HELPDB Sal
10、es【例3.5】在查詢分析器中使用存儲過程SP_HELPDB顯示SQL Server上所有數(shù)據(jù)庫的信息。在查詢分析器中運行如下命令:SP_HELPDB 【例3.6】使用企業(yè)管理器將銷售數(shù)據(jù)庫Sales的數(shù)據(jù)文件Sales_Data由原來的2MB擴(kuò)充為4MB;增加一個次文件Sales_Data.Ndf,存儲在E:,初始容量為2MB,最大容量為10MB,文件增量為1MB;事務(wù)日志文件由原來的1MB擴(kuò)充為2MB。(1)展開服務(wù)器。(2)右擊Sales數(shù)據(jù)庫,在彈出的菜單中選擇“屬性”命令。(3)單擊“屬性”窗口的“數(shù)據(jù)文件”選項卡,將數(shù)據(jù)文件Sales_Data分配的空間修改為4MB。單擊下一個空行
11、,輸入增加的次文件名Sales_1_Data.Ndf,位置為“E:”, 分配的空間為2MB,文件增長采用“按兆字節(jié)”,將文件最大限制為10MB,文件增量為1MB。(4)單擊“屬性”窗口的“事務(wù)日志”選項卡,將事務(wù)日志文件Sales_Log分配的空間修改為2MB (5)單擊“確定”按鈕,完成數(shù)據(jù)庫的擴(kuò)充。 【例3.7】使用查詢分析器將NewSales數(shù)據(jù)庫中的數(shù)據(jù)文件NewSales_Data由原來的4MB擴(kuò)充為8MB,事務(wù)日志文件NewSales_Log由原來的2MB擴(kuò)充為4MB。在查詢分析器中運行如下命令:USE MASTERGOALTER DATABASE NewSalesMODIFY F
12、ILE (NAME='NewSales_Data',SIZE=8MB)GOALTER DATABASE NewSalesMODIFY FILE (NAME='NewSales_Log',SIZE=4MB)GO【例38】使用企業(yè)管理器將NewSales數(shù)據(jù)庫文件NewSales_Data收縮為4MB。(1)展開服務(wù)器。(2)右擊Sales數(shù)據(jù)庫,在彈出菜單中選擇“所在任務(wù)”,然后選擇“收縮數(shù)據(jù)庫”。(3)在圖3.13中單擊“文件”按鈕。選擇“收縮操作”下方的“收縮文件至”,輸入“4MB”。 (4)單擊“確定”按鈕,屏幕顯示“收縮數(shù)據(jù)文件順利完成”對話框。(5)單擊
13、“確定”按鈕,屏幕顯示“數(shù)據(jù)庫已順利收縮”對話框。再單擊“確定”按鈕,結(jié)束收縮數(shù)據(jù)庫操作?!纠?.9】 將數(shù)據(jù)庫Sales的大小壓縮到原來的20%。在查詢分析器中運行如下命令:USE SalesGODBCC SHRINKDATABASE (Sales,20)GO【例310】將數(shù)據(jù)庫NewSales中的數(shù)據(jù)文件NewSales_Data的大小由原來的8MB壓縮為4MB。在查詢分析器中運行如下命令:USE NewSalesGODBCC SHRINKFILE (NewSales_Data,4)GO【例3.11】 顯示數(shù)據(jù)庫可以進(jìn)行重新設(shè)置的選項。在查詢分析器中運行如下命令: SP_DBOPTION【
14、例312】將NewSales數(shù)據(jù)庫設(shè)置為只讀。在查詢分析器中運行如下命令:USE SalesGOSP_DBOPTION 'NewSales' ,'read only' ,'true'GO【例313】將Sales數(shù)據(jù)庫設(shè)置為單用戶方式。在查詢分析器中運行如下命令:USE SalesGOSP_DBOPTION 'Sales' ,'single user' ,'true'GO【例314】將Sales數(shù)據(jù)庫名字修改為MySales。在查詢分析器中運行如下命令:SP_RENAMEDB 'Sales
15、39;, 'MySales'【例315】刪除MySales數(shù)據(jù)庫。在查詢分析器中運行如下命令:DROP DATABASE MySalesGO【例316】使用企業(yè)管理器在Sales數(shù)據(jù)庫中創(chuàng)建Employees數(shù)據(jù)表。Employees數(shù)據(jù)表的結(jié)構(gòu)如表3.1所示。表3.1Employees數(shù)據(jù)表的數(shù)據(jù)結(jié)構(gòu)列名數(shù)據(jù)類型是否為空編號Char(6)No姓名Char(8)No性別BitNo部門Varchar(16)Yes電話Varchar(20)Yes地址Varchar(50)Yes 下面使用企業(yè)管理器創(chuàng)建Employees數(shù)據(jù)表。(1)展開Sales數(shù)據(jù)庫。(2)右擊“表”,在彈出的菜
16、單中選擇“新建表”命令,屏幕顯示表設(shè)計器對話框。(3)在表設(shè)計器對話框中,根據(jù)表3.1輸入對應(yīng)的列名、數(shù)據(jù)類型、長度和是否為空,結(jié)果如圖3.19所示。圖3.19 設(shè)置Employees數(shù)據(jù)表(4)單擊工具欄中的“存盤”按鈕,在彈出的對話框中輸入數(shù)據(jù)表名“Employees”,按“確定”按鈕,即可完成Employees數(shù)據(jù)表的創(chuàng)建?!纠?17】使用查詢分析器在Sales數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)表Goods、Sell。數(shù)據(jù)表Goods、Sell的數(shù)據(jù)結(jié)構(gòu)分別如表3.2、3.3所示。表3.2數(shù)據(jù)表Goods的數(shù)據(jù)結(jié)構(gòu)列名數(shù)據(jù)類型是否為空商品編號IntNo商品名稱Varchar(20)No生產(chǎn)廠商Varcha
17、r(30)No(續(xù)表)列名數(shù)據(jù)類型是否為空進(jìn)貨價MoneyNo零售價MoneyNo數(shù)量IntNo進(jìn)貨時間DateTimeNo進(jìn)貨員工編號Varchar(20)No表3.3數(shù)據(jù)表Sell的數(shù)據(jù)結(jié)構(gòu)列名數(shù)據(jù)類型是否為空銷售編號IntNo商品編號IntNo數(shù)量Int No售出時間DateTimeNo售貨員工編號Char(6)No在查詢分析器中運行如下命令:USE SalesGO-創(chuàng)建進(jìn)貨表GoodsCREATE TABLE Goods ( 商品編號 Int NOT NULL,商品名稱 Varchar(20) NOT NULL,生產(chǎn)廠商 Varchar(20) NOT NULL,進(jìn)貨價 Money N
18、OT NULL,零售價 Money NOT NULL,數(shù)量 Int NOT NULL,進(jìn)貨時間 DateTime NOT NULL,進(jìn)貨員工編號 Char(6) NOT NULL)GO-創(chuàng)建已售商品表SellCREATE TABLE Sell ( 銷售編號 Int NOT NULL,商品編號 Int NOT NULL ,數(shù)量 Int NOT NULL,售出時間 DateTime NOT NULL,售貨員工編號 Char(6) NOT NULL)GO【例3.18】 分別使用企業(yè)管理器、查詢分析器在Sales數(shù)據(jù)庫中為Employees數(shù)據(jù)表創(chuàng)建名為IX_EmployeesNo的PRIMARY K
19、EY約束,以保證不會出現(xiàn)編號相同的員工。使用企業(yè)管理器:(1) 展開Sales數(shù)據(jù)庫,單擊“表”。(2)在詳細(xì)列表中右擊“Employees”,在彈出菜單中選擇“設(shè)計表”命令。(3)選擇“屬性”對話框中的“索引/鍵”選項卡,單擊“新建”按鈕。(4)在“索引名”欄中為索引命名。這里輸入“IX_EmployeesNo”。(5)在“列名”列表中選擇“編號”列,按“升序”排列。(6)選中“創(chuàng)建UNIQUE”。(7)選中“約束”表示創(chuàng)建PRIMARY KEY約束。最后設(shè)置結(jié)果如圖3.20所示。(8)完成設(shè)置后單擊“關(guān)閉”按鈕。(9)單擊工具欄上的“保存”按鈕。使用查詢分析器:在查詢分析器中輸入如下命令:
20、USE SalesGOALTER TABLE EmployeesADD CONSTRAINT IX_EmployeesNo PRIMARY KEY (編號)GO【例3.19】 分別使用企業(yè)管理器、查詢分析器刪除例3.18建立的名為IX_EmployeesNo的PRIMARY KEY約束。使用企業(yè)管理器:(1)展開Sales數(shù)據(jù)庫,單擊“表”。(2)在詳細(xì)列表中右擊“Employees”,在彈出菜單中選擇“設(shè)計表”命令。(3)單擊工具欄上的“表和索引屬性”按鈕。(4)選擇“屬性”對話框中的“索引/鍵”選項卡,在“選定的索引”下拉列表中選擇IX_EmployeesNo。(5)單擊“刪除”按鈕。(6
21、)單擊“關(guān)閉”按鈕。(7)單擊工具欄上的“保存”按鈕。使用查詢分析器:在查詢分析器中輸入如下命令:USE SalesGOALTER TABLE EmployeesDROP CONSTRAINT IX_EmployeesNo GO【例3.20】分別使用企業(yè)管理器、查詢分析器在Sales數(shù)據(jù)庫中為Goods數(shù)據(jù)表創(chuàng)建名為FK_Goods_ Employees1的FOREIGN KEY約束,該約束限制“進(jìn)貨員工編號”列的數(shù)據(jù)只能是Employees數(shù)據(jù)表“編號”列中存在的數(shù)據(jù)。使用企業(yè)管理器查詢分析器:(1)展開Sales數(shù)據(jù)庫,單擊“表”。(2)在詳細(xì)列表中右擊“Goods”,在彈出菜單中選擇“設(shè)
22、計表”命令。(3)單擊工具欄上的“表和索引屬性”按鈕。(4)選擇“屬性”對話框中的“關(guān)系”選項卡,單擊“新建”按鈕。(5)在“外鍵表”下拉列表中選擇“Goods”表。(6)在“外鍵表”下拉列表下方的字段列表中選擇“進(jìn)貨員工編號”。(7)在“主鍵表”下拉列表中選擇“Employees”表。(8)在“主鍵表”下拉列表下方的字段列表中選擇“編號”。(9)在“關(guān)系名”欄中為關(guān)系命名。這里輸入“FK_Goods_ Employees1”。(10)設(shè)置結(jié)果如圖3.21所示。單擊“關(guān)閉”按鈕。圖3.21 創(chuàng)建FOREIGN KEY約束(11)單擊工具欄上的“保存”按鈕。使用查詢分析器:在查詢分析器中輸入如下
23、命令:USE SalesGOALTER TABLE GoodsADD CONSTRAINT FK_Goods_ Employees1 FOREIGN KEY (進(jìn)貨員工編號)REFERENCES Employees(編號)GO單擊“運行”按鈕,返回“命令已成功完成”的信息,說明已成功創(chuàng)建FOREIGN KEY約束。【例3.21】分別使用企業(yè)管理器、查詢分析器在Sales數(shù)據(jù)庫中刪除例3.20建立的名為FK_Goods_ Employees1的FOREIGN KEY約束。使用企業(yè)管理器:(1)展開Sales數(shù)據(jù)庫,單擊“表”。(2)在詳細(xì)列表中右擊“Goods”,在彈出菜單中選擇“設(shè)計表”命令。
24、(3)單擊工具欄上的“表和索引屬性”按鈕。(4)選擇“屬性”對話框中的“關(guān)系”選項卡。(5)在“選定的關(guān)系”下拉列表中選擇“FK_Goods_ Employees1”。(6)單擊“刪除”按鈕,刪除關(guān)系。(7)單擊“關(guān)閉”按鈕。(8)單擊工具欄上的“保存”按鈕。使用查詢分析器:在查詢分析器中輸入如下命令:USE SalesGOALTER TABLE GoodsDROP CONSTRAINT FK_Goods_ Employees1 GO【例322】分別使用企業(yè)管理器、查詢分析器在Sales數(shù)據(jù)庫中為Employees數(shù)據(jù)表創(chuàng)建名為IX_EmployeesTeNo的UNIQUE約束,以保證列名為“
25、電話”的取值不相同。使用企業(yè)管理器:(1)展開Sales數(shù)據(jù)庫,單擊“表”。(2)在詳細(xì)列表中右擊“Employees”,在彈出菜單中選擇“設(shè)計表”命令。(3)選擇“屬性”對話框中的“索引/鍵”選項卡,單擊“新建”按鈕。(4)選中“創(chuàng)建UNIQUE”和“約束”。(5)在“索引名”欄中為索引命名。這里輸入“IX_EmployeesTeNo”。(6)在“列名”列表中選擇“電話”列,按“升序”排列。(7)單擊“關(guān)閉”按鈕。(8)單擊工具欄上的“保存”按鈕。使用查詢分析器:在查詢分析器中輸入如下命令:USE SalesGOALTER TABLE EmployeesADD CONSTRAINT IX_E
26、mployeesTeNo UNIQUE(電話)GO【例323】分別使用企業(yè)管理器、查詢分析器在Sales數(shù)據(jù)庫中刪除例322建立的名為IX_EmployeesTeNo的UNIQUE約束。使用企業(yè)管理器:(1)展開Sales數(shù)據(jù)庫,單擊“表”。(2)在詳細(xì)列表中右擊“Employees”,在彈出菜單中選擇“設(shè)計表”命令。(3)單擊工具欄上的“表和索引屬性”按鈕。(4)選擇“屬性”對話框中的“索引/鍵”選項卡。(5)在“選定的索引”下拉列表中選擇“IX_EmployeesTeNo”。(6)單擊“刪除”按鈕。(7)單擊“關(guān)閉”按鈕。(8)單擊工具欄上的“保存”按鈕。使用查詢分析器:在查詢分析器中輸入
27、如下命令:USE SalesGOALTER TABLE EmployeesDROP CONSTRAINT IX_EmployeesTeNo GO【例324】分別使用企業(yè)管理器、查詢分析器在Sales數(shù)據(jù)庫中為Employees數(shù)據(jù)表創(chuàng)建名為CK_EmployeesNo的CHECK約束,該約束限制“編號”列中只允許6位數(shù)字(不能為字母)。使用企業(yè)管理器:(1)展開Sales數(shù)據(jù)庫,單擊“表”。(2)在詳細(xì)列表中右擊“Employees”,在彈出菜單中選擇“設(shè)計表”命令。(3)選擇“屬性”對話框中的“CHECK約束”選項卡,單擊“新建”按鈕。(4)在“約束表達(dá)式”欄中輸入“編號like 0-90-
28、90-90-90-90-9”。(5)在“約束名”欄中為約束命名,這里輸入“CK_EmployeesNo”。(6)完成設(shè)置后結(jié)果如圖3.23所示,單擊“關(guān)閉”按鈕。 (7)單擊工具欄上的“保存”按鈕。使用查詢分析器:在查詢分析器中輸入如下命令:USE SalesGOALTER TABLE EmployeesADD CONSTRAINT CK_EmployeesNoCHECK (編號like '0-90-90-90-90-90-9')GO【例325】 分別使用企業(yè)管理器、查詢分析器在Sales數(shù)據(jù)庫中刪除例3.24建立的名為CK_EmployeesNo的CHECK約束。使用企業(yè)管理
29、器:(1)展開Sales數(shù)據(jù)庫,單擊“表”。(2)在詳細(xì)列表中右擊“Employees”,在彈出菜單中選擇“設(shè)計表”命令。(3)單擊工具欄上的“表和索引屬性”按鈕。(4)選擇“屬性”對話框中的“CHECK約束”選項卡。(5)在“選定的約束”下拉列表中選擇“CK_EmployeesNo”。(6)單擊“刪除”按鈕。(7)單擊“關(guān)閉”按鈕。(8)單擊工具欄上的“保存”按鈕。使用查詢分析器:在查詢分析器中輸入如下命令:USE SalesGOALTER TABLE EmployeesDROP CONSTRAINT CK_EmployeesNo GO【例326】分別使用企業(yè)管理器、查詢分析器在Sales數(shù)
30、據(jù)庫中為Goods數(shù)據(jù)表創(chuàng)建名為DF_GoodsDate的DEFAULT約束,該約束使“進(jìn)貨時間”列的默認(rèn)值為當(dāng)前的日期。使用企業(yè)管理器:(1) 展開Sales數(shù)據(jù)庫,單擊“表”。(2) 在詳細(xì)列表中右擊“Goods”,在彈出菜單中選擇“設(shè)計表”命令。(3)將光標(biāo)定位在“進(jìn)貨時間”行。(4)在“列”屬性頁下的“默認(rèn)值”編輯框中輸入“GETDATE()”。圖3.24 創(chuàng)建DEFAULT約束(5)單擊工具欄上的“保存”按鈕。使用查詢分析器:在查詢分析器中輸入如下命令:USE SalesGOALTER TABLE Goods ADD CONSTRAINT DF_GoodsDate DEFAULT(G
31、ETDATE() FOR 進(jìn)貨時間單擊“運行”按鈕,返回“命令已成功完成”的信息,說明已成功創(chuàng)建DEFAULT約束。【例327】分別使用企業(yè)管理器、查詢分析器在Sales數(shù)據(jù)庫中刪除例326建立的名為DF_GoodsTime DEFAULT約束。使用企業(yè)管理器:(1)展開Sales數(shù)據(jù)庫,單擊“表”。(2)在詳細(xì)列表中右擊“Goods”,在彈出菜單中選擇“設(shè)計表”命令。(3)選中“進(jìn)貨時間”列。(4)清除“列”屬性頁下的“默認(rèn)值”編輯框的值。(5)單擊工具欄上的“保存”按鈕。使用查詢分析器:在查詢分析器中輸入如下命令:USE SalesGOALTER TABLE GoodsDROP CONST
32、RAINT DF_GoodsDate GO【例328】使用查詢分析器給Sales數(shù)據(jù)庫的Employees數(shù)據(jù)表增加一列,列名為:郵箱,數(shù)據(jù)類型:VarChar(20),并將該列設(shè)置為惟一約束。在查詢分析器中輸入如下命令:USE SalesGOALTER TABLE EmployeesADDCOLUMN郵箱VarChar(20)NULLCONSTRAINT U_Email UNIQUEGO【例3.29】使用查詢分析器刪除例3.28給Employees數(shù)據(jù)表增加的列。在查詢分析器中輸入如下命令:USE SalesGO-首先刪除約束ALTER TABLE EmployeesDROP CONSTRA
33、INT U_EmailGO-然后刪除列ALTER TABLE EmployeesDROPCOLUMN郵箱GO【例330】使用查詢分析器將數(shù)據(jù)表Goods重新命名為MyGoods。在查詢分析器中輸入如下命令:USE SalesGOEXEC SP_RENAME 'Goods','MyGoods'GO【例331】使用查詢分析器刪除數(shù)據(jù)表MyGoods。在查詢分析器中輸入如下命令:USE SalesGODROP TABLE MyGoodsGO【例332】使用INSERT語句向數(shù)據(jù)表Employees插入一條記錄。在查詢分析器中輸入如下命令:USE SalesGOINSE
34、RT INTO Employees (編號,姓名,性別) VALUES('000016','李明',1)GO【例333】使用INSERT語句將數(shù)據(jù)表Employees1中性別=1的記錄插入數(shù)據(jù)表Employees(數(shù)據(jù)表Employees1的結(jié)構(gòu)與Employees完全相同)。在查詢分析器中輸入如下命令:USE SalesGOINSERT INTO Employees SELECT * FROM Employees1 WHERE Employees1.性別=1GO【例334】使用SELECT INTO語句生成一張新數(shù)據(jù)表,新數(shù)據(jù)表的名稱為Employees2,數(shù)
35、據(jù)來自于Employees數(shù)據(jù)表中性別=1的編號,姓名,性別等字段。在查詢分析器中輸入如下命令:USE SalesGOSELECT 編號,姓名,性別INTO Employees2 FROM Employees WHERE 性別=1GO【例3.35】使用UPDATE語句將數(shù)據(jù)表Employees中編號為“000006”記錄的電話更改在查詢分析器中輸入如下命令:USE SalesGOUPDATE Employees SET 電話='#39; WHERE 編號='000006'GO【例3.36】使用UPDAT語句將數(shù)據(jù)表G
36、oods中李明2005年5月20日進(jìn)貨的商品零售價調(diào)整為九五折。在查詢分析器中輸入如下命令:USE SalesGOUPDATE Goods SET Goods.零售價= Goods.零售價*0.95 FROM Goods,Employees WHERE Goods.進(jìn)貨時間='2005-05-20'AND Employees.姓名='李明'AND Employees.編號= Goods.進(jìn)貨員工編號GO【例3.37】使用DELETE語句刪除數(shù)據(jù)表Sell中售出時間為1995年1月1日以前的記錄。在查詢分析器中輸入如下命令:USE SalesGODELETE Se
37、ll where 售出時間 <'1995-01-01'GO【例3.38】使用DELETE語句刪除數(shù)據(jù)表Goods中李明1995年1月1日以前的進(jìn)貨記錄。在查詢分析器中輸入如下命令:USE SalesGO DELETE Goods FROM Goods,Employees WHERE Goods.進(jìn)貨時間 < '1995-01-01'AND Employees.姓名='李明' AND Employees.編號= Goods.進(jìn)貨員工編號GO【例3.39】使用企業(yè)管理器分離數(shù)據(jù)庫Sales。(1)展開服務(wù)器,展開數(shù)據(jù)庫。(2)右擊Sale
38、s數(shù)據(jù)庫,在彈出菜單中選擇“所有任務(wù)”下的“分離數(shù)據(jù)庫”。 (3)系統(tǒng)檢查數(shù)據(jù)庫的連接狀態(tài),如果存在使用本數(shù)據(jù)庫的連接,單擊“清除”按鈕斷開這些連接。(4)如果數(shù)據(jù)庫的狀態(tài)為“該數(shù)據(jù)庫已就緒,可以分離?!?,單擊“確定”按鈕,出現(xiàn)分離數(shù)據(jù)庫順利完成對話框,再單擊“確定”按鈕,結(jié)束分離操作。【例3.40】使用企業(yè)管理器將例3.39分離出來的數(shù)據(jù)庫Sales附加到另一臺計算機(jī)。在附加數(shù)據(jù)庫前,將例339分離出來的數(shù)據(jù)庫文件Sales_DataMdf、Sales_LogLdf復(fù)制到另一臺計算機(jī)的E:。(1)展開服務(wù)器。(2)右擊數(shù)據(jù)庫,在彈出菜單中選擇“所有任務(wù)”下的“附加數(shù)據(jù)庫”。 (3)輸入要附加
39、的數(shù)據(jù)文件名。也可以單擊“”按鈕,從圖3-3-2所示的對話框中選擇數(shù)據(jù)文件名,單擊“確定”按鈕。(4)在“附加為”框內(nèi)輸入數(shù)據(jù)庫的名稱(默認(rèn)為分離時的數(shù)據(jù)庫名),輸入的數(shù)據(jù)庫名不能與本計算機(jī)上任何現(xiàn)有的數(shù)據(jù)庫名稱相同。(5)在指定數(shù)據(jù)庫所有者下拉列表框中選擇數(shù)據(jù)庫的所有者,設(shè)置如圖3.27所示。 (6)單擊“確定”按鈕,出現(xiàn)附加數(shù)據(jù)庫順利完成對話框。單擊“確定”按鈕結(jié)束附加工作。 【例3.41】使用查詢分析器分離數(shù)據(jù)庫NewSales,分離后不進(jìn)行更新統(tǒng)計。在查詢分析器中運行如下命令:EXEC SP_DETACH_DB 'NewSales', 'true'【例3
40、42】使用查詢分析器將例343分離出來的數(shù)據(jù)庫NewSales附加到另一臺計算機(jī)。在附加數(shù)據(jù)庫前,將例3.41分離出來的數(shù)據(jù)庫文件NewSales_Data.Mdf、NewSales_Log.Ldf復(fù)制到另一臺計算機(jī)的E:。然后在查詢分析器中運行如下命令:CREATE DATABASE NewSalesON PRIMARY (NAME= NewSales_Data ,FILENAME='E:NewSales_Data.Mdf')LOG ON (NAME=NewSales_Log,FILENAME='E:NewSales_Log.Ldf')FOR ATTACHGO
41、【例4.1】 查詢員工表中所有員工的姓名和聯(lián)系電話,可以寫為:SELECT 姓名,電話 FROM employees程序執(zhí)行結(jié)果為: 姓名 電話 趙飛燕 01032198454劉德發(fā) 01032298726李建國 01032147588李圓圓 01032358697劉金武 01032298726萬興國 01032658325孟全 01058546230黎美麗 01058964357馮曉丹 01036571568王峰 01032987564陳吉軒 01058796545(所影響的行數(shù)為 11 行)【例4.2】 查詢員工表中的所有記錄,程序為:SELECT * FROM employees程序執(zhí)行
42、結(jié)果為: 編號 姓名 性別 部門 電話 地址 1001 趙飛燕 0 采購部01032198454 北京市南京東路55號1002 劉德發(fā) 1 采購部01032298726 北京市建國路101號1003 李建國 1 采購部01032147588 北京市民主路6號1101 李圓圓 0 財務(wù)部01032358697 北京市仁愛路一巷41號1102 劉金武 1 財務(wù)部01032298726 北京市建國路101號1103 萬興國 1 財務(wù)部01032658325 北京市南大街南巷250號1201 孟全 1 庫存部01058546230 北京市南大街南巷115號1202 黎美麗 0 庫存部010589643
43、57 北京市教育路32號1301 馮曉丹 0 銷售部01036571568 北京市育才路78號1302 王峰 1 銷售部01032987564 北京市沿江路123號1303 陳吉軒 1 銷售部01058796545 北京市德外大街19號(所影響的行數(shù)為 11 行)【例4.3】 查詢進(jìn)貨表中的所有的生產(chǎn)廠商,去掉重復(fù)值,程序為:SELECT DISTINCT 生產(chǎn)廠商 FROM goods程序執(zhí)行結(jié)果為: 生產(chǎn)廠商 dell公司TCL公司惠普公司佳能公司聯(lián)想公司三星公司索尼公司(所影響的行數(shù)為 7 行)【例4.4】 查詢進(jìn)貨表中商品名稱、單價和數(shù)量的前4條記錄,程序為:SELECT TOP 4
44、商品名稱,進(jìn)貨價,數(shù)量 FROM goods程序執(zhí)行結(jié)果為: 商品名稱 進(jìn)貨價 數(shù)量 打印機(jī) 1205.0000 10液晶顯示器2210.0000 12數(shù)碼相機(jī) 2380.0000 8掃描儀 998.0000 16(所影響的行數(shù)為 4 行)【例4.5】 使用列的別名,查詢員工表中所有記錄的員工編號(別名為number),姓名(別名為name)和電話(別名為telephone),程序為:SELECT 編號 AS number,name=姓名,電話 telephone FROM employees程序執(zhí)行結(jié)果為: number name telephone 1001 趙飛燕 01032198454
45、1002 劉德發(fā) 010322987261003 李建國 010321475881101 李圓圓 010323586971102 劉金武 010322987261103 萬興國 010326583251201 孟全 010585462301202 黎美麗 010589643571301 馮曉丹 010365715681302 王峰 010329875641303 陳吉軒 01058796545(所影響的行數(shù)為 11 行)【例4.6】 查詢各件商品的進(jìn)貨總金額,可以寫為:SELECT 商品名稱,進(jìn)貨價*數(shù)量 AS 總金額 FROM goods程序執(zhí)行結(jié)果為: 商品名稱 總金額 打印機(jī) 12050
46、.0000液晶顯示器 26520.0000數(shù)碼相機(jī) 19040.0000掃描儀 15968.0000筆記本電腦 156000.0000MP3播放器 8244.0000攝像機(jī) 35100.0000臺式電腦 68500.0000CRT顯示器 4740.0000 (所影響的行數(shù)為 9 行)【例4.7】 在Employees表中查詢姓名為王峰的員工的聯(lián)系電話,程序為:SELECT 姓名,電話 FROM employees AS c WHERE c.姓名='王峰'程序執(zhí)行結(jié)果為: 姓名 電話 王峰 01032987564(所影響的行數(shù)為 1 行) 【例4.8】 查詢筆記本電腦的進(jìn)貨信息,
47、程序為:SELECT * FROM goods WHERE 商品名稱='筆記本電腦' 【例4.9】 查詢在2005年1月1日以前銷售的商品信息,可以寫為:SELECT 商品編號,數(shù)量,售出時間 FROM sell WHERE 售出時間<'2005-1-1'程序執(zhí)行結(jié)果為: 商品編號 數(shù)量 售出時間 2 1 2004-10-15 00:00:00.0002 1 2004-10-16 00:00:00.0005 2 2004-10-26 00:00:00.000(所影響的行數(shù)為 3 行)【例4.10】 查詢進(jìn)貨總金額小于10000元的商品名稱,可以寫為:SEL
48、ECT 商品名稱 FROM goods WHERE 進(jìn)貨價*數(shù)量<10000程序執(zhí)行結(jié)果為: 商品名稱 MP3播放器 CRT顯示器(所影響的行數(shù)為 2 行)在SQL Server中可以使用的邏輯運算符有3個:l NOT:邏輯反,對指定的表達(dá)式求反,優(yōu)先級最高。l AND:邏輯與,檢索滿足所有搜索條件的行,優(yōu)先級次之。l OR:邏輯或,檢索滿足任一搜索條件的行,優(yōu)先級最低?!纠?.11】 查詢2005年1月1日以前進(jìn)貨且進(jìn)貨價大于1000元的商品,可以寫為:SELECT 商品名稱 FROM goods WHERE 進(jìn)貨時間<'2005-1-1' AND 進(jìn)貨價>
49、1000程序執(zhí)行結(jié)果為: 商品名稱 打印機(jī)(所影響的行數(shù)為 1 行)3. LIKE關(guān)鍵字使用LIKE關(guān)鍵字可以確定給定的字符串是否與指定的模式匹配。模式可以包含常規(guī)字符和通配符,達(dá)到模糊查詢的效果。形成搜索條件的通配符有4個:l % :包含零個或多個字符的任意字符串。l _ :任何單個字符。l :指定范圍或集合中的任何單個字符。l :不在指定范圍或集合中的任何單個字符。【例4.12】 查詢“李”姓員工的基本信息,可以寫為:SELECT * FROM employees WHERE 姓名 LIKE '李%'程序執(zhí)行結(jié)果為: 編號 姓名 性別 部門 電話 地址 1003 李建國 1
50、 采購部01032147588 北京市民主路6號1101 李圓圓 0 財務(wù)部01032358697 北京市仁愛路一巷41號(所影響的行數(shù)為 2 行)使用NOT BETWEEN關(guān)鍵字可以檢索在指定取值范圍內(nèi)的行,但NOT條件會降低數(shù)據(jù)檢索的速度。BETWEEN產(chǎn)生的結(jié)果集包含邊界值?!纠?.13】 查詢零售價格在2000到3000元之間的所有商品,可以寫為:SELECT 商品名稱,零售價 FROM goods WHERE 零售價 BETWEEN 2000 AND 3000程序執(zhí)行結(jié)果為: 商品名稱 零售價 液晶顯示器2980.0000數(shù)碼相機(jī) 3000.0000CRT顯示器 2200.0000液
51、晶顯示器2980.0000數(shù)碼相機(jī) 3000.0000CRT顯示器 2200.0000(所影響的行數(shù)為 3 行)使用NOT IN關(guān)鍵字可以確定給定的值是否與子查詢或列表中的值相匹配,但NOT條件會降低數(shù)據(jù)檢索的速度?!纠?.14】 查詢打印機(jī)、攝像機(jī)的進(jìn)貨價格,程序為:SELECT 商品名稱,進(jìn)貨價 FROM goods WHERE 商品名稱 IN ('打印機(jī)','攝像機(jī)')程序執(zhí)行結(jié)果為: 商品名稱 進(jìn)貨價 打印機(jī) 1205.0000攝像機(jī) 5850.0000打印機(jī) 1205.0000攝像機(jī) 5850.0000(所影響的行數(shù)為 2 行)空值是在輸入數(shù)據(jù)過程中沒有給某列輸入值且該列無默認(rèn)值時產(chǎn)生的,它不等同于空字符或數(shù)值0,不能使用比較運算符號進(jìn)行判斷?!纠?.15】 查詢電話不為空的員工信息,可以寫為:SELECT * FROM employees WHERE 電話 IS NOT NULL【例4.16】 查詢商品的進(jìn)貨價格并按從大到小排序,程序為:SELECT 商品名稱,
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小型裝飾施工合同范本
- 印刷標(biāo)牌制作合同范本
- 修路工程土建合同范本
- 賣家汽車租賃合同范本
- 配電設(shè)備制作合同范本
- 合同范本模板小學(xué)生
- 化學(xué)藥劑合同范本
- 合伙協(xié)議合同范本多人
- 景區(qū)承接團(tuán)隊合同范本
- d代加工合同范本
- 教育專家報告合集:年度得到:沈祖蕓全球教育報告(2023-2024)
- 兒童尿道黏膜脫垂介紹演示培訓(xùn)課件
- 下肢骨關(guān)節(jié)損傷課件
- 2023發(fā)電企業(yè)防汛工作管理辦法
- 食品安全風(fēng)險評估的課件
- 復(fù)方板藍(lán)根顆粒工藝驗證方案大全
- 信息技術(shù)拓展模塊高職PPT完整全套教學(xué)課件
- 《動物王國開大會》說課PPT
- 春玉米套種秋黃瓜技術(shù)
- QC成果提高工業(yè)廠房基礎(chǔ)預(yù)埋地腳螺栓的精確度
- 四年級下冊勞動技術(shù)教案
評論
0/150
提交評論