SQLServer數(shù)據(jù)庫總結(jié)_第1頁
SQLServer數(shù)據(jù)庫總結(jié)_第2頁
SQLServer數(shù)據(jù)庫總結(jié)_第3頁
SQLServer數(shù)據(jù)庫總結(jié)_第4頁
SQLServer數(shù)據(jù)庫總結(jié)_第5頁
已閱讀5頁,還剩23頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、SQL基礎(chǔ)數(shù)據(jù)庫簡介:數(shù)據(jù)庫(Database)是按照數(shù)據(jù)結(jié)構(gòu)來組織、存儲(chǔ)和管理數(shù)據(jù)的倉庫,它產(chǎn)生于距今五十年前,隨著信息技術(shù)和市場的發(fā)展,特別是二十世紀(jì)九十年代以后,數(shù)據(jù)管理不再僅僅是存儲(chǔ)和管理數(shù)據(jù),而轉(zhuǎn)變成用戶所需要的各種數(shù)據(jù)管理的方式。數(shù)據(jù)庫有很多種類型,從最簡單的存儲(chǔ)有各種數(shù)據(jù)的表格到能夠進(jìn)行海量數(shù)據(jù)存儲(chǔ)的大型數(shù)據(jù)庫系統(tǒng)都在各個(gè)方面得到了廣泛的應(yīng)用。數(shù)據(jù)庫常見產(chǎn)品SQLServer數(shù)據(jù)庫美國Microsoft公司推出的一種關(guān)系型數(shù)據(jù)庫系統(tǒng)。SQLServer是一個(gè)可擴(kuò)展的、高性能的、為分布式客戶機(jī)/服務(wù)器計(jì)算所設(shè)計(jì)的數(shù)據(jù)庫管理系統(tǒng),實(shí)現(xiàn)了與WindowsNT的有機(jī)結(jié)合,提供了基于事務(wù)的

2、企業(yè)級信息管理系統(tǒng)方案。其主要特點(diǎn)如下:(1)高性能設(shè)計(jì),可充分利用WindowsNT的優(yōu)勢。(2)系統(tǒng)管理先進(jìn),支持Windows圖形化管理工具,支持本地和遠(yuǎn)程的系統(tǒng)管理和配置。(3)強(qiáng)壯的事務(wù)處理功能,采用各種方法保證數(shù)據(jù)的完整性。(4)支持對稱多處理器結(jié)構(gòu)、存儲(chǔ)過程、ODBC,并具有自主的SQL語言。SQLServer以其內(nèi)置的數(shù)據(jù)復(fù)制功能、強(qiáng)大的管理工具、與Internet的緊密集成和開放的系統(tǒng)結(jié)構(gòu)為廣大的用戶、開發(fā)人員和系統(tǒng)集成商提供了一個(gè)出眾的數(shù)據(jù)庫平臺(tái)。安裝SQLServer啟用SA用戶遠(yuǎn)程登錄設(shè)置密碼開啟SA用戶。點(diǎn)擊屬性,啟用遠(yuǎn)程連接。重啟服務(wù),使其生效。命令:service

3、s.mscTCP :1433 :0 LISTENING1433端口是開啟的。當(dāng)我們關(guān)閉服務(wù)后,端口也將關(guān)閉。數(shù)據(jù)庫語言數(shù)據(jù)查詢語言DQLDQL:(Data Query Language) SELECT 數(shù)據(jù)查詢語言數(shù)據(jù)操縱語言DML如insert,delete,update,select(插入、刪除、修改、檢索)數(shù)據(jù)定義語言DDL如drop,alter,truncate等都是DDL數(shù)據(jù)控制語言DCLDCL(Data Control Language)是數(shù)據(jù)庫控制語言。是用來設(shè)置或更改數(shù)據(jù)庫用戶或角色權(quán)限的語句,包括(grant,deny,revoke等)語句。在默認(rèn)

