SQLSERVER重要知識(shí)點(diǎn)歸納_第1頁
SQLSERVER重要知識(shí)點(diǎn)歸納_第2頁
SQLSERVER重要知識(shí)點(diǎn)歸納_第3頁
SQLSERVER重要知識(shí)點(diǎn)歸納_第4頁
SQLSERVER重要知識(shí)點(diǎn)歸納_第5頁
已閱讀5頁,還剩4頁未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡介

1,數(shù)據(jù)模型:由數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)操作和數(shù)據(jù)的完整性約束組成。2,在E-R概念模型中,信息由實(shí)體型、實(shí)體屬性和實(shí)體間聯(lián)系3種概念單元來表示。3,第一范式(1NF):設(shè)R是一個(gè)關(guān)系模式,如果R中的每個(gè)屬性都是不可分解的,則稱R是第一范式;第二范式(2NF):如果關(guān)系模式R是第一范式,且每個(gè)非碼屬性都完全依賴于碼屬性,則稱R是第二范式;第三范式(3NF):如果關(guān)系模式是R第二范式,且沒有一個(gè)非碼屬性傳遞依賴于碼,則稱R是第三范式。4,Transact-SQL語句的分類如下所示:eq\o\ac(○,1)變量聲明Transact-SQL語言可以使用兩類變量,局部變量和全局變量。eq\o\ac(○,2)數(shù)據(jù)定義語言(DataDefinitionLanguage,DDL),用來建立數(shù)據(jù)庫及數(shù)據(jù)庫對(duì)象,絕大部分以Create開頭,如CreateTable等eq\o\ac(○,3)數(shù)據(jù)控制語言(DataControlLanguage,DCL),用來控制數(shù)據(jù)庫組件的存取訪問、權(quán)限等命令,如GRANT、REVOKE等eq\o\ac(○,4)數(shù)據(jù)操縱語言(DataManipulationLanguage,DML),用來操縱數(shù)據(jù)庫中數(shù)據(jù)的命令,如SELECT、UPDATE等eq\o\ac(○,5)流程控制語言(FlowControlLanguage,FCL),用于控制應(yīng)用程序流程的語句,如IF、CASE等。5,數(shù)據(jù)類型:整數(shù)型:bigint(8個(gè)字節(jié),-263~263-1),int(4個(gè)字節(jié),-231~231-1),smallint(2個(gè)字節(jié),-215~215-1),tingyint(1個(gè)字節(jié),0~255);小數(shù)數(shù)據(jù)類型:decimal[(p[,s])]p精度:指定小數(shù)點(diǎn)左邊和右邊可以存儲(chǔ)的十進(jìn)制數(shù)字的最大個(gè)數(shù)。1~38s小數(shù)位數(shù):0~p之間的值;numeric[(p[,s])]近似數(shù)值型:float[(n)] n:1~53 取值范圍:-1.79308~1.79308real 取值范圍:-3.4038~3.4038字符型(字符常量必須包含在單引號(hào)或雙引號(hào)中):char[(n)]:長度為n個(gè)字節(jié)的固定長度且非Unicode的字符數(shù)據(jù),存儲(chǔ)大小為n個(gè)字節(jié)。n必須是一個(gè)介于1和8000之間的數(shù)值。varchar[(n)]:長度為n個(gè)字節(jié)的可變長度且非Unicode的字符數(shù)據(jù)。n必須是一個(gè)介于1和8000之間的數(shù)值。存儲(chǔ)大小為輸入數(shù)據(jù)的字節(jié)的實(shí)際長度,而不是n個(gè)字節(jié),所輸入的數(shù)據(jù)字符長度可以為0text:用來聲明變長的字符數(shù)據(jù)。在定義的過程中,不需要指定字符的長度,最大長度為231-1(2147483647)個(gè)字符。當(dāng)服務(wù)器代碼頁使用雙字節(jié)字符時(shí),存儲(chǔ)量仍是2147483647字節(jié)。存儲(chǔ)大小可能小于2147483647字節(jié)(取決于字符串)邏輯數(shù)值型:bit:可以存儲(chǔ)整數(shù)型數(shù)據(jù)1、0或NULL。如果輸入0以外的其他值,SQLServer均將其作為1看待。貨幣型:money:可存儲(chǔ)的貨幣數(shù)值介于-263~263-1之間,精確到貨幣單位的萬分之一,貨幣數(shù)據(jù)的存儲(chǔ)精確度為4位小數(shù),存儲(chǔ)大小為8個(gè)字節(jié);smallmoney:可存儲(chǔ)的貨幣數(shù)據(jù)值介于-214748.3648~214748.3647,貨幣數(shù)據(jù)的存儲(chǔ)精確度為4位小數(shù),精確到貨幣單位的萬分之一,存儲(chǔ)大小為4個(gè)字節(jié)。Unicode字符型:nvarchar:當(dāng)列中各項(xiàng)所包含的Unicode字符數(shù)不同時(shí)(至多為4000)時(shí)使用;nchar:當(dāng)列中各項(xiàng)為一固定長度時(shí)(至多為4000個(gè)Unicode字符)時(shí)使用;ntext:最大長度為230-1.當(dāng)列中任意項(xiàng)超過4000個(gè)Unicode字符時(shí)使用。它們分別與字符型的varchar[(n)]、char[(n)]和text類型相對(duì)應(yīng)。使用Unicode字符時(shí),應(yīng)該在前面加一個(gè)標(biāo)識(shí)符N,但是存儲(chǔ)時(shí)并不存儲(chǔ)該標(biāo)識(shí)符。日期時(shí)間類型:datetime:從1753年1月1日到9999年12月31日的日期和時(shí)間數(shù)據(jù),精確度為千分之三(3ms或0.003s)smalldatetime:從1900年1月1日到2079年6月6日的日期和時(shí)間數(shù)據(jù),精確到分鐘。29.998或更低的smalldatetime值向下舍入為最接近的分鐘,29.999s或更高的smalldatetime值向上舍入為最接近的分鐘。例如:’4-16-200603:48:39.257’,’04/16/200613:30:20PM’SQLServer可以識(shí)別的日期格式有字母格式、數(shù)字格式和無分隔字符串格式3種。字符格式允許使用以當(dāng)前語句給出的月全名(如April)或月的縮寫(如Apr)來指定日期數(shù)據(jù)。字符格式的日期需要放在單括號(hào)內(nèi)。可用的字符型日期格式分別為:Apr[il][15][,]2006Apr[il][15][,][20]06Apr[il]2006[15][15]Apr[il][,]200615Apr[il][,][20]0615[20]06Apr[il]2006APR[IL][15]2006[15]APR[IL]SQLServer可以識(shí)別以下數(shù)據(jù)格式。用單引號(hào)(’’)把每一種括起來。下面都是有效的時(shí)間格式:14:3014:30[:20:999]14:30[:20.9]4AM4PM[0]4[:30:20:500]AM二進(jìn)制數(shù)據(jù)類型:二進(jìn)制數(shù)據(jù)由十六進(jìn)制數(shù)表示。例如,十進(jìn)制245等于十六進(jìn)制數(shù)F5.在SQLServer2000中,二進(jìn)制數(shù)據(jù)使用binary、varbinary和image數(shù)據(jù)類型存儲(chǔ)。binary:在每行中都是固定的長度(最多為8KB)varbinary:在每行中所包含的十六進(jìn)制數(shù)字的個(gè)數(shù)可以不同(最多為8kb)image:可以用來存儲(chǔ)超過8KB的可變長度的二進(jìn)制數(shù)據(jù),如word文檔、excel電子表格、位圖圖像、圖形交換格式(GIF)文件和聯(lián)合圖像專家組(JPEG)文件。其他數(shù)據(jù)類型:eq\o\ac(○,1)cursor游標(biāo)數(shù)據(jù)類型,用于創(chuàng)建游標(biāo)變量或者定義存儲(chǔ)過程的輸出參數(shù)。它是唯一的一種不能賦值給表的列(字段)的基本數(shù)據(jù)類型。eq\o\ac(○,2)Sql_variant數(shù)據(jù)類型,可以存儲(chǔ)除了text、ntext、timestamp和自己本身以外的其他所有類型的變量eq\o\ac(○,3)table數(shù)據(jù)類型,能夠保存函數(shù)結(jié)果,并將其作為局部變量數(shù)據(jù)類型,可以暫時(shí)存儲(chǔ)應(yīng)用程序的結(jié)果,以便在以后用到。eq\o\ac(○,4)uniqueidentifier數(shù)據(jù)類型,全局唯一標(biāo)示符,是一個(gè)16字節(jié)長的二進(jìn)制數(shù)據(jù)類型,是SQLServer根據(jù)計(jì)算機(jī)網(wǎng)絡(luò)適配器和主機(jī)CPU時(shí)鐘產(chǎn)生的唯一號(hào)碼而生成的全局唯一標(biāo)示符。唯一標(biāo)示符代碼可以通過調(diào)用NEWID函數(shù)或者其他SQLServer應(yīng)用程序編程接口來獲得。eq\o\ac(○,5)timestamp時(shí)間戳數(shù)據(jù)類型,可以反映數(shù)據(jù)庫中數(shù)據(jù)修改的相對(duì)順序。6,在查詢分析器中輸入如下命令并執(zhí)行即可創(chuàng)建用戶定義數(shù)據(jù)類型:Sp_addtype@typename=address,@phystype=’char(30)’,@nulltype=’notnull’7,定義變量:DECLARE@variable_namedatatype[,…]變量不能是text、ntext或image數(shù)據(jù)類型。變量最大長度為30個(gè)字符賦值:通常用SET和SELECT語句為變量賦值,其語法格式為:SET@variable_name=expressionSELECT@variable_name=expression在局部變量沒有被賦值之前,其值是NULL,如果要在程序體重引用,特別是在循環(huán)結(jié)構(gòu)中,必須先為其賦值。全局變量通常用來跟蹤服務(wù)器范圍和特定會(huì)話期間的信息,不能明顯地被賦值或聲明。全局變量不能由用戶定義,也不能由應(yīng)用程序在處理器之間交叉?zhèn)鬟f信息。8,SQLServer2000中較常用的全局變量變量說明@@connectionsSQLServer自啟動(dòng)以來建立的連接數(shù)@@cpu_busySQLServer自啟動(dòng)以來系統(tǒng)處理的毫秒數(shù)@@cursor_rows打開游標(biāo)時(shí)滿足條件的行數(shù)@@datefirst值為1~7,指定每周的星期幾為第一天@@dbts最后一次的timestamp值@@error前一條SQL語句報(bào)告的錯(cuò)誤@@fetch-status游標(biāo)中上條FETCH語句的狀態(tài)@@identity上次INSERT操作中使用的IDENTITY值@@idle上次啟動(dòng)SQLServer以來閑置的毫秒數(shù)@@io_busy上次啟動(dòng)SQLServer以來用于輸入輸出操作的毫秒數(shù)@@langid當(dāng)前所用語言的ID號(hào)@@language當(dāng)前所用語言的名稱@@LOCK_TIMEOUT返回用SET語句設(shè)置的鎖定超時(shí)的值,以毫秒為單位@@max_connections返回服務(wù)器允許的最大并發(fā)連接數(shù)@@max_precision返回decimal及numeric型數(shù)據(jù)的最大精度@@nestlevel當(dāng)前執(zhí)行的存儲(chǔ)過程的嵌套層數(shù)@@options返回當(dāng)前的SET選項(xiàng)的設(shè)置信息@@pack_received上次啟動(dòng)SQLServer以來從網(wǎng)絡(luò)上接收的輸入包數(shù)@@pack_sent上次啟動(dòng)SQLServer以來從網(wǎng)絡(luò)上發(fā)送的輸出包數(shù)@@packet_errors上次啟動(dòng)SQLServer以來從網(wǎng)絡(luò)上發(fā)生的錯(cuò)誤包的數(shù)目@@procid返回當(dāng)前執(zhí)行的存儲(chǔ)過程的ID號(hào)@@remserver返回遠(yuǎn)程SQLServer數(shù)據(jù)庫服務(wù)器的名稱@@rowcount前一條命令處理的行數(shù)@@servername本地SQLServer的名稱@@servicename正在運(yùn)行的SQLServer的注冊(cè)名@@textsize用SET語句設(shè)置的當(dāng)前TEXTSIZE值,以字節(jié)為單位@@total_errors上次啟動(dòng)SQLServer以來的磁盤讀寫錯(cuò)誤數(shù)@@trancount事務(wù)嵌套的級(jí)別@@transtate事務(wù)的當(dāng)前狀態(tài)@@tranchained當(dāng)前事務(wù)的模式@@total_read上次啟動(dòng)SQLServer以來發(fā)生的讀磁盤數(shù)@@versionSQLServer和OS版本級(jí)別@@spid當(dāng)前進(jìn)程ID9,SQLServer提供的比較運(yùn)算符:多出!<(不小于)和!>(不大于)兩種

