sqlserver數(shù)據(jù)庫基礎(chǔ)知識_第1頁
sqlserver數(shù)據(jù)庫基礎(chǔ)知識_第2頁
sqlserver數(shù)據(jù)庫基礎(chǔ)知識_第3頁
sqlserver數(shù)據(jù)庫基礎(chǔ)知識_第4頁
sqlserver數(shù)據(jù)庫基礎(chǔ)知識_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、sqlserver數(shù)據(jù)庫基礎(chǔ)知識SQL Server 2005安裝幾種數(shù)據(jù)庫產(chǎn)品介紹SQL Server 只能在windows上運(yùn)行,沒有絲毫的開放性,操作系統(tǒng)的系統(tǒng)的穩(wěn)定對數(shù)據(jù)庫是十分重要的。Windows9X系列產(chǎn)品是偏重于桌面應(yīng)用,NT server只適合中小型企業(yè)。而且windows平 臺的可靠性,安全性和伸縮性是非常有限的。它不象unix那樣久經(jīng)考驗(yàn),尤其是在處理大數(shù)據(jù)。Oracle 能在所有主流平臺上運(yùn)行(包括 windows)。完全支持所有的工業(yè)標(biāo)準(zhǔn)。采用完全開放策略??梢允箍蛻暨x擇最適合的解決方案。對開發(fā)商全力支持。Sysbase 能在所有主流平臺上運(yùn)行(包括 windows)

2、。 但由于早期Sybase與OS集成度不高,因此以下版本需要較多OS和 DB級補(bǔ)丁。在多平臺的混合環(huán)境中,會(huì)有一定問題。 DB2 能在所有主流平臺上運(yùn)行(包括windows)。最適于海量數(shù)據(jù)。DB2在企業(yè)級的應(yīng)用最為廣泛,在全球的500家最大的企業(yè)中,幾乎85%以上用DB2數(shù)據(jù)庫服務(wù)器,而國內(nèi)到97年約占5%。MySql 可以說這是中小企業(yè)網(wǎng)站Linux平臺的首選自由數(shù)據(jù)庫系統(tǒng)。它是一個(gè)跨平臺數(shù)據(jù)庫系統(tǒng),一個(gè)真正的多用戶、多線程的SQL數(shù)據(jù)庫系統(tǒng),同時(shí)是具有客戶機(jī)/服務(wù)器體系結(jié)構(gòu)的分布式數(shù)據(jù)庫管理系統(tǒng)。同時(shí),也是Linux系統(tǒng)中使用最為簡單的數(shù)據(jù)庫系統(tǒng),安裝簡單、使用簡單、管理也簡單,且數(shù)據(jù)庫

3、系統(tǒng)的穩(wěn)定性也很不錯(cuò)。 SQL Server的安全性的安全性身份驗(yàn)證模式(1)Windows身份驗(yàn)證模式 客戶機(jī)使用Windows操作系統(tǒng)的用戶帳戶和密碼連接數(shù)據(jù)庫服務(wù)器時(shí),SQL Server 2005使用Windows操作系統(tǒng)來進(jìn)行身份驗(yàn)證。(2)混合模式 客戶機(jī)使用用戶帳戶和密碼連接數(shù)據(jù)庫服務(wù)器時(shí),服務(wù)器首先在數(shù)據(jù)庫中查詢是否有相同賬戶和密碼的用戶,基有則接受連接。若數(shù)據(jù)庫中沒有相應(yīng)的賬戶和密碼,則向windows操作系統(tǒng)請求驗(yàn)證客戶機(jī)的身份,若兩者都沒有通過,則拒絕連接。Master master數(shù)據(jù)庫位于Sql Server的核心,如果該數(shù)據(jù)庫被損壞,Sql Server將無法正常工

4、作。因此請大家千萬不要對master作任何操作。 Master數(shù)據(jù)庫中的內(nèi)容主要有: 所有的登錄名或用戶ID所屬的角色。 所有的系統(tǒng)配置設(shè)置。 服務(wù)器中的數(shù)據(jù)庫的名稱及相關(guān)信息。 數(shù)據(jù)庫中的位置。 SQL server如何初始化。 用于存儲系統(tǒng)重要信息的特殊的系統(tǒng)表。SQL Server中的數(shù)據(jù)庫tempdb tempdb數(shù)據(jù)庫,是一個(gè)臨時(shí)性的數(shù)據(jù)庫,它存在于Sql Server會(huì)話期間,一旦Sql Server關(guān)閉,tempdb數(shù)據(jù)庫將丟失。當(dāng)Sqlserver得新啟動(dòng)時(shí),將重建全新的、空的tempdb數(shù)據(jù)庫,以供使用。其作用是保存數(shù)據(jù)庫運(yùn)行過程中生成的臨時(shí)數(shù)據(jù)以供用戶使用。 對于tempd