4、狀態(tài)下,只有sysadmin,dbcreator,db_owner或db_securityadmin等人員才有權(quán)力執(zhí)行DCL創(chuàng)建第一個(gè)數(shù)據(jù)庫新建數(shù)據(jù)庫限制增長:數(shù)據(jù)庫的文件后綴2cto.mdf日志文件后綴2cto_log.ldf分離數(shù)據(jù)庫:數(shù)據(jù)類型第一大類:整數(shù)數(shù)據(jù)bit:bit數(shù)據(jù)類型代表0,1或NULL,就是表示true,false.占用1:以4個(gè)字節(jié)來存儲(chǔ)正負(fù)數(shù).可存儲(chǔ)范圍為:-231至231-1.smallint:以2個(gè)字節(jié)來存儲(chǔ)正負(fù)數(shù).存儲(chǔ)范圍為:-215至215-1tinyint:是最小的整數(shù)類型,僅用1字節(jié),范圍:0至此8-1第二大類:精確數(shù)值數(shù)據(jù)numeric:

5、表示的數(shù)字可以達(dá)到38位,存儲(chǔ)數(shù)據(jù)時(shí)所用的字節(jié)數(shù)目會(huì)隨著使用權(quán)用位數(shù)的多少變化.decimal:和numeric差不多第三大類:近似浮點(diǎn)數(shù)值數(shù)據(jù)float:用8個(gè)字節(jié)來存儲(chǔ)數(shù)據(jù).最多可為53位.范圍為:-1.79E+308至1.79E+308.real:位數(shù)為24,用4個(gè)字節(jié),數(shù)字范圍:-3.04E+38至3.04E+38第四大類:日期時(shí)間數(shù)據(jù)datatime:表示時(shí)間范圍可以表示從1753/1/1至9999/12/31,時(shí)間可以表示到3.33/1000秒.使用8個(gè)字節(jié).smalldatetime:表示時(shí)間范圍可以表示從1900/1/1至2079/12/31.使用4個(gè)字節(jié).第五大類:字符串?dāng)?shù)據(jù)

6、char:長度是設(shè)定的,最短為1字節(jié),最長為8000個(gè)字節(jié).不足的長度會(huì)用空白補(bǔ)上.varchar:長度也是設(shè)定的,最短為1字節(jié),最長為8000個(gè)字節(jié),尾部的空白會(huì)去掉.text:長寬也是設(shè)定的,最長可以存放2G的數(shù)據(jù).第六大類:Unincode字符串?dāng)?shù)據(jù)nchar:長度是設(shè)定的,最短為1字節(jié),最長為4000個(gè)字節(jié).不足的長度會(huì)用空白補(bǔ)上.儲(chǔ)存一個(gè)字符需要2個(gè)字節(jié).nvarchar:長度是設(shè)定的,最短為1字節(jié),最長為4000個(gè)字節(jié).尾部的空白會(huì)去掉.儲(chǔ)存一個(gè)字符需要2個(gè)字節(jié).ntext:長度是設(shè)定的,最短為1字節(jié),最長為2G.尾部的空白會(huì)去掉,儲(chǔ)存一個(gè)字符需要2個(gè)字節(jié).第七大類:貨幣數(shù)據(jù)類型m

7、oney:記錄金額范圍為:-92233720368577.5808至92233720368577.5807.需要8個(gè)字節(jié).smallmoney:記錄金額范圍為:-214748.3648至214748.36487.需要4個(gè)字節(jié).第八大類:標(biāo)記數(shù)據(jù)timestamp:該數(shù)據(jù)類型在每一個(gè)表中是唯一的!當(dāng)表中的一個(gè)記錄更改時(shí),該記錄的timestamp字段會(huì)自動(dòng)更新.uniqueidentifier:用于識別數(shù)據(jù)庫里面許多個(gè)表的唯一一個(gè)記錄.第九大類:二進(jìn)制碼字符串?dāng)?shù)據(jù)binary:固定長度的二進(jìn)制碼字符串字段,最短為1,最長為8000.varbinary:與binary差異為數(shù)據(jù)尾部是00時(shí),var