10,邏輯運(yùn)算符邏輯運(yùn)算符含義ALL當(dāng)一組比較關(guān)系的值都為TRUE時(shí),才返回TRUEAND當(dāng)要比較的兩個(gè)布爾表達(dá)式的值都為TRUE,才返回TRUEANY只要一組比較關(guān)系中有一個(gè)值為TRUE,就返回TRUEBETWEEN只有操作數(shù)在定義的范圍內(nèi),才返回TRUEEXISTS如果在子查詢中存在,就返回TRUEIN如果操作數(shù)在所給的列表表達(dá)式中,則返回TRUELINK如果操作數(shù)與模式相匹配,則返回TRUENOT對(duì)所有其他的布爾運(yùn)算取反OR只要比較的兩個(gè)表達(dá)式有一個(gè)為TRUE,就返回TRUESOME如果一組比較關(guān)系中有一些為TRUE,則返回TRUE11,通配符及其含義:通配符含義%代表0個(gè)或多個(gè)任意字符_(下劃線)代表任意1個(gè)字符[a-f]指定范圍([a~f])或集合([abcdef])中的任何單個(gè)字符[acf]代表字符a、c或f[^a-f]不屬于指定范圍([a~f])或集合([abcdef])的任何單個(gè)字符[^aef]除了a、e或f之外的任意一個(gè)字符12,字符串連接運(yùn)算符為加號(hào)(+),可以將兩個(gè)或多個(gè)字符串合并或連接成一個(gè)字符串。還可以連接二進(jìn)制字符串。13,運(yùn)算符優(yōu)先級(jí)eq\o\ac(○,1)+(正)、-(負(fù))、~(按位NOT)eq\o\ac(○,2)*(乘)、/(除)、%(模)eq\o\ac(○,3)+(加)、+(連接)、-(減)eq\o\ac(○,4)=、>、<、>=、<=、<>、!=、!>和!<比較運(yùn)算符eq\o\ac(○,5)^(位異或)、&(位與)、|(位或)eq\o\ac(○,6)NOTeq\o\ac(○,7)ANDeq\o\ac(○,8)ALL、ANY、BETWEEN、IN、LIKE、OR、SOMEeq\o\ac(○,9)=(賦值)14,常用數(shù)學(xué)函數(shù)函數(shù)名稱函數(shù)功能簡述ABS求絕對(duì)值A(chǔ)COS反余弦函數(shù)ASIN反正弦函數(shù)ATAN反正切函數(shù)ATN2增強(qiáng)的反正切函數(shù)CEILING求僅此于最大值的值COS余弦函數(shù)COT余切函數(shù)DEGREE角度轉(zhuǎn)弧度EXP計(jì)算e的x次冪FLOOR求僅次于最小值的值LOG求自然對(duì)數(shù)LOG10增強(qiáng)的自然對(duì)數(shù)PI常量,圓周率POWER求x的y次方RADIANS角度轉(zhuǎn)弧度RAND求隨機(jī)數(shù)ROUND指定小數(shù)的位數(shù)SIN正弦函數(shù)SQUARE開方SQRT求平方根TAN正切函數(shù)15,日期/時(shí)間函數(shù)1、GETDATE()函數(shù):用于返回SQLServer系統(tǒng)中的當(dāng)前日期時(shí)間。2、DATEADD()函數(shù):用于進(jìn)行兩個(gè)時(shí)間數(shù)據(jù)的相加,返回新的日期/時(shí)間3、DATEDIFF()函數(shù):用于返回兩個(gè)指定時(shí)間之間的間隔4,DATENAME()函數(shù):用于返回一個(gè)指定的時(shí)間名字。例如:當(dāng)前的年、月或者日的名稱。5、DATEPART()函數(shù):和DATENAME()函數(shù)極其相似,只不過該函數(shù)返回的是具體的時(shí)間數(shù)值而不是時(shí)間的名稱16,聚合函數(shù)聚合函數(shù)在結(jié)果集中通過對(duì)被選列值的收集處理并返回一個(gè)數(shù)值型的計(jì)算結(jié)果。(1)AVG()函數(shù)該函數(shù)用于計(jì)算大量數(shù)據(jù)的平均值。(2)COUNT()函數(shù)在進(jìn)行數(shù)據(jù)查詢時(shí),該函數(shù)可以返回參數(shù)中非NULL值的數(shù)目。(3)SUM()函數(shù)該函數(shù)用于計(jì)算指定數(shù)據(jù)項(xiàng)的總和(4)MAX()和MIN()函數(shù)MAX()和MIN()函數(shù)用于計(jì)算多個(gè)數(shù)據(jù)項(xiàng)當(dāng)中的極值(最大值和最小值)。17,常用字符串函數(shù):函數(shù)名稱函數(shù)功能簡述ASCII返回字符表達(dá)式最左端字符的ASCII代碼值CHAR將ASCII代碼轉(zhuǎn)換為字符的字符串函數(shù),ASCII碼應(yīng)是介于0~255的整數(shù),否則將返回NULL值CHARINDEX返回字符串中指定表達(dá)式的起始位置DIFFRENCE以整數(shù)返回兩個(gè)字符表達(dá)式的SOUNDEX值之差,返回的整數(shù)是SOUNDEX值中相同字符的個(gè)數(shù),返回的值從0~4不等,4表示SOUNDEX值相同LEFT返回從字符串左邊開始指定個(gè)數(shù)的字符LEN返回給定字符串表達(dá)式的字符個(gè)數(shù),其中不包含尾隨空格LOWER將大寫字符數(shù)據(jù)轉(zhuǎn)換為小寫字符數(shù)據(jù)后返回字符表達(dá)式LTRIM刪除起始空格后返回字符表達(dá)式NCHAR返回Unicode標(biāo)準(zhǔn)所進(jìn)行的定義,用給定整數(shù)代碼返回Unicode字符PATINDEX返回指定表達(dá)式中某模式第一次出現(xiàn)的起始位置;如果在全部有效的文本和字符數(shù)據(jù)類型中沒有找到該模式,則返回0QUOTENAME返回帶有分隔符的Unicode串,分隔符的加入可使輸入的字符串稱為有效的SQLServer分隔標(biāo)識(shí)符REPLACE用第三個(gè)表達(dá)式替換第一個(gè)字符串表達(dá)式中出現(xiàn)的所有第二個(gè)給定字符串表達(dá)式REPLICATE以指定的次數(shù)重復(fù)字符表達(dá)式REVERSE返回字符表達(dá)式的反轉(zhuǎn)RIGHT返回從字符串右邊開始指定個(gè)數(shù)的字符SOUNDEX返回由4個(gè)字符組成的代碼(SOUNDEX),以評(píng)估兩個(gè)字符串的相似性SPACE返回由重復(fù)的空格組成的字符串STR返回由數(shù)字?jǐn)?shù)據(jù)轉(zhuǎn)換來的字符數(shù)據(jù)STUFF刪除指定長度的字符并在指定的起始點(diǎn)插入另一組字符SUBSTRING求子串函數(shù)UNICODE按照Unicode標(biāo)準(zhǔn)的定義,返回輸入表達(dá)式的第一個(gè)字符的整數(shù)值UPPER返回將小寫字符數(shù)據(jù)轉(zhuǎn)換為大寫的字符表達(dá)式18,控制流語句:1.BEGIN…END語句:用于將多個(gè)T-SQL語句組合為一個(gè)程序塊。2.IF…ELSE語句:有條件地執(zhí)行語句3.CASE語句:可以進(jìn)行多個(gè)分支的選擇語法格式:CASE<測試表達(dá)式>WHEN<表達(dá)式>THEN<結(jié)果表達(dá)式1>[…n][ELSE<結(jié)果表達(dá)式n>]END搜索CASE格式:CASEWHEN<布爾表達(dá)式>THEN<結(jié)果表達(dá)式>[…n][ELSE<結(jié)果表達(dá)式>]END4.WHILE語句:通過布爾表達(dá)式來設(shè)置一個(gè)條件,當(dāng)這個(gè)條件成立時(shí),重復(fù)執(zhí)行一個(gè)語句或語句塊,重復(fù)執(zhí)行的部分稱為循環(huán)體。可以使用Break和Continue關(guān)鍵字在循環(huán)內(nèi)部控制WHILE循環(huán)中語句的執(zhí)行5.GOTO語句:遇到GOTO語句后,直接跳轉(zhuǎn)到lable標(biāo)號(hào)處繼續(xù)執(zhí)行,而GOTO后面的語句將不被執(zhí)行。6.RETURN:可以從查詢或過程中無條件退出??稍谌魏螘r(shí)候用于從過程、批處理或語句塊中退出,而不是執(zhí)行位于RETURN之后的語句。如果沒有指定返回值SQLServer系統(tǒng)會(huì)根據(jù)程序執(zhí)行的結(jié)果返回一個(gè)內(nèi)定值,RETURN命令返回的內(nèi)定值返回值含義0 程序執(zhí)行成功-1 找不到對(duì)象-2 數(shù)據(jù)類型錯(cuò)誤-3 死鎖-4 違反權(quán)限原則-5 語法錯(cuò)誤-6 用戶造成的一般錯(cuò)誤-7 資源錯(cuò)誤如磁盤空間不足

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論