5、b,我們只需關(guān)注其大小的設(shè)置。SQL Server中的數(shù)據(jù)庫 model模板數(shù)據(jù)庫,作為其它數(shù)據(jù)庫的模板數(shù)據(jù)庫。 msdb 當(dāng)創(chuàng)建備分或執(zhí)行還原等作業(yè)時(shí),存儲有關(guān)這些任務(wù)的信息的數(shù)據(jù)庫。利用查詢編輯器創(chuàng)建數(shù)據(jù)庫格式:CREATE DATABASE database_name A. 創(chuàng)建未指定文件的數(shù)據(jù)庫 CREATE DATABASE mytest; B. 創(chuàng)建指定數(shù)據(jù)和事務(wù)日志文件的數(shù)據(jù)庫 CREATE DATABASE Sales ON ( NAME = Sales_dat, FILENAME = c:saledat.mdf, SIZE = 10, MAXSIZE = 50, FILEGR

6、OWTH = 5 ) 登錄名 要連接到SqlServer中,我們必須采用以下方式之一 Windows登錄名 如果用戶名屬于某個(gè)特定的windows組,并在Sql Server中包含該組,那么該用戶帳戶就能夠訪問Sql Server。 Sql Server登錄名 例:在windows中創(chuàng)建一個(gè)用戶組(operator_DB_group)和一個(gè)用戶名(xiaobao),并使用戶名為用戶組的一個(gè)成員。同時(shí)使之登錄指定的用戶數(shù)據(jù)庫。2、數(shù)據(jù)庫角色Dbo/db_owner:特指數(shù)據(jù)庫所在者Db_accessadmin:可以管理登錄名對數(shù)據(jù)庫的訪問Db_backupoperator:可以備分?jǐn)?shù)據(jù)庫Db_d

7、atareader:可以從所有用戶定義表中讀取數(shù)據(jù)。Db_datawriter:可以對用戶表進(jìn)行任何寫行為。Db_ddladmin:可以執(zhí)行數(shù)據(jù)定義行為,如創(chuàng)建表。Db_denydatareader:不能從用戶表寫入數(shù)據(jù)。Db_denydatawriter:不能向用戶表寫入數(shù)據(jù)。Db_securityadmin:不能修改數(shù)據(jù)庫角色成員和管理權(quán)限。Public:可以看到任何由公共或完整權(quán)力、權(quán)限的用戶所創(chuàng)建的數(shù)據(jù)庫對象。例:使創(chuàng)新的用戶只能對某幾個(gè)表進(jìn)行選擇操作。表的數(shù)據(jù)類型用戶在創(chuàng)建表時(shí)需要根據(jù)數(shù)據(jù)的需要進(jìn)行數(shù)據(jù)類型的選擇,從而方便的對數(shù)據(jù)進(jìn)行操作。上述作者表中,作者的名字應(yīng)為字符(char)

8、型。而成績表中的成績應(yīng)為浮點(diǎn)型(float)。因而我們應(yīng)對數(shù)據(jù)類型有比較深入的學(xué)習(xí)和了解。1、char (nchar存儲unicode格式的字符) ,固定數(shù)據(jù)類型。如果定義10個(gè)字符長度的字段時(shí),注意如輸入”aaa”時(shí)將會(huì)變成”aaa ”共10個(gè)字符存進(jìn)硬盤中。最長為8000字符。2、varchar(nvarchar存儲unicode格式的字符),可變數(shù)據(jù)類型。如果定義10個(gè)字符長度的字段時(shí),注意如輸入”aaa”時(shí)將會(huì)以3個(gè)字符共存進(jìn)硬盤中。最長為8000字符。3、text(ntext存儲unicode格式的字符),最大可存儲2G字符。4、image,用于存儲任何類型的二進(jìn)制數(shù)據(jù),包括圖像、視

9、頻、音樂。5、int數(shù)據(jù)類型用于存儲沒有小數(shù)點(diǎn)的數(shù)字值,從-2147483648至2147483647之間的數(shù)據(jù)。6、bigint數(shù)據(jù)類型與int數(shù)據(jù)類型相似,不同的是能存更大的數(shù)據(jù)-9223372036854775808至9223372036854775807。7、smallint數(shù)據(jù)類型與以上兩個(gè)數(shù)據(jù)差不多,只是存儲的數(shù)相對比較小-32768至32767。8、tinyint數(shù)據(jù)類型比smallint的數(shù)據(jù)類型更小,只能存儲0至255的數(shù)據(jù)。9、decimal/numeric數(shù)據(jù)類型用于存儲相同精度和范圍的數(shù)據(jù)-1038到1038-1的數(shù)據(jù)。10、float數(shù)據(jù)類型用于存儲小數(shù)點(diǎn)不固定的數(shù)值