8、binary會(huì)將其去掉image:為可變長度的二進(jìn)制碼字符串,最長2G.設(shè)置自動(dòng)增長列數(shù)據(jù)庫完整性主鍵SQL注釋第一種:單行-select * from Student第二種:多行/*/基礎(chǔ)查詢查詢所有:Select * from表名select*fromStudent新建查詢選擇數(shù)據(jù)庫編寫SQL語句。查詢指定列selectname,sex,agefromStudent條件查詢:where子句SELECT列名FROM表名where條件查詢性別為男的所有記錄selectname,sex,agefromStudentwheresex=男查詢年齡大于25歲的所有記錄。select*fromStude

9、ntwhereage25查詢所有人數(shù)的數(shù)量(count聚合函數(shù))selectcount(*)fromStudent范圍查詢:select*fromStudentwhereidbetween10and15查詢所有不等于22歲的記錄select*fromStudentwhereage22模糊查詢1、百分號代表所有,但是不包括空select*fromStudentwhereaddresslike%;2、匹配中間select*fromStudentwherephonelike%22%;3、匹配開頭select*fromStudentwherephonelike133%;4、匹配結(jié)尾select*fro

10、mStudentwherephonelike%5;5、匹配開頭與結(jié)尾select*fromStudentwherephonelike1%3;6、匹配單個(gè)字符select*fromStudentwherephonelike_33%;7、匹配多個(gè)字符select*fromStudentwherephonelike_A-Za-z-0-96%;8、不匹配select*fromStudentwherephonelike_!36%;查詢NULL值1. 查詢NULL值select*fromStudentwherephoneisnull2. 查詢非NULL值select*fromStudentwherepho

11、neisnotnull邏輯查詢ANDselect*fromStudentwherename=張三andsex=男/* AND兩邊都要為真,才會(huì)為真如果有一遍為假,那么兩邊為假。*/ORselect*fromStudentwherename=張三orsex=女/* OR兩邊如果一邊為真,一遍為假,那么就為真,如果兩邊都是假的話,那么就為假。如果兩邊都真,還是為真*/IN查詢OR進(jìn)行查詢select*fromStudentwhereid=3orid=4orid=5In查詢select*fromStudentwhereidin(1,2,3)NOT INselect*fromStudentwherei

12、dnotin(1,2,3)TOP子句查詢前兩行SELECTTOP2*FROMSTUDENTORDER BY語句排序語句1. ASC(正序)select*fromStudentorderbyidascselect*fromStudentorderbyage,id2. DESC(倒序)select*fromStudentorderbyiddescselect*fromStudentorderbyage,id desc 3.按列排序(能知道表有多少列)select*fromStudentorderby1,2,3,4,5,6,7DISTINCT去重復(fù)數(shù)據(jù)selectDISTINCTagefromStu

13、dentorderby1數(shù)據(jù)庫關(guān)系圖在數(shù)據(jù)庫之中,選擇數(shù)據(jù)庫關(guān)系圖,右鍵,新建數(shù)據(jù)庫關(guān)系圖。然后進(jìn)行選擇表。插入語句(INSERT)第一種:完整寫法insertintoStudent(name,sex,age,greadName,phone,address)values(張三,女,20,一年級,132323232,青島);第二中:簡單寫法刪除語句(DELETE)deletefromStudentwhereid=5修改語句(UPDATE)-把銀劍的年齡,修改為歲updateStudentsetage=20wherename=銀劍select*fromStudentwherename=銀劍upda

