




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
SQLServer2000概述
1.1SQLServer2000簡(jiǎn)介
SQLServer是使用客戶(hù)機(jī)/服務(wù)器(C/S)體系結(jié)構(gòu)的關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)。1988年推出了第一個(gè)OS/2版本。
1992年,SQLServer移植到NT上后,Microsoft成了這個(gè)項(xiàng)目的主導(dǎo)者。1994年以后,Microsoft專(zhuān)注于開(kāi)發(fā)、推廣SQLServer的WindowsNT版本1996年,Microsoft公司推出了SQLServer6.5版本
1998年,推出了SQLServer7.0版本2000年推出了SQLServer2000。
1.1SQLServer2000簡(jiǎn)介SQLServer2000常見(jiàn)的版本有:企業(yè)版(EnterpriseEdition)、標(biāo)準(zhǔn)版(StandardEdition)、個(gè)人版(PersonalEdition)和開(kāi)發(fā)人員版(DeveloperEdition)。企業(yè)版:一般作為數(shù)據(jù)庫(kù)服務(wù)器使用。標(biāo)準(zhǔn)版:一般用于小型的工作組或部門(mén)。個(gè)人版:主要適用于移動(dòng)用戶(hù)。開(kāi)發(fā)人員版:是一個(gè)適用于應(yīng)用程序開(kāi)發(fā)的版本。
本章首頁(yè)1.2SQLServer2000特點(diǎn)
1.SQLServer的主要特點(diǎn)
真正的客戶(hù)機(jī)/服務(wù)器體系結(jié)構(gòu)。圖形化用戶(hù)界面。豐富的編程接口工具。SQLServer與WindowsNT完全集成。具有很好的伸縮性。對(duì)Web技術(shù)的支持。SQLServer提供數(shù)據(jù)倉(cāng)庫(kù)功能。
1.2SQLServer2000特點(diǎn)2.SQLServer2000的新特性多個(gè)SQLServer實(shí)例:SQLServer2000支持在同一臺(tái)計(jì)算機(jī)上運(yùn)行多個(gè)關(guān)系數(shù)據(jù)庫(kù)引擎的實(shí)例。
引入了三種新的數(shù)據(jù)類(lèi)型。
支持XML(ExtensiveMarkupLanguage,擴(kuò)展標(biāo)記語(yǔ)言)。
支持用戶(hù)自定義函數(shù)。
支持強(qiáng)大的基于Web的分析。
支持OLEDB和多種查詢(xún)。
支持分布式的分區(qū)視圖。
本章首頁(yè)1.3SQLServer2000的安裝
1.3.1SQLServer2000的環(huán)境需求
1.硬件需求
計(jì)算機(jī):Intel及其兼容計(jì)算機(jī),Pentium166Mz或者更高處理器或DECAlpha及其兼容系統(tǒng)。內(nèi)存(RAM):企業(yè)版最少64MB內(nèi)存,其它版本最少需要32MB內(nèi)存,建議使用更多的內(nèi)存。硬盤(pán)空間:對(duì)于SQLServer2000來(lái)說(shuō),完全安裝(Full)需要180MB的空間,典型安裝(Typical)需要170MB的空間,最小安裝(Minimum)需要65MB的空間。
1.3SQLServer2000的安裝2.軟件需求SQLServer2000企業(yè)版(EnterpriseEdition)WindowsNTServer4.0Windows2000Server以上SQLServer2000標(biāo)準(zhǔn)版(StandardEdition)WindowsNTServer4.0Windows2000Server以上SQLServer2000個(gè)人版(PersonalEdition)Windows98、WindowsNT家族Windows2000家族以上SQLServer2000開(kāi)發(fā)版(DeveloperEdition)WindowsNT家族
Windows2000家族以上SQLServer2000客戶(hù)端工具(Client工具)Windows家族1.3SQLServer2000的安裝1.3.2SQLServer2000的安裝
1.3.3卸載SQLServer2000本章首頁(yè)1.4SQLServer2000的系統(tǒng)數(shù)據(jù)庫(kù)
1.4.1SQLServer2000系統(tǒng)數(shù)據(jù)庫(kù)簡(jiǎn)介
SQLServer2000安裝成功后,系統(tǒng)會(huì)自動(dòng)創(chuàng)建6個(gè)系統(tǒng)數(shù)據(jù)庫(kù)。這些系統(tǒng)數(shù)據(jù)庫(kù)的文件存儲(chǔ)在MicrosoftSQLServer默認(rèn)安裝目錄下的MSSQL子目錄的Data文件夾中,數(shù)據(jù)庫(kù)文件的擴(kuò)展名為
.mdf,數(shù)據(jù)庫(kù)日志文件的擴(kuò)展名為
.ldf。
1.4SQLServer2000的系統(tǒng)數(shù)據(jù)庫(kù)Master數(shù)據(jù)庫(kù):記錄了SQLServer系統(tǒng)的所有系統(tǒng)信息。這些系統(tǒng)信息包括所有的登錄信息、系統(tǒng)設(shè)置信息、SQLServer的初始化信息和其它系統(tǒng)數(shù)據(jù)庫(kù)及用戶(hù)數(shù)據(jù)庫(kù)的相關(guān)信息。
Model數(shù)據(jù)庫(kù):是所有用戶(hù)數(shù)據(jù)庫(kù)和Tempdb數(shù)據(jù)庫(kù)的模板數(shù)據(jù)庫(kù)。它含有Master數(shù)據(jù)庫(kù)的所有系統(tǒng)表子集,這些系統(tǒng)數(shù)據(jù)庫(kù)是每個(gè)用戶(hù)定義數(shù)據(jù)庫(kù)時(shí)都需要的。
1.4SQLServer2000的系統(tǒng)數(shù)據(jù)庫(kù)Msdb數(shù)據(jù)庫(kù):是代理服務(wù)數(shù)據(jù)庫(kù)。
Tempdb數(shù)據(jù)庫(kù):是一個(gè)臨時(shí)數(shù)據(jù)庫(kù)。Tempdb數(shù)據(jù)庫(kù)由整個(gè)系統(tǒng)的所有數(shù)據(jù)庫(kù)使用。SQLServer每次啟動(dòng)時(shí),tempdb數(shù)據(jù)庫(kù)被重新建立。當(dāng)用戶(hù)與SQLServer斷開(kāi)連接時(shí),其臨時(shí)表和存儲(chǔ)過(guò)程被自動(dòng)刪除。
Pubs和Northwind數(shù)據(jù)庫(kù):它們是SQLServer自帶的兩個(gè)實(shí)例數(shù)據(jù)庫(kù)。1.4SQLServer2000的系統(tǒng)數(shù)據(jù)庫(kù)1.4.2SQLServer2000系統(tǒng)表簡(jiǎn)介Sysobjects表。SQLServer的主系統(tǒng)表,出現(xiàn)在每個(gè)數(shù)據(jù)庫(kù)中。它對(duì)每個(gè)數(shù)據(jù)庫(kù)對(duì)象含有一行記錄。Syscolumns表。出現(xiàn)在master數(shù)據(jù)庫(kù)和每個(gè)用戶(hù)自定義的數(shù)據(jù)庫(kù)中,它對(duì)基表或者視圖的每個(gè)列和存儲(chǔ)過(guò)程中的每個(gè)參數(shù)含有一行記錄。Sysindexes表。出現(xiàn)在master數(shù)據(jù)庫(kù)和每個(gè)用戶(hù)自定義的數(shù)據(jù)庫(kù)中,它對(duì)每個(gè)索引和沒(méi)有聚簇索引的每個(gè)表含有一行記錄,它還對(duì)包括文本/圖像數(shù)據(jù)的每個(gè)表含有一行記錄。1.4SQLServer2000的系統(tǒng)數(shù)據(jù)庫(kù)Sysusers表。出現(xiàn)在master數(shù)據(jù)庫(kù)和每個(gè)用戶(hù)自定義的數(shù)據(jù)庫(kù)中,它對(duì)整個(gè)數(shù)據(jù)庫(kù)中的每個(gè)WindowsNT用戶(hù)、WindowsNT用戶(hù)組、SQLServer用戶(hù)或者SQLServer角色含有一行記錄。Sysdatabases表。它對(duì)SQLServer系統(tǒng)上的每個(gè)系統(tǒng)數(shù)據(jù)庫(kù)和用戶(hù)自定義的數(shù)據(jù)庫(kù)含有一行記錄,只出現(xiàn)在master數(shù)據(jù)庫(kù)中。Sysdepends表。它對(duì)表、視圖和存儲(chǔ)過(guò)程之間的每個(gè)依賴(lài)關(guān)系含有一行記錄,出現(xiàn)在master數(shù)據(jù)庫(kù)和每個(gè)用戶(hù)自定義的數(shù)據(jù)庫(kù)中。1.4SQLServer2000的系統(tǒng)數(shù)據(jù)庫(kù)注意:如果使用DDL語(yǔ)句的INSERT、UPDATE和DELETE語(yǔ)句來(lái)修改系統(tǒng)表的信息,對(duì)整個(gè)系統(tǒng)是非常危險(xiǎn)的,應(yīng)該使用系統(tǒng)存儲(chǔ)過(guò)程來(lái)代替。
1.4SQLServer2000的系統(tǒng)數(shù)據(jù)庫(kù)1.4.3SQLServer2000系統(tǒng)存儲(chǔ)過(guò)程簡(jiǎn)介系統(tǒng)存儲(chǔ)過(guò)程是由SQLServer2000系統(tǒng)自動(dòng)創(chuàng)建的存儲(chǔ)過(guò)程。系統(tǒng)存儲(chǔ)過(guò)程創(chuàng)建并存放于系統(tǒng)數(shù)據(jù)庫(kù)master中,并且名稱(chēng)以sp_或者xp_開(kāi)頭??梢詮娜魏螖?shù)據(jù)庫(kù)中執(zhí)行系統(tǒng)存儲(chǔ)過(guò)程。
本章首頁(yè)2.1概述
為了管理SQLServer2000的服務(wù)器和客戶(hù)機(jī),使用SQLServer2000開(kāi)發(fā)數(shù)據(jù)庫(kù)和應(yīng)用程序,SQLServer2000提供了一套常用的管理工具和實(shí)用程序。主要的管理工具和實(shí)用程序有以下幾個(gè):
服務(wù)管理器;企業(yè)管理器;查詢(xún)分析器;服務(wù)器網(wǎng)絡(luò)實(shí)用工具;客戶(hù)端網(wǎng)絡(luò)實(shí)用工具;導(dǎo)入和導(dǎo)出數(shù)據(jù);聯(lián)機(jī)幫助文檔;
本章首頁(yè)2.2SQLServer服務(wù)管理器
SQLServer服務(wù)管理器(ServiceManager)是在服務(wù)器端實(shí)際工作時(shí)最有用的實(shí)用程序。SQLServer服務(wù)管理器的主要作用是用來(lái)啟動(dòng)數(shù)據(jù)庫(kù)服務(wù)器的實(shí)時(shí)服務(wù)、暫停和停止正在運(yùn)行的服務(wù),或在暫停服務(wù)后繼續(xù)服務(wù)。
本章首頁(yè)2.3企業(yè)管理器企業(yè)管理器(EnterpriseManager)是SQLServer中最重要的一個(gè)管理工具。用戶(hù)和系統(tǒng)管理員可以使用它來(lái)管理網(wǎng)絡(luò)、計(jì)算機(jī)、服務(wù)和其它系統(tǒng)組件。企業(yè)管理器不僅能夠配置系統(tǒng)環(huán)境和管理SQLServer,而且由于它能夠以層疊列表的形式來(lái)顯示所有的SQLServer對(duì)象,因而所有SQLServer對(duì)象的建立與管理都可以通過(guò)它來(lái)完成。
2.3企業(yè)管理器
服務(wù)器的注冊(cè):只有經(jīng)過(guò)注冊(cè)的服務(wù)器才能被SQLServer管理工具識(shí)別。第一次啟動(dòng)SQLServer2000的服務(wù)時(shí),SQLServer2000會(huì)自動(dòng)完成本地默認(rèn)實(shí)例數(shù)據(jù)庫(kù)的注冊(cè)。但如果要實(shí)現(xiàn)非本機(jī)數(shù)據(jù)庫(kù)的管理,必須手動(dòng)注冊(cè)該服務(wù)器。本章首頁(yè)2.4查詢(xún)分析器
SQLServer2000的查詢(xún)分析器(QueryAnalyzer)可以使用戶(hù)交互式地輸入和執(zhí)行各種Transact-SQL語(yǔ)句,并且迅速地查看這些語(yǔ)句的執(zhí)行結(jié)果,來(lái)完成對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)的分析和處理。
2.4.1查詢(xún)窗口和結(jié)果顯示窗口
2.4.2對(duì)象瀏覽器窗口
2.4.3打開(kāi)表窗口
本章首頁(yè)2.5服務(wù)器網(wǎng)絡(luò)實(shí)用工具客戶(hù)端應(yīng)用程序與數(shù)據(jù)庫(kù)服務(wù)器的通信位于同一臺(tái)計(jì)算機(jī):SQLServer2000利用Windows進(jìn)程間通信組件,如共享內(nèi)存和命名管道。不在同一臺(tái)計(jì)算機(jī):利用網(wǎng)絡(luò)通信組件。API協(xié)議:SQLServer2000做了簡(jiǎn)化,只需要提供服務(wù)器計(jì)算機(jī)的網(wǎng)絡(luò)名稱(chēng)。在所有通信組件中,網(wǎng)絡(luò)庫(kù)(Net-Library)是最主要的。2.5服務(wù)器網(wǎng)絡(luò)實(shí)用工具
服務(wù)器網(wǎng)絡(luò)實(shí)用工具(ServerNetworkUtility)用來(lái)配置本計(jì)算機(jī)作為服務(wù)器時(shí)允許使用的連接協(xié)議,還可以在此設(shè)置相關(guān)參數(shù)等。
本章首頁(yè)2.6客戶(hù)端網(wǎng)絡(luò)實(shí)用工具
客戶(hù)端網(wǎng)絡(luò)實(shí)用工具(ClientNetworkUtility)用來(lái)配置客戶(hù)端的網(wǎng)絡(luò)連接,管理和測(cè)定客戶(hù)端的網(wǎng)絡(luò)庫(kù)等。別名是ODBC或查詢(xún)分析器識(shí)別服務(wù)器時(shí)使用的名字,方便用戶(hù)使用。在用命名管道配置時(shí),如果服務(wù)器在本機(jī),注意用“.”表示。注冊(cè)服務(wù)器是進(jìn)行服務(wù)器集中管理和實(shí)現(xiàn)分布式查詢(xún)的前提。注冊(cè)成功需要:服務(wù)器端和客戶(hù)端必須配置相同的網(wǎng)絡(luò)庫(kù)客戶(hù)端的配置信息必須正確無(wú)誤本章首頁(yè)2.7導(dǎo)入和導(dǎo)出數(shù)據(jù)
導(dǎo)入和導(dǎo)出數(shù)據(jù)(InputandExportData)采用DTS導(dǎo)入/導(dǎo)出向?qū)?lái)完成。此向?qū)О怂械腄TS(DataTransformationServices)工具,提供了在OLEDB數(shù)據(jù)源之間復(fù)制數(shù)據(jù)的最簡(jiǎn)捷的方法。
本章首頁(yè)3.1數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)
數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)分為邏輯存儲(chǔ)結(jié)構(gòu)和物理存儲(chǔ)結(jié)構(gòu)兩種。
數(shù)據(jù)庫(kù)的邏輯存儲(chǔ)結(jié)構(gòu)指的是數(shù)據(jù)庫(kù)是由哪些性質(zhì)的信息所組成。實(shí)際上,SQLServer的數(shù)據(jù)庫(kù)是由諸如表、視圖、索引等各種不同的數(shù)據(jù)庫(kù)對(duì)象所組成。數(shù)據(jù)庫(kù)的物理存儲(chǔ)結(jié)構(gòu)是討論數(shù)據(jù)庫(kù)文件是如何在磁盤(pán)上存儲(chǔ)的,數(shù)據(jù)庫(kù)在磁盤(pán)上是以文件為單位存儲(chǔ)的,由數(shù)據(jù)庫(kù)文件和事務(wù)日志文件組成,一個(gè)數(shù)據(jù)庫(kù)至少應(yīng)該包含一個(gè)數(shù)據(jù)庫(kù)文件和一個(gè)事務(wù)日志文件。
3.1數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)3.1.1數(shù)據(jù)庫(kù)文件
1.主數(shù)據(jù)庫(kù)文件(PrimaryDatabaseFile)
一個(gè)數(shù)據(jù)庫(kù)可以有一個(gè)或多個(gè)數(shù)據(jù)庫(kù)文件,一個(gè)數(shù)據(jù)庫(kù)文件只能屬于一個(gè)數(shù)據(jù)庫(kù)。當(dāng)有多個(gè)數(shù)據(jù)庫(kù)文件時(shí),有一個(gè)文件被定義為主數(shù)據(jù)庫(kù)文件(簡(jiǎn)稱(chēng)為主文件),其擴(kuò)展名為mdf。3.1數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)主數(shù)據(jù)庫(kù)文件用來(lái)存儲(chǔ)數(shù)據(jù)庫(kù)的啟動(dòng)信息以及部分或者全部數(shù)據(jù),是所有數(shù)據(jù)庫(kù)文件的起點(diǎn),包含指向其它數(shù)據(jù)庫(kù)文件的指針。一個(gè)數(shù)據(jù)庫(kù)只能有一個(gè)主數(shù)據(jù)庫(kù)文件。
3.1數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)2.輔助數(shù)據(jù)庫(kù)文件(SecondaryDatabaseFile)
用于存儲(chǔ)主數(shù)據(jù)庫(kù)文件中未存儲(chǔ)的剩余數(shù)據(jù)和數(shù)據(jù)庫(kù)對(duì)象,一個(gè)數(shù)據(jù)庫(kù)可以沒(méi)有輔助數(shù)據(jù)庫(kù)文件,但也可以同時(shí)擁有多個(gè)輔助數(shù)據(jù)庫(kù)文件。
輔助數(shù)據(jù)庫(kù)文件的擴(kuò)展名為ndf(簡(jiǎn)稱(chēng)為輔助文件)。
3.1數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)3.事務(wù)日志文件
存儲(chǔ)數(shù)據(jù)庫(kù)的更新情況等事務(wù)日志信息,當(dāng)數(shù)據(jù)庫(kù)損壞時(shí),管理員使用事務(wù)日志恢復(fù)數(shù)據(jù)庫(kù)。每一個(gè)數(shù)據(jù)庫(kù)至少必須擁有一個(gè)事務(wù)日志文件,而且允許擁有多個(gè)日志文件。事務(wù)日志文件的擴(kuò)展名為ldf,日志文件的大小至少是512KB。
SQLServer事務(wù)日志采用提前寫(xiě)入的方式。3.1數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)注意:SQLServer2000中的數(shù)據(jù)和事務(wù)日志文件不能存放在壓縮文件系統(tǒng)或象共享網(wǎng)絡(luò)目錄等遠(yuǎn)程的網(wǎng)絡(luò)驅(qū)動(dòng)器上。
SQLServer2000的文件擁有兩個(gè)名稱(chēng),即邏輯文件名和物理文件名。當(dāng)使用Transact-SQL命令語(yǔ)句訪問(wèn)某一個(gè)文件時(shí),必須使用該文件的邏輯名。物理文件名是文件實(shí)際存儲(chǔ)在磁盤(pán)上的文件名,而且可包含完整的磁盤(pán)目錄路徑。
3.1數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)3.1.2數(shù)據(jù)庫(kù)文件組
利用文件組可以使服務(wù)器的性能得到提高。
主文件組中包含了所有的系統(tǒng)表,當(dāng)建立數(shù)據(jù)庫(kù)時(shí),主文件組包括主數(shù)據(jù)庫(kù)文件和未指定組的其他文件。用戶(hù)定義文件組中可以指定一個(gè)缺省文件組,那么在創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象時(shí)如果沒(méi)有指定將其放在哪一個(gè)文件組中,就會(huì)將它放在缺省文件組中。如果沒(méi)有指定缺省文件組,則主文件組為缺省文件組。3.1數(shù)據(jù)庫(kù)的存儲(chǔ)結(jié)構(gòu)一個(gè)文件只能存在于一個(gè)文件組中,一個(gè)文件組也只能被一個(gè)數(shù)據(jù)庫(kù)使用;日志文件是獨(dú)立的,它不能作為任何文件組的成員。
本章首頁(yè)3.2創(chuàng)建和刪除數(shù)據(jù)庫(kù)
3.2.1創(chuàng)建數(shù)據(jù)庫(kù)
創(chuàng)建數(shù)據(jù)庫(kù)需要一定許可,在默認(rèn)情況下,只有系統(tǒng)管理員和數(shù)據(jù)庫(kù)擁有者可以創(chuàng)建數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)被創(chuàng)建后,創(chuàng)建數(shù)據(jù)庫(kù)的用戶(hù)自動(dòng)成為該數(shù)據(jù)庫(kù)的所有者。
創(chuàng)建數(shù)據(jù)庫(kù)的過(guò)程實(shí)際上就是為數(shù)據(jù)庫(kù)設(shè)計(jì)名稱(chēng)、設(shè)計(jì)所占用的存儲(chǔ)空間和存放文件位置的過(guò)程等。3.2創(chuàng)建和刪除數(shù)據(jù)庫(kù)1.使用向?qū)?chuàng)建數(shù)據(jù)庫(kù)
2.使用企業(yè)管理器創(chuàng)建數(shù)據(jù)庫(kù)
3.使用Transact-SQL語(yǔ)言創(chuàng)建數(shù)據(jù)庫(kù)3.2創(chuàng)建和刪除數(shù)據(jù)庫(kù)說(shuō)明:在Transact-SQL語(yǔ)言的命令格式中,用[]括起來(lái)的內(nèi)容表示是可選的;[,…n]表示重復(fù)前面的內(nèi)容;用<>括起來(lái)表示在實(shí)際編寫(xiě)語(yǔ)句時(shí),用相應(yīng)的內(nèi)容替代;用{}括起來(lái)表示是必選的;類(lèi)似A|B的格式,表示A和B只能選擇一個(gè),不能同時(shí)都選。
3.2創(chuàng)建和刪除數(shù)據(jù)庫(kù)CREATEDATABASEdatabase_name[ON[PRIMARY][<filespec>[,…n][,<filegroupspec>[,…n]]][LOGON{<filespec>[,…n]}][FORLOAD|FORATTACH]
3.2創(chuàng)建和刪除數(shù)據(jù)庫(kù)<filespec>::=([NAME=logical_file_name,]FILENAME=‘os_file_name’[,SIZE=size][,MAXSIZE={max_size|UNLIMITED}][,F(xiàn)ILEGROWTH=growth_increment])
[,…n]
<filegroupspec>::=FILEGROUPfilegroup_name<filespec>[,…n]
3.2創(chuàng)建和刪除數(shù)據(jù)庫(kù)database_name:新數(shù)據(jù)庫(kù)的名稱(chēng)。數(shù)據(jù)庫(kù)名稱(chēng)在服務(wù)器中必須唯一,最長(zhǎng)為128個(gè)字符,并且要符合標(biāo)識(shí)符的命名規(guī)則。每個(gè)服務(wù)器管理的數(shù)據(jù)庫(kù)最多為32767個(gè)。ON:指定存放數(shù)據(jù)庫(kù)的數(shù)據(jù)文件信息。<filespec>列表用于定義主文件組的數(shù)據(jù)文件,<filegroup>列表用于定義用戶(hù)文件組及其中的文件。PRIMARY:用于指定主文件組中的文件。主文件組的第一個(gè)由<filespec>指定的文件是主文件。如果不指定PRIMARY關(guān)鍵字,則在命令中列出的第一個(gè)文件將被默認(rèn)為主文件。3.2創(chuàng)建和刪除數(shù)據(jù)庫(kù)LOGON:指明事務(wù)日志文件的明確定義。如果沒(méi)有本選項(xiàng),則系統(tǒng)會(huì)自動(dòng)產(chǎn)生一個(gè)文件名前綴與數(shù)據(jù)庫(kù)名相同,容量為所有數(shù)據(jù)庫(kù)文件大小1/4的事務(wù)日志文件。FORLOAD:表示計(jì)劃將備份直接裝入新建的數(shù)據(jù)庫(kù),主要是為了和過(guò)去的SQLServer版本兼容。FORATTACH:表示在一組已經(jīng)存在的操作系統(tǒng)文件中建立一個(gè)新的數(shù)據(jù)庫(kù)。NAME:指定數(shù)據(jù)庫(kù)的邏輯名稱(chēng)。FILENAME:指定數(shù)據(jù)庫(kù)所在文件的操作系統(tǒng)文件名稱(chēng)和路徑,該操作系統(tǒng)文件名和NAME的邏輯名稱(chēng)一一對(duì)應(yīng)。3.2創(chuàng)建和刪除數(shù)據(jù)庫(kù)SIZE:指定數(shù)據(jù)庫(kù)的初始容量大小。如果沒(méi)有指定主文件的大小,則SQLServer默認(rèn)其與模板數(shù)據(jù)庫(kù)中的主文件大小一致,其它數(shù)據(jù)庫(kù)文件和事務(wù)日志文件則默認(rèn)為1MB。指定大小的數(shù)字size可以使用KB、MB、GB和TB后綴,默認(rèn)的后綴為MB。Size中不能使用小數(shù),其最小值為512KB,默認(rèn)值為1MB。主文件的size不能小于模板數(shù)據(jù)庫(kù)中的主文件。MAXSIZE:指定操作系統(tǒng)文件可以增長(zhǎng)到的最大尺寸。如果沒(méi)有指定,則文件可以不斷增長(zhǎng)直到充滿(mǎn)磁盤(pán)。3.2創(chuàng)建和刪除數(shù)據(jù)庫(kù)FILEGROWTH:指定文件每次增加容量的大小,當(dāng)指定數(shù)據(jù)為0時(shí),表示文件不增長(zhǎng)。增加量可以確定為以KB、MB作后綴的字節(jié)數(shù)或以%作后綴的被增加容量文件的百分比來(lái)表示。默認(rèn)后綴為MB。如果沒(méi)有指定FILEGROWTH,則默認(rèn)值為10%,每次擴(kuò)容的最小值為64KB。
3.2創(chuàng)建和刪除數(shù)據(jù)庫(kù)例3-2-1:使用CREATEDATABASE創(chuàng)建一個(gè)student數(shù)據(jù)庫(kù),所有參數(shù)均取默認(rèn)值。
例3-2-2:創(chuàng)建一個(gè)Student1數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)的主文件邏輯名稱(chēng)為Student1_data,物理文件名為Student1.mdf,初始大小為10MB,最大尺寸為無(wú)限大,增長(zhǎng)速度為10%;數(shù)據(jù)庫(kù)的日志文件邏輯名稱(chēng)為Student1_log,物理文件名為Student1.ldf,初始大小為1MB,最大尺寸為5MB,增長(zhǎng)速度為1MB。
3.2創(chuàng)建和刪除數(shù)據(jù)庫(kù)例3-2-3:創(chuàng)建一個(gè)指定多個(gè)數(shù)據(jù)文件和日志文件的數(shù)據(jù)庫(kù)。該數(shù)據(jù)庫(kù)名稱(chēng)為students,有1個(gè)10MB和1個(gè)20MB的數(shù)據(jù)文件和2個(gè)10MB的事務(wù)日志文件。數(shù)據(jù)文件邏輯名稱(chēng)為student1和student2,物理文件名為student1.mdf和student2.mdf。主文件是student1,由primary指定,兩個(gè)數(shù)據(jù)文件的最大尺寸分別為無(wú)限大和100MB,增長(zhǎng)速度分別為10%和1MB。事務(wù)日志文件的邏輯名為studentlog1和studentlog2,物理文件名為studentlog1.ldf和studentlog2.ldf,最大尺寸均為50MB,文件增長(zhǎng)速度為1MB。
3.2創(chuàng)建和刪除數(shù)據(jù)庫(kù)3.2.2刪除數(shù)據(jù)庫(kù)
1.利用企業(yè)管理器刪除數(shù)據(jù)庫(kù)
2.利用Drop語(yǔ)句刪除數(shù)據(jù)庫(kù)
Dropdatabasedatabase_name[,…n]說(shuō)明:只有處于正常狀態(tài)下的數(shù)據(jù)庫(kù),才能使用DROP語(yǔ)句刪除。當(dāng)數(shù)據(jù)庫(kù)處于以下?tīng)顟B(tài)時(shí)不能被刪除:數(shù)據(jù)庫(kù)正在使用;數(shù)據(jù)庫(kù)正在恢復(fù);數(shù)據(jù)庫(kù)包含用于復(fù)制的已經(jīng)出版的對(duì)象。
本章首頁(yè)3.3修改數(shù)據(jù)庫(kù)
3.3.1數(shù)據(jù)庫(kù)更名
在重命名數(shù)據(jù)庫(kù)之前,應(yīng)該確保沒(méi)有用戶(hù)使用該數(shù)據(jù)庫(kù),而且數(shù)據(jù)庫(kù)應(yīng)該設(shè)置為“單用戶(hù)”模式。系統(tǒng)存儲(chǔ)過(guò)程sp_renamedb語(yǔ)法如下:sp_renamedb[@dbname=]'old_name',[@newname=]'new_name'3.3修改數(shù)據(jù)庫(kù)3.3.2利用企業(yè)管理器修改數(shù)據(jù)庫(kù)屬性
限制訪問(wèn)包含兩個(gè)選項(xiàng):“db_owner,dbcreator或sysadmin的成員”選項(xiàng)表示只有數(shù)據(jù)庫(kù)的所有者、數(shù)據(jù)庫(kù)創(chuàng)建者和系統(tǒng)管理員才有權(quán)使用數(shù)據(jù)庫(kù);“單用戶(hù)”
選項(xiàng)表示數(shù)據(jù)庫(kù)在同一時(shí)間只能供一個(gè)用戶(hù)使用。ANSINULL默認(rèn)設(shè)置:允許在數(shù)據(jù)庫(kù)表的列中輸入空(NULL)值。遞歸觸發(fā)器:指定是否允許觸發(fā)器遞歸調(diào)用。自動(dòng)更新統(tǒng)計(jì)信息:允許使用SELECTINTO或BCP、WRITETEXT、UPDATETEXT命令向表中大量插入數(shù)據(jù)。在開(kāi)發(fā)數(shù)據(jù)庫(kù)時(shí)常常將此選項(xiàng)設(shè)置為真。3.3修改數(shù)據(jù)庫(kù)殘缺頁(yè)檢測(cè):允許自動(dòng)檢測(cè)有損壞的頁(yè)。頁(yè)是數(shù)據(jù)庫(kù)內(nèi)容的基本存儲(chǔ)單位,每個(gè)頁(yè)的大小為8KB。由于SQLServer對(duì)頁(yè)的讀寫(xiě)單位是大小為512字節(jié)的扇區(qū),當(dāng)每個(gè)頁(yè)的第一個(gè)扇區(qū)被成功寫(xiě)入后,SQLServer就認(rèn)為此頁(yè)已經(jīng)被成功寫(xiě)入。因此,如果寫(xiě)完第一個(gè)扇區(qū)后發(fā)生突發(fā)事件,導(dǎo)致寫(xiě)入中斷,就會(huì)產(chǎn)生有損壞的頁(yè),需要通知備份來(lái)恢復(fù)數(shù)據(jù)庫(kù)。自動(dòng)關(guān)閉:當(dāng)數(shù)據(jù)庫(kù)中無(wú)用戶(hù)時(shí),自動(dòng)關(guān)閉該數(shù)據(jù)庫(kù),并將所占用的資源交還給操作系統(tǒng)。對(duì)那些不間斷使用的數(shù)據(jù)庫(kù)不要使用此選項(xiàng)。3.3修改數(shù)據(jù)庫(kù)自動(dòng)收縮:允許定期對(duì)數(shù)據(jù)庫(kù)進(jìn)行檢查,當(dāng)數(shù)據(jù)庫(kù)文件或日志文件中未用空間超過(guò)其大小的25%時(shí),系統(tǒng)將會(huì)自動(dòng)縮減文件,使其未用空間等于25%。當(dāng)文件大小沒(méi)有超過(guò)其建立時(shí)的初始大小時(shí),不會(huì)縮減文件。縮減后的文件也必須大于或等于其初始大小。自動(dòng)創(chuàng)建統(tǒng)計(jì)信息:在優(yōu)化查詢(xún)時(shí),根據(jù)需要自動(dòng)創(chuàng)建統(tǒng)計(jì)信息。使用被引用的標(biāo)識(shí)符:標(biāo)識(shí)符必須用雙引號(hào)括起來(lái),且可以不遵循Transact-SQL命名標(biāo)準(zhǔn)。
3.3修改數(shù)據(jù)庫(kù)3.3.3使用Transact-SQL語(yǔ)言修改數(shù)據(jù)庫(kù)
只有數(shù)據(jù)庫(kù)管理員或具有CREATEDATABASE權(quán)限的數(shù)據(jù)庫(kù)所有者才有權(quán)執(zhí)行該語(yǔ)句。ALTERDATABASE語(yǔ)句的語(yǔ)法格式如下:3.3修改數(shù)據(jù)庫(kù)Alterdatabasedatabasename{addfile<filespec>[,…n][tofilegroupfilegroupname]|addlogfile<filespec>[,…n]|removefilelogical_file_name|removefilegroupfilegroup_name
|modifyfile<filespec>|modifyname=new_databasename|addfilegroupfilegroup_name|modifyfilegroupfilegroup_name{filegroup_property|name=new_filegroup_name}}3.3修改數(shù)據(jù)庫(kù)addfile<filespec>[,…n][tofilegroupfilegroupname]:表示向指定的文件組中添加新的數(shù)據(jù)文件。addlogfile<filespec>[,…n]:增加新的日志文件。removefilelogical_file_name:刪除指定的操作系統(tǒng)文件。removefilegroupfilegroup_name:刪除指定的文件組。modifyfile<filespec>:修改某個(gè)操作系統(tǒng)文件。3.3修改數(shù)據(jù)庫(kù)modifyname=new_databasename:重命名數(shù)據(jù)庫(kù)。addfilegroupfilegroup_name:增加一個(gè)文件組。modifyfilegroupfilegroup_name:修改某個(gè)指定文件組的屬性。
3.3修改數(shù)據(jù)庫(kù)3.3.4縮小數(shù)據(jù)庫(kù)
1.使用企業(yè)管理器可以縮小數(shù)據(jù)庫(kù)。
2.使用Transact-SQL語(yǔ)言縮小數(shù)據(jù)庫(kù)。
(1)使用DBCCSHRINKDATABASE命令收縮指定數(shù)據(jù)庫(kù)中的數(shù)據(jù)文件。
DBCCSHRINKDATABASE(database_name[,target_percent][,{NOTRUNCATE|TRUNCATEONLY}])3.3修改數(shù)據(jù)庫(kù)database_name:要收縮的數(shù)據(jù)庫(kù)名稱(chēng)。Target_percent:當(dāng)數(shù)據(jù)庫(kù)收縮后,數(shù)據(jù)庫(kù)文件中剩余可用空間的百分比。
NOTRUNCATE:被釋放的文件空間依然保持在數(shù)據(jù)庫(kù)文件中。如果未指定,將所釋放的文件空間被操作系統(tǒng)回收。TRUNCATEONLY:將數(shù)據(jù)文件中未使用的空間釋放給操作系統(tǒng),并將文件收縮到上一次所分配的大小。使用
TRUNCATEONLY時(shí),將忽略
target_percent的限制。
3.3修改數(shù)據(jù)庫(kù)(2)使用DBCCSHRINKFILE命令收縮數(shù)據(jù)庫(kù)的指定數(shù)據(jù)文件或日志文件大小DBCCSHRINKFILE的語(yǔ)法格式如下:DBCCSHRINKFILE(file_name{[,target_size]|[,{EMPTYFILE|NOTRUNCATE|TRUNCATEONLY}]})4.1數(shù)據(jù)類(lèi)型4.1.1系統(tǒng)數(shù)據(jù)類(lèi)型
系統(tǒng)數(shù)據(jù)類(lèi)型是SQLServer預(yù)先定義好的,可以直接使用。
1.整型數(shù)據(jù)類(lèi)型
(1)int(integer):4個(gè)字節(jié)(2)Smallint
:2個(gè)字節(jié)(3)Tinyint:1個(gè)字節(jié)
4.1數(shù)據(jù)類(lèi)型2.浮點(diǎn)數(shù)據(jù)類(lèi)型:用于存儲(chǔ)十進(jìn)制小數(shù),采用只入不舍的方式
(1)Real:4個(gè)字節(jié)的,最大7位精確位數(shù)。(2)Float:可以精確到第15位小數(shù),默認(rèn)占用8個(gè)字節(jié)的存儲(chǔ)空間。Float數(shù)據(jù)類(lèi)型也可以寫(xiě)為float(n)的形式,n為1~15之間的整數(shù)值。當(dāng)n取1~7時(shí),系統(tǒng)用4個(gè)字節(jié)存儲(chǔ)它;當(dāng)n取8~15時(shí),用8個(gè)字節(jié)存儲(chǔ)它。4.1數(shù)據(jù)類(lèi)型(3)Decimal和numeric:可以提供小數(shù)所需要的實(shí)際存儲(chǔ)空間,可以用2~17個(gè)字節(jié)來(lái)存儲(chǔ)。也可以將其寫(xiě)為decimal(p,s)的形式。注意:數(shù)值類(lèi)型的總位數(shù)不包括小數(shù)。例如:decimal(10,5),表示共有10位數(shù),其中整數(shù)5位,小數(shù)5位。
4.1數(shù)據(jù)類(lèi)型3.字符數(shù)據(jù)類(lèi)型用來(lái)存儲(chǔ)各種字母、數(shù)字符號(hào)和特殊符號(hào)。在使用時(shí)需要在其前后加上英文單引號(hào)或者雙引號(hào)。(1)Char:占用1個(gè)字節(jié)。其定義形式為:char(n)n的取值為1~8000。默認(rèn)n的值為1。4.1數(shù)據(jù)類(lèi)型(2)Varchar:可以存儲(chǔ)長(zhǎng)達(dá)8000個(gè)字符的可變長(zhǎng)度字符串,和char類(lèi)型不同varchar類(lèi)型根據(jù)輸入數(shù)據(jù)的實(shí)際長(zhǎng)度而變化。其定義形式為:varchar(n)(3)Nchar:采用Unicode(統(tǒng)一字符編碼標(biāo)準(zhǔn))字符集每個(gè)Unicode字符用兩個(gè)字節(jié)為一個(gè)存儲(chǔ)單位。其定義形式為:nchar(n)(4)Nvarchar:使用Unicode字符集的Varchar數(shù)據(jù)類(lèi)型。其定義形式為:nvarchar(n)4.1數(shù)據(jù)類(lèi)型4.日期和時(shí)間數(shù)據(jù)類(lèi)型(1)Datetime:占用8個(gè)字節(jié)。用于存儲(chǔ)日期和時(shí)間的結(jié)合體,可以存儲(chǔ)從公元1753年1月1日零時(shí)起~公元9999年12月31日23時(shí)59分59秒之間的所有日期和時(shí)間,其精確度可達(dá)三百分之一秒,即3.33毫秒。當(dāng)存儲(chǔ)datetime數(shù)據(jù)類(lèi)型時(shí),默認(rèn)的格式是:MMDDYYYYhh:mmA.M./P.M。當(dāng)插入數(shù)據(jù)或者在其它地方使用datetime類(lèi)型時(shí),需要用單引號(hào)把它括起來(lái)。4.1數(shù)據(jù)類(lèi)型默認(rèn)January1,190012:00A.M。可以接受的輸入格式如下:Jan41999、JAN41999、January41999、Jan19994、19994Jan和1999Jan4。datetime數(shù)據(jù)類(lèi)型允許使用/、-和.作為不同時(shí)間單位間的分隔符。(2)Smalldatetime:存儲(chǔ)從1900年1月1日~2079年6月6日內(nèi)的日期。4個(gè)字節(jié)。
4.1數(shù)據(jù)類(lèi)型5.文本和圖形數(shù)據(jù)類(lèi)型(1)Text:容量可以在1~231-1個(gè)字節(jié)。在定義Text數(shù)據(jù)類(lèi)型時(shí),不需要指定數(shù)據(jù)長(zhǎng)度,SQLServer會(huì)根據(jù)數(shù)據(jù)的長(zhǎng)度自動(dòng)為其分配空間。(2)Ntext:采用unicode標(biāo)準(zhǔn)字符集,用于存儲(chǔ)大容量文本數(shù)據(jù)。其理論上的容量為230-1(1,073,741,823)個(gè)字節(jié)。(3)Image:用于存儲(chǔ)照片、目錄圖片或者圖畫(huà),其理論容量為231-1(2,147,483,647)個(gè)字節(jié)。
4.1數(shù)據(jù)類(lèi)型6.貨幣數(shù)據(jù)類(lèi)型(1)Money:用于存儲(chǔ)貨幣值,數(shù)值以一個(gè)正數(shù)部分和一個(gè)小數(shù)部分存儲(chǔ)在兩個(gè)4字節(jié)的整型值中,存儲(chǔ)范圍為-922337213685477.5808~922337213685477.5808,精度為貨幣單位的萬(wàn)分之一。(2)Smallmoney:其存儲(chǔ)范圍為-214748.3468~214748.3467。當(dāng)為money或smallmoney的表輸入數(shù)據(jù)時(shí),必須在有效位置前面加一個(gè)貨幣單位符號(hào)(如$或其它貨幣單位的記號(hào))。
4.1數(shù)據(jù)類(lèi)型7.位數(shù)據(jù)類(lèi)型Bit稱(chēng)為位數(shù)據(jù)類(lèi)型,有兩種取值:0和1。如果一個(gè)表中有8個(gè)或更少的bit列時(shí),用1個(gè)字節(jié)存放。如果有9~16個(gè)bit列時(shí),用2個(gè)字節(jié)存放。在輸入0以外的其它值時(shí),系統(tǒng)均把它們當(dāng)1看待。4.1數(shù)據(jù)類(lèi)型8.二進(jìn)制數(shù)據(jù)類(lèi)型(1)Binary:其定義形式為binary(n),數(shù)據(jù)的存儲(chǔ)長(zhǎng)度是固定的,即n+4個(gè)字節(jié)。二進(jìn)制數(shù)據(jù)類(lèi)型的最大長(zhǎng)度(即n的最大值)為8000,常用于存儲(chǔ)圖像等數(shù)據(jù)。(2)Varbinary:其定義形式為varbinary(n),數(shù)據(jù)的存儲(chǔ)長(zhǎng)度是變化的,它為實(shí)際所輸入數(shù)據(jù)的長(zhǎng)度加上4字節(jié)。在輸入二進(jìn)制常量時(shí),需在該常量前面加一個(gè)前綴0x。
4.1數(shù)據(jù)類(lèi)型9.特殊數(shù)據(jù)類(lèi)型(1)Timestamp:也稱(chēng)作時(shí)間戳數(shù)據(jù)類(lèi)型。是一種自動(dòng)記錄時(shí)間的數(shù)據(jù)類(lèi)型,主要用于在數(shù)據(jù)表中記錄其數(shù)據(jù)的修改時(shí)間。它提供數(shù)據(jù)庫(kù)范圍內(nèi)的唯一值。(2)Uniqueidentifier:也稱(chēng)作唯一標(biāo)識(shí)符數(shù)據(jù)類(lèi)型。Uniqueidentifier用于存儲(chǔ)一個(gè)16字節(jié)長(zhǎng)的二進(jìn)制數(shù)據(jù)類(lèi)型,它是SQLServer根據(jù)計(jì)算機(jī)網(wǎng)絡(luò)適配器地址和CPU時(shí)鐘產(chǎn)生的全局唯一標(biāo)識(shí)符代碼(GloballyUniqueIdentifier,簡(jiǎn)寫(xiě)為GUID)。
4.1數(shù)據(jù)類(lèi)型10.新增數(shù)據(jù)類(lèi)型(1)Bigint:占用8個(gè)字節(jié)。(2)sql_variant:用于存儲(chǔ)除文本、圖形數(shù)據(jù)和timestamp類(lèi)型數(shù)據(jù)外的其它任何合法的SQLServer數(shù)據(jù)。(3)table:用于存儲(chǔ)對(duì)表或者視圖處理后的結(jié)果集。4.1數(shù)據(jù)類(lèi)型4.1.2自定義數(shù)據(jù)類(lèi)型
1.使用企業(yè)管理器創(chuàng)建2.利用系統(tǒng)存儲(chǔ)過(guò)程創(chuàng)建sp_addtype[@typename=]type,[@phystype=]system_data_type[,[@nulltype=]‘null_type’][,[@owner=]‘owner_name’]4.1數(shù)據(jù)類(lèi)型type:指定用戶(hù)定義的數(shù)據(jù)類(lèi)型的名稱(chēng)。system_data_type:指定相應(yīng)的系統(tǒng)提供的數(shù)據(jù)類(lèi)型的名稱(chēng)及定義。注意,不能使用timestamp數(shù)據(jù)類(lèi)型,當(dāng)所使用的系統(tǒng)數(shù)據(jù)類(lèi)型有額外說(shuō)明時(shí),需要用引號(hào)將其括起來(lái)。null_type:指定用戶(hù)自定義數(shù)據(jù)類(lèi)型的null屬性,其值可以為‘null’、‘notnull’或者‘nonull’。默認(rèn)與系統(tǒng)默認(rèn)的null屬性相同。owner_name:指定用戶(hù)自定義數(shù)據(jù)類(lèi)型的所有者。4.1數(shù)據(jù)類(lèi)型刪除用戶(hù)自定義數(shù)據(jù)
1.使用企業(yè)管理器2.利用系統(tǒng)存儲(chǔ)過(guò)程sp_droptype[@typename=]‘type’
本章首頁(yè)4.2創(chuàng)建表
表是包含數(shù)據(jù)庫(kù)中所有數(shù)據(jù)的數(shù)據(jù)庫(kù)對(duì)象,用來(lái)存儲(chǔ)各種各樣的信息。在SQLServer2000中,一個(gè)數(shù)據(jù)庫(kù)中最多可以創(chuàng)建200萬(wàn)個(gè)表,用戶(hù)創(chuàng)建數(shù)據(jù)庫(kù)表時(shí),最多可以定義1024列。在同一數(shù)據(jù)庫(kù)的不同表中,可以有相同的字段,但在同一個(gè)表中不允許有相同的字段,而且每個(gè)字段都要求數(shù)據(jù)類(lèi)型相同。4.2創(chuàng)建表4.2.1利用企業(yè)管理器創(chuàng)建表默認(rèn)值:指定列的默認(rèn)值。除定義為timestamp或帶IDENTITY屬性的列以外的任何列。刪除表時(shí),將刪除默認(rèn)值定義。只有常量值(如字符串)、SQLServer內(nèi)部函數(shù)(如SYSTEM_USER())或NULL值可以用作默認(rèn)值。精度和小數(shù)位數(shù):精度是列的總長(zhǎng)度,包括整數(shù)部分和小數(shù)部分的長(zhǎng)度之和,但不包括小數(shù)點(diǎn);小數(shù)位數(shù)指定小數(shù)點(diǎn)后面的長(zhǎng)度。4.2創(chuàng)建表標(biāo)識(shí):指定列是否是標(biāo)識(shí)列。一個(gè)表只能創(chuàng)建一個(gè)標(biāo)識(shí)列。不能對(duì)標(biāo)識(shí)列使用綁定默認(rèn)值和DEFAULT約束。必須同時(shí)指定種子和增量,或者兩者都不指定。默認(rèn)值(1,1)。能夠成為標(biāo)識(shí)列的數(shù)據(jù)類(lèi)型有int、smallint、tinyint、numeric和decimal等系統(tǒng)數(shù)據(jù)類(lèi)型;如果其數(shù)據(jù)類(lèi)型為numeric和decimal,不允許出現(xiàn)小數(shù)位數(shù)。標(biāo)識(shí)種子:指定標(biāo)識(shí)列的初始值。標(biāo)識(shí)遞增量:指定標(biāo)識(shí)列的增量值。4.2創(chuàng)建表是RowGuid:指定列是否使用全局唯一標(biāo)識(shí)符。公式:用于指定計(jì)算列的列值表達(dá)式。排序規(guī)則:指定列的排序規(guī)則。說(shuō)明:在數(shù)據(jù)庫(kù)中表名必須是唯一的,但是如果為表指定了不同的用戶(hù),就可以創(chuàng)建多個(gè)相同名稱(chēng)的表。
4.2創(chuàng)建表4.2.2利用Transact-SQL語(yǔ)言創(chuàng)建表CREATETABLE[database_name.[owner].|owner.]table_name({<column_definition>|column_nameAScomputed_column_expression|<table_constraint>}[,…n])[ON{filegroup|DEFAULT}][TEXTIMAGE_ON{filegroup|DEFAULT}]4.2創(chuàng)建表<column_definition>::={column_namedata_type}[COLLATE<collation_name>][[DEFAULTconstant_expression]|[IDENTITY[(seed,increment)[NOTFORREPLICATION]]]][ROWGUIDCOL][<column_constraint>][...n]4.2創(chuàng)建表<column_constraint>::=[CONSTRAINTconstraint_name]{[NULL|NOTNULL]|[{PRIMARYKEY|UNIQUE}[CLUSTERED|NONCLUSTERED][WITH
FILLFACTOR=fillfactor][ON{filegroup|DEFAULT}]]}|FOREIGNKEY[(column[,…n])]REFERENCESref_table[(ref_column[,…n])][NOTFORREPLICATION]|CHECK[NOTFORREPLICATION](logical_expression)}本章首頁(yè)
4.3創(chuàng)建、刪除和修改約束
約束是SQLServer提供的自動(dòng)保持?jǐn)?shù)據(jù)庫(kù)完整性的一種方法。列級(jí)約束:列級(jí)約束是行定義的一部分,只能夠應(yīng)用在一列上。表級(jí)約束:表級(jí)約束的定義獨(dú)立于列的定義,可以應(yīng)用在一個(gè)表中的多列上。
4.3創(chuàng)建、刪除和修改約束4.3.1主鍵約束
主鍵能夠唯一地確定表中的每一條記錄,主鍵不能取空值。主鍵約束可以保證實(shí)體的完整性。1.通過(guò)企業(yè)管理器完成添加、刪除和修改主鍵的操作2.使用Transact-SQL語(yǔ)句設(shè)置主鍵約束CONSTRAINTconstraint_namePRIMARYKEY[CLUSTERED|NONCLUSTERED]
(column_name[,…n])
4.3創(chuàng)建、刪除和修改約束4.3.2唯一性約束唯一性約束用于指定一個(gè)或多個(gè)列的組合值具有唯一性,以防止在列中輸入重復(fù)的值。使用唯一性約束的字段允許為空值;一個(gè)表中可以允許有多個(gè)唯一性約束;可以把唯一性約束定義在多個(gè)字段上;唯一性約束用于強(qiáng)制在指定字段上創(chuàng)建一個(gè)唯一性索引;默認(rèn)情況下,創(chuàng)建的索引類(lèi)型為非聚集索引。
4.3創(chuàng)建、刪除和修改約束1.通過(guò)企業(yè)管理器完成創(chuàng)建和修改唯一性約束的操作
2.使用Transact-SQL語(yǔ)句完成唯一性約束的操作CONSTRAINTconstraint_nameUNIQUE[CLUSTERED|NONCLUSTERED](column_name[,…n])
4.3創(chuàng)建、刪除和修改約束4.3.3檢查約束保證數(shù)據(jù)庫(kù)數(shù)據(jù)的完整性。一個(gè)列級(jí)檢查約束只能與限制的字段有關(guān);一個(gè)表級(jí)檢查約束只能與限制的表中字段有關(guān);一個(gè)表中可以定義多個(gè)檢查約束;每個(gè)CREATETABLE語(yǔ)句中每個(gè)字段只能定義一個(gè)檢查約束;在多個(gè)字段上定義檢查約束,則必須將檢查約束定義為表級(jí)約束;當(dāng)執(zhí)行INSERT語(yǔ)句或者UPDATE語(yǔ)句時(shí),檢查約束將驗(yàn)證數(shù)據(jù);檢查約束中不能包含子查詢(xún)。
4.3創(chuàng)建、刪除和修改約束1.使用企業(yè)管理器創(chuàng)建檢查約束
2.用Transact-SQL語(yǔ)句創(chuàng)建檢查約束。CONSTRAINTconstraint_nameCHECK[NOTFORREPLICATION]
(logical_expression)4.3創(chuàng)建、刪除和修改約束4.3.4默認(rèn)約束
每個(gè)字段只能定義一個(gè)默認(rèn)約束;如果定義的默認(rèn)值長(zhǎng)于其對(duì)應(yīng)字段的允許長(zhǎng)度,那么輸入到表中的默認(rèn)值將被截?cái)?;不能加入到帶有IDENTITY屬性或者數(shù)據(jù)類(lèi)型為timestamp的字段上;如果字段定義為用戶(hù)定義的數(shù)據(jù)類(lèi)型,而且有一個(gè)默認(rèn)綁定到這個(gè)數(shù)據(jù)類(lèi)型上,則不允許該字段有默認(rèn)約束。
4.3創(chuàng)建、刪除和修改約束1.使用企業(yè)管理器創(chuàng)建默認(rèn)約束
2.使用Transact-SQL語(yǔ)句創(chuàng)建默認(rèn)約束
4.3創(chuàng)建、刪除和修改約束4.3.5外鍵約束
外鍵約束主要用來(lái)維護(hù)兩個(gè)表之間數(shù)據(jù)的一致性。外鍵約束提供了字段參照完整性;外鍵從句中的字段數(shù)目和每個(gè)字段指定的數(shù)據(jù)類(lèi)型都必須和REFERENCES從句中的字段相匹配;外鍵約束不能自動(dòng)創(chuàng)建索引,需要用戶(hù)手動(dòng)創(chuàng)建;用戶(hù)想要修改外鍵約束的數(shù)據(jù),必須有對(duì)外鍵約束所參考表的SELECT權(quán)限或者REFERENCES權(quán)限;參考同一表中的字段時(shí),必須只使用REFERENCES子句,不能使用外鍵子句;4.3創(chuàng)建、刪除和修改約束一個(gè)表中最多可以有31個(gè)外鍵約束;在臨時(shí)表中,不能使用外鍵約束;主鍵和外鍵的數(shù)據(jù)類(lèi)型必須嚴(yán)格匹配。
1.在企業(yè)管理器中添加外鍵約束
2.使用Transact-SQL語(yǔ)句設(shè)置外鍵約束
CONSTRAINTconstraint_nameFOREIGNKEY(column_name[,…n])REFERENCESref_table[(ref_column[,…n])]
本章首頁(yè)4.4增加、刪除和修改字段
4.4.1利用企業(yè)管理器增加、刪除和修改字段
4.4.2利用Transact-SQL語(yǔ)言增加、刪除和修改字段
4.4增加、刪除和修改字段ALTERTABLEtable
{[ALTERCOLUMNcolumn_name
{new_data_type[(precision[,scale])]
[COLLATE<collation_name>]
[NULL|NOTNULL]
|{ADD|DROP}ROWGUIDCOL}
]
|ADD4.4增加、刪除和修改字段
{[<column_definition>]
|column_nameAScomputed_column_expression
}[,...n]
|[WITHCHECK|WITHNOCHECK]ADD
{<table_constraint>}[,...n]
|DROP
{[CONSTRAINT]constraint_name
|COLUMNcolumn}[,...n]
|{CHECK|NOCHECK}CONSTRAINT
{ALL|constraint_name[,...n]}
|{ENABLE|DISABLE}TRIGGER
{ALL|trigger_name[,...n]}
}本章首頁(yè)4.5查看表格
4.5.1查看表格的定義
4.5.2查看表格中的數(shù)據(jù)
4.5.3查看表格與其它數(shù)據(jù)庫(kù)對(duì)象的依賴(lài)關(guān)系
4.5.4利用系統(tǒng)存儲(chǔ)過(guò)程Sp_help查看表的信息
本章首頁(yè)5.1在企業(yè)管理器中操作表中的數(shù)據(jù)
查詢(xún)插入更新刪除本章首頁(yè)5.2使用SELECT語(yǔ)句查詢(xún)數(shù)據(jù)
SELECT語(yǔ)句的基本格式如下:SELECTselect_list[INTOnew_table]FROMtable_source[WHEREsearch_condition][GROUPBYgroup_by_expression][HAVINGsearch_condition][ORDERBYorder_expression[ASC|DESC]]
5.2使用SELECT語(yǔ)句查詢(xún)數(shù)據(jù)5.2.1SELECT子句SELECT[ALL|DISTINCT][TOPn[PERCENT][WITHTIES]]<select_list>
<select_list>::={*|{table_name|view_name|table_alias}.*|{column_name|expression|IDENTITYCOL|ROWGUIDCOL}[[AS]column_alias]|column_alias=expression
}[,...n]
基本格式5.2使用SELECT語(yǔ)句查詢(xún)數(shù)據(jù)5.2.2INTO子句[INTOnew_table]
基本格式5.2使用SELECT語(yǔ)句查詢(xún)數(shù)據(jù)5.2.3FROM子句
[FROM{<table_source>}[,...n]]<table_source>::=table_name[[AS]table_alias][WITH(<table_hint>[,...n])]|view_name[[AS]table_alias]
|rowset_function[[AS]table_alias]
|OPENXML|derived_table[AS]table_alias[(column_alias[,...n])]|<joined_table>5.2使用SELECT語(yǔ)句查詢(xún)數(shù)據(jù)<joined_table>::=<table_source><join_type><table_source>ON<search_condition>|<table_source>CROSSJOIN<table_source>|<joined_table><join_type>::=[INNER|{{LEFT|RIGHT|FULL}[OUTER]}][<join_hint>]
JOIN基本格式5.2使用SELECT語(yǔ)句查詢(xún)數(shù)據(jù)5.2.4WHERE子句
WHERE<search_condition>|<old_outer_join><search_condition>::={[NOT]<predicate>|(<searth_condition>)}[{AND|OR}[NOT]{<predicate>|(<searth_condition>)}]}[,...n]5.2使用SELECT語(yǔ)句查詢(xún)數(shù)據(jù)1.算術(shù)表達(dá)式使用算術(shù)表達(dá)式的一般形式為:expressionoperatorexpression
WHERE子句中允許出現(xiàn)的算術(shù)運(yùn)算符有:=(等于)、>(大于)、>=(對(duì)于等于)、<(小于)、<=(小于等于)、<>(不等于)、!>(不大于)、!<(不小于)、!=(不等于)
5.2使用SELECT語(yǔ)句查詢(xún)數(shù)據(jù)2.邏輯表達(dá)式在Transact-SQL中可以使用的邏輯運(yùn)算符有三個(gè):NOT:邏輯反,對(duì)指定的布爾表達(dá)式求反。AND:邏輯與,只有當(dāng)兩個(gè)條件都是TRUE時(shí)取值為T(mén)RUE。OR:邏輯或,當(dāng)兩個(gè)條件中任何一個(gè)條件是TRUE時(shí)取值為T(mén)RUE。
5.2使用SELECT語(yǔ)句查詢(xún)數(shù)據(jù)3.BETWEEN關(guān)鍵字test_expression[NOT]BETWEENbegin_expressionANDend_expression4.IN關(guān)鍵字test_expression[NOT]IN(subquery|expression[,...n])5.2使用SELECT語(yǔ)句查詢(xún)數(shù)據(jù)5.LIKE關(guān)鍵字match_expression[NOT]LIKEpattern[ESCAPEescape_character]
有效SQLServer通配符:%:可匹配任意類(lèi)型和長(zhǎng)度的字符串。_(下劃線):可匹配任何單個(gè)字符。[]:指定范圍或集合中的任何單個(gè)字符。[^]:不屬于指定范圍或集合的任何單個(gè)字符6.NULL關(guān)鍵字
表達(dá)式ISNULL或表達(dá)式ISNOTNULL
基本格式5.2使用SELECT語(yǔ)句查詢(xún)數(shù)據(jù)5.2.5GROUPBY子句
[GROUPBY[ALL]group_by_expression[,...n][WITH{CUBE|ROLLUP}]]5.2.6HAVING子句
[HAVING<search_condition>]基本格式5.2使用SELECT語(yǔ)句查詢(xún)數(shù)據(jù)5.2.7ORDERBY子句[ORDERBY{order_by_expression[ASC|DESC]}[,...n]]
5.2.8COMPUTE子句
[COMPUTE{{AVG|COUNT|MAX|MIN|STDEV|STDEVP|VAR|VARP|SUM}(expression)}[,...n][BYexpression[,...n]]
基本格式5.2使用SELECT語(yǔ)句查詢(xún)數(shù)據(jù)5.2.9
聯(lián)合查詢(xún)聯(lián)合查詢(xún)是指將兩個(gè)或兩個(gè)以上的SELECT語(yǔ)句通過(guò)UNION運(yùn)算符連接起來(lái)的查詢(xún),
聯(lián)合查詢(xún)可以將兩個(gè)或更多查詢(xún)的結(jié)果組合為單個(gè)結(jié)果集,該結(jié)果集包含聯(lián)合查詢(xún)中所有查詢(xún)的全部行。使用UNION組合兩個(gè)查詢(xún)的結(jié)果集的兩個(gè)基本規(guī)則是:
所有查詢(xún)中的列數(shù)和列的順序必須相同。數(shù)據(jù)類(lèi)型必須兼容。5.2使用SELECT語(yǔ)句查詢(xún)數(shù)據(jù){<queryspecification>|(<queryexpression>)}UNION[ALL]<queryspecification|(<queryexpression>)[UNION[ALL]<queryspecification|(<queryexpression>)[...n]]5.2使用SELECT語(yǔ)句查詢(xún)數(shù)據(jù)5.2.10嵌套查詢(xún)將一個(gè)查詢(xún)塊嵌套在另一個(gè)查詢(xún)塊的WHERE子句或HAVING短語(yǔ)的條件中的查詢(xún)稱(chēng)為嵌套查詢(xún)。嵌套查詢(xún)中上層的查詢(xún)塊稱(chēng)為外層查詢(xún)或父查詢(xún),下層查詢(xún)塊稱(chēng)為內(nèi)層查詢(xún)或子查詢(xún)。嵌套查詢(xún)一般按照由里向外的方法處理。在某些嵌套查詢(xún)中WHERE之后還可以使用ANY和ALL兩個(gè)關(guān)鍵字。這兩個(gè)關(guān)鍵字可以和算術(shù)運(yùn)算符在一起構(gòu)成各種查詢(xún)條件,如:>ALL表示大于子查詢(xún)中的所有值。
本章首頁(yè)5.3使用INSERT語(yǔ)句插入數(shù)據(jù)
INSERT[INTO]{table_name|view_name}
{[(
column_list)]{VALUES
(
{DEFAULT|NULL|expression}[,...n])
|derived_table}
本章首頁(yè)5.4使用UPDATE語(yǔ)句更新數(shù)據(jù)
UPDATE{table_name|view_name}[FROM{<table_source>}[,...n]SETcolumn_name={expression|DEFAULT|NULL}[,...n][WHEREsearch_condition>]
本章首頁(yè)5.5使用DELETE語(yǔ)句刪除數(shù)據(jù)
5.5.1DELETE語(yǔ)句DELETE[FROM]{table_nameWITH(<table_hint_limited>[...n])|view_name}[WHERE<search_condition>]6.1概述兩個(gè)GO之間的SQL語(yǔ)句作為一個(gè)批處理。在一個(gè)批處理中可以包含一條或多條Transact-SQL語(yǔ)句,成為一個(gè)語(yǔ)句組。這樣的語(yǔ)句組從應(yīng)用程序一次性地發(fā)送到SQLServer服務(wù)器進(jìn)行執(zhí)行。SQLServer服務(wù)器將批處理編譯成一個(gè)可執(zhí)行單元,稱(chēng)為執(zhí)行計(jì)劃。本章首頁(yè)6.2注釋
在SQLServer中,有兩種類(lèi)型的注釋字符:?jiǎn)涡凶⑨專(zhuān)菏褂脙蓚€(gè)連在一起的減號(hào)“--”作為注釋符;多行注釋?zhuān)菏褂谩?**/”作為注釋符。本章首頁(yè)6.3變量
6.3.1全局變量全局變量在整個(gè)SQLServer系統(tǒng)內(nèi)使用。存儲(chǔ)的通常是一些SQLServer的配置設(shè)定值和統(tǒng)計(jì)數(shù)據(jù)。在使用全局變量時(shí)應(yīng)該注意以下幾點(diǎn):全局變量是在服務(wù)器級(jí)定義的。用戶(hù)只能使用預(yù)先定義的全局變量。引用全局變量時(shí),必須以標(biāo)記符“@@”開(kāi)頭。全局變量對(duì)用戶(hù)來(lái)說(shuō)是只讀的。局部變量的名稱(chēng)不能與全局變量的名稱(chēng)相同。6.3變量6.3.2局部變量利用局部變量還可以保存程序執(zhí)行過(guò)程中的中間數(shù)據(jù)值,保存由存儲(chǔ)過(guò)程返回的數(shù)據(jù)值等。1.局部變量的定義必須先用DECLARE命令定義后才可以使用。DECLAER{@local_variabledata_type}[…n]2.局部變量的賦值方法
SET{{@local_variable=expression}或者SELECT{@local_variable=expression}[,...n]本章首頁(yè)6.4運(yùn)算符6.4.1算術(shù)運(yùn)算符
算術(shù)運(yùn)算符包括加(+)、減(-)、乘(*)、除(/)和取模(%)
6.4.2賦值運(yùn)算符Transact-SQL中只有一個(gè)賦值運(yùn)算符,即等號(hào)(=)6.4.3位運(yùn)算符位運(yùn)算符包括按位與(&)、按位或(|)、按位異或(^)和求反(~)。位運(yùn)算符用來(lái)對(duì)整型數(shù)據(jù)或者二進(jìn)制數(shù)據(jù)(image數(shù)據(jù)類(lèi)型除外)之間執(zhí)行位操作。要求在位運(yùn)算符左右兩側(cè)的操作數(shù)不能同時(shí)是二進(jìn)制數(shù)據(jù)。
6.4運(yùn)算符6.4.4比較運(yùn)算符比較運(yùn)算符包括:等于(=)、大于(>)、大于或等于(>=)、小于(<)、小于或等于(<=)、不等于(<>或!=)、不小于(!<)、不大于(!>)。
6.4.5邏輯運(yùn)算符邏輯運(yùn)算符包括與(AND)、或(OR)和非(NOT)等運(yùn)算符。邏輯運(yùn)算返回布爾值,值為T(mén)RUE或FALSE。
6.4運(yùn)算符6.4.6字符串連接運(yùn)算符
(+)6.4.7運(yùn)算符的優(yōu)先級(jí)括號(hào):();乘、除、求模運(yùn)算符:*,/,%;加減運(yùn)算符:+,-;比較運(yùn)算符:=,>,<,>=,<=,<>,!=,!>,!<;位運(yùn)算符:^,&,|;邏輯運(yùn)算符:NOT;邏輯運(yùn)算符:AND;邏輯運(yùn)算符:OR。本章首頁(yè)6.5函數(shù)6.5.1系統(tǒng)函數(shù)
6.5.2字符串函數(shù)6.5.3日期和時(shí)間函數(shù)6.5.4
數(shù)學(xué)函數(shù)
6.5.5
轉(zhuǎn)換函數(shù)CAST(expressionASdata_type)CONVERT(data_type[(length)],expression[,style])6.5函數(shù)6.5.6用戶(hù)自定義函數(shù)
CREATEFUNCTION函數(shù)名稱(chēng)(形式參數(shù)名稱(chēng)
AS數(shù)據(jù)類(lèi)型)RETURNS返回?cái)?shù)據(jù)類(lèi)型BEGIN函數(shù)內(nèi)容RETURN表達(dá)式END
調(diào)用用戶(hù)自定義函數(shù)的基本語(yǔ)法為:變量=用戶(hù)名.函數(shù)名稱(chēng)(實(shí)際參數(shù)列表)注意:在調(diào)用返回?cái)?shù)值的用戶(hù)自定義函數(shù)時(shí),一定要在函數(shù)名稱(chēng)的前面加上用戶(hù)名
本章首頁(yè)6.6流程控制語(yǔ)句
6.6.1BEGIN…END語(yǔ)句
BEGIN{sql_statement|statement_block}END6.6.2IF…ELSE語(yǔ)句
IFBoolean_expression{sql_statement|statement_block}[ELSE{sql_statement|statement_block}]6.6流程控制語(yǔ)句6.6.3CASE語(yǔ)句簡(jiǎn)單CASE語(yǔ)句的語(yǔ)法形式為:CASEinput_expressionWHENwhen_expressionTHENresult_expression[...n][ELSEelse_result_expression]END
搜索CASE語(yǔ)句的語(yǔ)法形式為:CASEWHENBoolean_expressionTHENresult_expression[...n][ELSEelse_result_expression]END6.6流程控制語(yǔ)句6.6.4WHILE…CONTINUE…BREAK語(yǔ)句
WHILEBoolean_expression{sql_statement|statement_block}[BREAK]{sql_statement|statement_block}[CONTINUE]6.6.5GOTO語(yǔ)句
GOTOlabel……label:7.1概述7.1.1視圖的概念
視圖是一種數(shù)據(jù)庫(kù)對(duì)象,是從一個(gè)或者多個(gè)數(shù)據(jù)表或視圖中導(dǎo)出的虛表,視圖的結(jié)構(gòu)和數(shù)據(jù)是對(duì)數(shù)據(jù)表進(jìn)行查詢(xún)的結(jié)果。視圖被定義后便存儲(chǔ)在數(shù)據(jù)庫(kù)中,通過(guò)視圖看到的數(shù)據(jù)只是存放在基表中的數(shù)據(jù)。當(dāng)對(duì)通過(guò)視圖看到的數(shù)據(jù)進(jìn)行修改時(shí),相應(yīng)的基表的數(shù)據(jù)也會(huì)發(fā)生變化,同時(shí),若基表的數(shù)據(jù)發(fā)生變化,這種變化也會(huì)自動(dòng)地反映到視圖中。視圖可以是一個(gè)數(shù)據(jù)表的一部分,也可以是多個(gè)基表的聯(lián)合。7.1概述7.1.2視圖的優(yōu)點(diǎn)視圖可以屏蔽數(shù)據(jù)的復(fù)雜性,簡(jiǎn)化用戶(hù)對(duì)數(shù)據(jù)庫(kù)的操作。視圖可以讓不同的用戶(hù)以不同的方式看到不同或者相同的數(shù)據(jù)集。可以使用視圖重新組織數(shù)據(jù)。視圖可以定制不同用戶(hù)對(duì)數(shù)據(jù)的訪問(wèn)權(quán)限。本章首頁(yè)7.2創(chuàng)建視圖
視圖的名稱(chēng)只能在當(dāng)前數(shù)據(jù)庫(kù)中創(chuàng)建視圖。一個(gè)視圖中行、列的限制。如果視圖中某一列是函數(shù)、數(shù)學(xué)表達(dá)式、常量或者來(lái)自多個(gè)表的列名相同,則必須為列定義名稱(chēng)。視圖與基表的關(guān)系不能在視圖上創(chuàng)建索引,不能在規(guī)則、默認(rèn)的定義中引用視圖。7.2創(chuàng)建視圖7.2.1使用企業(yè)管理器創(chuàng)建視圖7.2.2使用Transact-SQL語(yǔ)句創(chuàng)建視圖CREATEVIEW[<database_name>.][<owner>.]view_name[(column[,...n])][WITH<view_attribute>[,...n]]ASselect_statement
[WITHCHECKOPTION]<view_attribute>::=
{ENCRYPTION|SCHEMABINDING|VIEW_METADATA}7.2.3使用向?qū)?chuàng)建視圖
本章首頁(yè)7.3查看視圖信息7.3.1使用企業(yè)管理器查看視圖信息
7.3.2使用系統(tǒng)存儲(chǔ)過(guò)程查看視圖信息
sp_help數(shù)據(jù)庫(kù)對(duì)象名稱(chēng)sp_helptext視圖(觸發(fā)器、存儲(chǔ)過(guò)程)sp_depends數(shù)據(jù)庫(kù)對(duì)象名稱(chēng)
本章首頁(yè)7.4修改和重命名視圖7.4.1修改視圖1.使用企業(yè)管理器修改視圖2.使用Transact-SQL語(yǔ)句修改視圖ALTERVIEWview_name[(column[,...n])][WITHENCRYPTION]AS
select_statement
[WITHCHECKOPTION]
7.4修改和重命名視圖7.4.2重命名視圖1.使用企業(yè)管理器重命名視圖2.使用系統(tǒng)存儲(chǔ)過(guò)程重命名視圖sp_renameold_name,new_name本章首頁(yè)7.5使用視圖修改視圖中的數(shù)據(jù)時(shí)每次修改都只能影響一個(gè)基表。不能修改那些通過(guò)計(jì)算得到的字段。如果在創(chuàng)建視圖時(shí)指定了WITHCHECKOPTION選項(xiàng),那么所有使用視圖修改數(shù)據(jù)庫(kù)信息時(shí),必須保證修改后的數(shù)據(jù)滿(mǎn)足視圖定義的范圍。執(zhí)行UPDATE、DELETE命令時(shí),所刪除與更新的數(shù)據(jù)必須包含在視圖的結(jié)果集中。如果視圖引用多個(gè)表時(shí),無(wú)法用DELETE命令刪除數(shù)據(jù),若使用UPDATE命令則應(yīng)與INSERT操作一樣,被更新的列必須屬于同一個(gè)表。
7.5使用視圖7.5.1插入數(shù)據(jù)記錄
1.使用企業(yè)管理器在視圖中插入記錄
2.使用Transact-SQL
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五暑期工勞務(wù)派遣與就業(yè)環(huán)境優(yōu)化合同
- 二零二五年度物流公司貨車(chē)司機(jī)服務(wù)質(zhì)量考核與獎(jiǎng)勵(lì)協(xié)議
- 2025年度網(wǎng)絡(luò)安全防護(hù)等級(jí)評(píng)定安全協(xié)議書(shū)
- 2025年度汽車(chē)零部件貨物運(yùn)輸安全與質(zhì)量協(xié)議
- 二零二五年度環(huán)保產(chǎn)業(yè)技術(shù)人才招聘與綠色創(chuàng)新協(xié)議
- 2025年度環(huán)保型清潔公司員工聘用合同書(shū)
- 二零二五年度水利設(shè)施監(jiān)控維保及災(zāi)害預(yù)警服務(wù)合同
- 二零二五年度海鮮水產(chǎn)店轉(zhuǎn)讓與經(jīng)營(yíng)協(xié)議
- 二零二五年度倆人共同創(chuàng)業(yè)經(jīng)營(yíng)咖啡廳合伙協(xié)議
- 二零二五年度農(nóng)村土地租賃合同模板(現(xiàn)代農(nóng)業(yè)物流園區(qū))
- 中央2025年中國(guó)科協(xié)所屬單位招聘社會(huì)在職人員14人筆試歷年參考題庫(kù)附帶答案詳解-1
- 2024年湖北省聯(lián)合發(fā)展投資集團(tuán)有限公司人員招聘考試題庫(kù)及答案解析
- 造價(jià)咨詢(xún)服務(wù)方案進(jìn)度計(jì)劃安排及保證措施
- 2024年全國(guó)統(tǒng)一高考英語(yǔ)試卷(新課標(biāo)Ⅰ卷)含答案
- 供養(yǎng)直系親屬有關(guān)文件
- 出口退稅手冊(cè)核銷(xiāo)操作步驟
- 穿孔鋁板技術(shù)交底
- 第三章社科信息檢索原理與技術(shù)PPT課件
- 危大工程管理細(xì)則(廣西區(qū)規(guī)定)
- HALCON手冊(cè)簡(jiǎn)體中文版
- 聲學(xué)原理及聲學(xué)測(cè)試
評(píng)論
0/150
提交評(píng)論