10、,能存儲-1.79E+308至1.79E+308的數(shù)據(jù)。11、real數(shù)據(jù)類型跟float數(shù)據(jù)類型,存儲的數(shù)值范圍是 -3.40E+38至3.40E+38的數(shù)值。12、money數(shù)據(jù)類型存儲的范圍是至的數(shù)值。13、smallmoney與money相似,其存儲的數(shù)值范圍是 至。14、datetime日期類型用于存儲1753年1月1日至9999年12月31日的時(shí)間。15、smalldatetime與datetime相類似,其存儲范圍是從1900年1月1日至2079年6月6日.16、binary以二進(jìn)制數(shù)據(jù)存儲數(shù)據(jù)。主要存儲作為標(biāo)記或標(biāo)記組合的數(shù)據(jù)。17、varbinary,與binary相似,主要

11、存儲類似圖像的數(shù)據(jù)。在SSMS中創(chuàng)建表 在學(xué)生信息管理系統(tǒng)中建立學(xué)生表。學(xué)生學(xué)號姓名班別年齡出生年月政治面貌籍貫家庭住址表的列的設(shè)置Null值 null值表示沒有數(shù)據(jù)要輸入系統(tǒng),跟0和“”不一樣。默認(rèn)(default)值 設(shè)為默認(rèn)值的的某列,如果用戶輸入數(shù)據(jù)時(shí),不向其輸入數(shù)據(jù),則會(huì)以用戶設(shè)定的值輸入。Identity值 自動(dòng)編號,當(dāng)希望給行一個(gè)唯一而又容易確定的ID號,則可將之設(shè)置identity值。該值由系統(tǒng)自動(dòng)生成。例:將上述學(xué)生表的學(xué)號設(shè)置為identity值,為學(xué)生的年齡設(shè)置默認(rèn)值。通過查詢窗格定義表創(chuàng)建表的基本語法 create table 表名 (列名 數(shù)據(jù)類型數(shù)據(jù)長度 ident

12、ity(增長的初始值,增長的長度) null/not null)例:創(chuàng)建客戶表 Create table Customer (CustomerId bigint IDENTITY(1,1) NOT NULL, ClearedBalance money NOT NULL, CustomerTitleId int NOT NULL, CustomerFirstName nvarchar(50) not null, CustomerLastName nvarchar(50) not null, Address nvarchar(50) not null, ProductId bigint not n

13、ull, ProductDetail nvarchar(200) not null )T-SQL的INSERT命令的語法Insert語法:INSERT INTO 表名(列名1,列名2,列名3,列名n)Values (表達(dá)式1,表達(dá)式2,表達(dá)式3,表達(dá)式n)注意:(1)插入數(shù)據(jù)時(shí),表達(dá)式的個(gè)數(shù)與列名的個(gè)數(shù)要一致。 (2)表達(dá)式的類型與列名的類型要一致。 (3)如果省略列名時(shí),表達(dá)式的值順序必須要與創(chuàng)建表時(shí)的順序一致。 (4)如果某列的值可為空,可將之設(shè)置為null。 (5)在創(chuàng)建的外鍵的表中插入數(shù)據(jù)時(shí),一定要注意只有在主鍵表有你需要插入的值才能插入數(shù)據(jù)。(6)如果某列上設(shè)置了identity()

14、,則不需要插入數(shù)據(jù),忽略之即可。Select語句查詢SELECT ALL | DISTINCT TOP expression PERCENT WITH TIES * | table_name | view_name | table_alias .* | column_name | expression | $IDENTITY | $ROWGUID AS column_alias | column_alias = expression ,.n FROM table_name | view_name alias_nameWHERE filter_CriteriaORDER BY ordering_

15、criteria例1:從pubs數(shù)據(jù)庫查詢所有的作者的信息。Select * from authors例2:從pubs數(shù)據(jù)庫查詢前10個(gè)作者的信息。Select top 10 * from authors例3:從pubs數(shù)據(jù)庫中查詢前10%的作者的信息。Select top 10 percent* from authors例4:從pubs數(shù)據(jù)庫中查詢作者的姓名,電話,地址與郵編號.Select au_lname,au_fname,phone,address,zipFrom authors例5:從從pubs數(shù)據(jù)庫中查詢作者的所在的居住的州郡Select all state from author

16、s例6:查詢pubs數(shù)據(jù)庫中所有作者的姓名(作為一個(gè)字段返回),并將中文標(biāo)識列。 Select au_fname+”,”+au_lname as 姓名 from authors例7:查詢pubs數(shù)據(jù)庫中所有居住在Oakland的作者。Select * from authors where city=Oakland例8:查詢pubs數(shù)據(jù)庫中所有居住在Oakland的作者,并以他們的姓氏排列數(shù)據(jù)(順序,降序).Select * from authors where city=Oakland order by asc(desc)SQL運(yùn)算符算法運(yùn)算符: +、*、/、%比較運(yùn)算符:、=、=、=、!=,!、!位算法符:&、|、邏輯運(yùn)算符:And,Or,Not,Between,Like,In,All,Some,Any賦值運(yùn)算符:=其中Between常與and一起使用Like的通配符的使用%:代表0個(gè)或多個(gè)字符,可放置于字符串的末尾或開始處._

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論