14、teStudentsetid=200wherename=銀劍-錯(cuò)誤的selectCOUNT(*)fromStudentwhereStudent.phonelike%2updateStudentsetage=200wheresex=男andStudent.phonelike%2主外鍵兩表聯(lián)查數(shù)據(jù)庫備份1、完全備份這是大多數(shù)人常用的方式,它可以備份整個(gè)數(shù)據(jù)庫,包含用戶表、系統(tǒng)表、索引、視圖和存儲(chǔ)過程等所有數(shù)據(jù)庫對象。但它需要花費(fèi)更多的時(shí)間和空間,所以,一般推薦一周做一次完全備份。2、事務(wù)日志備份事務(wù)日志是一個(gè)單獨(dú)的文件,它記錄數(shù)據(jù)庫的改變,備份的時(shí)候只需要復(fù)制自上次備份以來對數(shù)據(jù)庫所做的改變,所以

15、只需要很少的時(shí)間。為了使數(shù)據(jù)庫具有魯棒性,推薦每小時(shí)甚至更頻繁的備份事務(wù)日志。3、差異備份也叫增量備份。它是只備份數(shù)據(jù)庫一部分的另一種方法,它不使用事務(wù)日志,相反,它使用整個(gè)數(shù)據(jù)庫的一種新映象。它比最初的完全備份小,因?yàn)樗话陨洗瓮耆珎浞菀詠硭淖兊臄?shù)據(jù)庫。它的優(yōu)點(diǎn)是存儲(chǔ)和恢復(fù)速度快。推薦每天做一次差異備份。4、文件備份數(shù)據(jù)庫可以由硬盤上的許多文件構(gòu)成。如果這個(gè)數(shù)據(jù)庫非常大,并且一個(gè)晚上也不能將它備份完,那么可以使用文件備份每晚備份數(shù)據(jù)庫的一部分。由于一般情況下數(shù)據(jù)庫不會(huì)大到必須使用多個(gè)文件存儲(chǔ),所以這種備份不是很常用。按照數(shù)據(jù)庫的狀態(tài)可分為三種:1.冷備份,此時(shí)數(shù)據(jù)庫處于關(guān)閉狀態(tài),能夠較

16、好的保證數(shù)據(jù)庫的完整性。2.熱備份,數(shù)據(jù)庫正處于運(yùn)行狀態(tài),這種方法依賴于數(shù)據(jù)庫的日志文件進(jìn)行備份。3.邏輯備份,使用軟件從數(shù)據(jù)庫中提取數(shù)據(jù)并將結(jié)果寫到一個(gè)文件上。約束完整性1、實(shí)體完整性2、域完整性3、引用完整性4、自定義完整性子查詢子查詢是一個(gè)嵌套在SELECT、INSERT、UPDATE或DELETE語句或其他子查詢中的查詢。任何允許使用表達(dá)式的地方都可以使用子查詢。selectStudent.idas學(xué)號,nameas姓名,ageas年齡, addressas地址,phoneas聯(lián)系方式, (selectgradeNamefromGradewhereGrade.id=Student.gr

17、adeId)fromStudent在用“=”時(shí),在子查詢中返回值必須是唯一的。否則,要用IN。連接查詢-左連接查詢select Student.id as 學(xué)號 , name as 姓名 , age as 年齡 , gradeId as 班級 , address as 地址 , phone as 聯(lián)系方式, Grade.gradeName as 年級fromGradeleft joinStudentonStudent.gradeId = Grade.id-右連接查詢select Student.id as 學(xué)號 , name as 姓名 , age as 年齡 , gradeId as 班級

18、, address as 地址 , phone as 聯(lián)系方式, Grade.gradeName as 年級fromStudentRIGHT joinGradeonStudent.gradeId = Grade.id-FULL連接查詢select Student.id as 學(xué)號 , name as 姓名 , age as 年齡 , gradeId as 班級 , address as 地址 , phone as 聯(lián)系方式, Grade.gradeName as 年級fromStudentFULL JOINGradeonStudent.gradeId = Grade.id-內(nèi)連接查詢select Student.id as 學(xué)號 , name as 姓名 , age as 年齡 , gradeId as 班級 , address as 地址 , phone as 聯(lián)系方式, Grade.

溫馨提示

  • 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)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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

提交評論