MySQL數(shù)據(jù)庫(kù)學(xué)習(xí)筆記說(shuō)課講解_第1頁(yè)
MySQL數(shù)據(jù)庫(kù)學(xué)習(xí)筆記說(shuō)課講解_第2頁(yè)
MySQL數(shù)據(jù)庫(kù)學(xué)習(xí)筆記說(shuō)課講解_第3頁(yè)
MySQL數(shù)據(jù)庫(kù)學(xué)習(xí)筆記說(shuō)課講解_第4頁(yè)
MySQL數(shù)據(jù)庫(kù)學(xué)習(xí)筆記說(shuō)課講解_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Good is good, but better carries it.精益求精,善益求善。MySQL數(shù)據(jù)庫(kù)學(xué)習(xí)筆記-HYPERLINKjavascript:;t_selfMySQLHYPERLINKjavascript:;t_self數(shù)據(jù)庫(kù)學(xué)習(xí)筆記關(guān)系數(shù)據(jù)庫(kù)的查詢(xún)語(yǔ)言SQL(StructuredQueryLanguage),是一種非??谡Z(yǔ)化、既易學(xué)又易懂的語(yǔ)法。此一語(yǔ)言幾乎是每個(gè)資料庫(kù)系統(tǒng)都必須提供的,用以表示關(guān)連式的操作,包含了資料的定義(DDL)以及資料的處理(DML)。SQL原來(lái)拼成SEQUEL,這語(yǔ)言的原型以“系統(tǒng)R“的名字在IBM圣荷西實(shí)驗(yàn)室完成,經(jīng)過(guò)IBM內(nèi)部及其他的許多使用性及

2、效率測(cè)試,其結(jié)果相當(dāng)令人滿(mǎn)意,并決定在系統(tǒng)R的技術(shù)基礎(chǔ)發(fā)展出來(lái)IBM的產(chǎn)品。而且美國(guó)國(guó)家標(biāo)準(zhǔn)學(xué)會(huì)(ANSI)及國(guó)際標(biāo)準(zhǔn)化組織(ISO)在1987遵循一個(gè)幾乎是以IBMSQL為基礎(chǔ)的標(biāo)準(zhǔn)關(guān)連式資料語(yǔ)言定義。第一章、了解概念,并理解它一、資料定義DDL(DataDefinitionLanguage)資料定語(yǔ)言是指對(duì)資料的格式和形態(tài)下定義的語(yǔ)言,他是每個(gè)資料庫(kù)要建立時(shí)候時(shí)首先要面對(duì)的,舉凡資料分哪些表格關(guān)系、表格內(nèi)的有什麼欄位主鍵、表格和表格之間互相參考的關(guān)系等等,都是在開(kāi)始的時(shí)候所必須規(guī)劃好的。數(shù)據(jù)庫(kù)第二章MySQL數(shù)據(jù)庫(kù)數(shù)據(jù)類(lèi)型第一節(jié)、數(shù)據(jù)類(lèi)型MySQL數(shù)據(jù)庫(kù)目前支持以下幾種下列HYPERLIN

3、Kjavascript:;t_self代碼字母用于描述中:M指出最大的顯示尺寸。最大的顯示尺寸長(zhǎng)度為255。D適用于浮點(diǎn)類(lèi)型。指出跟隨在十進(jìn)制小數(shù)點(diǎn)后的數(shù)字?jǐn)?shù)量。最大可能值為30,但不應(yīng)大于M-2。方括號(hào)(and)指定可選的類(lèi)型修飾部份。1、數(shù)值型(包括整數(shù)與浮點(diǎn)數(shù),浮點(diǎn)型支持科學(xué)表示法)浮點(diǎn)類(lèi)型:numericnju:merikdecimal(5,2),數(shù)字位:5,小數(shù)位:2numeric等價(jià)于decimal并且是作為字符串存儲(chǔ)的.而不是作為二進(jìn)制浮點(diǎn)數(shù).說(shuō)明:salaryDECIMAL(3,2)在這個(gè)例子中,3(精度(precision)代表重要的十進(jìn)制數(shù)字的數(shù)目,2(數(shù)據(jù)范圍(scale

4、)代表在小數(shù)點(diǎn)后的數(shù)字位數(shù)。在這種情況下,因此,salary列可以存儲(chǔ)的值范圍是從-99.99到99.99。(實(shí)際上MySQL在這個(gè)列中可以存儲(chǔ)的數(shù)值可以一直到999.99,因?yàn)樗鼪](méi)有存儲(chǔ)正數(shù)的符號(hào))。整型:integer類(lèi)型占用字節(jié)從到TINYINT1-128127SMALLINT2-3276832767MEDIUMINT3-83886088388607INT4-21474836482147483647BIGINT8-922337203685477580892233720368547758072、字符串(字符)類(lèi)型3、日期和時(shí)間類(lèi)型4、Null類(lèi)型不同于例如數(shù)字類(lèi)型的0或字符串的5、布爾類(lèi)型

5、TUREFALSE標(biāo)識(shí)符約定標(biāo)識(shí)符最大長(zhǎng)度允許的字符數(shù)據(jù)庫(kù)64一個(gè)目錄名中允許的任何字符,除了/,和.表64一個(gè)目錄名中允許的任何字符,除了/和.列64所有的字符索引64所有的字符加名255所有的字符定界符,反引號(hào)ANSISQL中雙引號(hào)為定界符注意:在MYSQL中,數(shù)據(jù)庫(kù)和表對(duì)應(yīng)操作系統(tǒng)下的目錄與文件,因而,操作系統(tǒng)的敏感性決定數(shù)據(jù)庫(kù)和表命名的大小敏感,所以在LINUX下數(shù)據(jù)庫(kù)與表名的大小寫(xiě)敏感.提示:USE,HELP是Mysql中為少數(shù)幾個(gè)不需要終結(jié)符的語(yǔ)句之一.用戶(hù)變量表示為:var_name;setx=99;等同于x:=99;系統(tǒng)變量用兩個(gè)表示,它分為2種,全局系統(tǒng)變量和會(huì)話系統(tǒng)變量.下

6、面詳細(xì)說(shuō)明各種類(lèi)型MySQL支持所有的ANSI/ISOSQL92數(shù)字類(lèi)型.1、數(shù)值型一個(gè)整數(shù)可以在浮點(diǎn)語(yǔ)境中使用;它被解釋為等值的浮點(diǎn)數(shù);同樣,一個(gè)浮點(diǎn)數(shù)可以被轉(zhuǎn)化為整數(shù),但損失精度,如100.1-100,100.5-101;2.Mysql支持16進(jìn)制數(shù)值,在數(shù)字的語(yǔ)境中,它們表現(xiàn)類(lèi)似于一個(gè)整數(shù)(64位精度);如select0 xa+0;在字符串的語(yǔ)境中,它們表現(xiàn)類(lèi)似于一個(gè)二進(jìn)制的字符串,每一對(duì)16進(jìn)制ASCII碼被轉(zhuǎn)為一個(gè)字符:select0 x787868;=selectx787868;selecthex(xxh);select0 xa+5;selecttrue,true,flase,FA

7、LSE;其中浮點(diǎn)型用于域,表示方法解釋一下,如:FLOAT(M,D)UNSIGNEDZEROFILL如果UNSIGNED被指定,負(fù)值是不允許的。M是顯示寬度,D是小數(shù)位數(shù)。并且如果負(fù)號(hào)“”也占一個(gè)寬度。2、字符串類(lèi)型字符串是多個(gè)字符組成的一個(gè)字符序列,由單引號(hào),或雙引號(hào)字符包圍,但在ANSI模式中運(yùn)行時(shí)只能用單引號(hào),也就是說(shuō)在SQLSERVER數(shù)據(jù)庫(kù),使用應(yīng)該使用單引號(hào),保證兼容性應(yīng)該使用單引號(hào).字符串類(lèi)型有CHAR、VARCHAR、BLOB、TEXT、ENUM和SET;ENUM是一個(gè)字符串HYPERLINKjavascript:;t_self對(duì)象,其值通常選自一個(gè)允許值列表中,該列表在表創(chuàng)建

8、時(shí)的列規(guī)格說(shuō)明中被明確地列舉。每個(gè)枚舉值均有一個(gè)索引值:在列說(shuō)明中列表值所允許的成員值被從1開(kāi)始編號(hào)??兆址e(cuò)誤值的索引值為0。這就意味著,你可以使用下面所示的SELECT語(yǔ)句找出被賦于無(wú)效ENUM值的記錄行。mysqlSELECT*FROMtbl_nameWHEREenum_col=0;NULL值的索引值為NULL??偨Y(jié):ENUM用于互相排斥的值,而SET列可以從一個(gè)值的列表中選擇多個(gè)值。常用技巧:1.在命令提示符下:mysql-h-urootdb_namex.sql在串的環(huán)境中,可用十六進(jìn)制常數(shù)來(lái)指定串值。其語(yǔ)法與前面描述的數(shù)值值相同,但是每對(duì)十六進(jìn)制的數(shù)字都被看作ASCII代碼并轉(zhuǎn)換為

9、字符,其結(jié)果用于串。例如,0 x616263作為串時(shí)為“abc”。在一個(gè)字符串中,如果某個(gè)序列具有特殊的含義,每個(gè)序列以反斜線符號(hào)(“”)開(kāi)頭,稱(chēng)為轉(zhuǎn)義字符。MySQL識(shí)別下列轉(zhuǎn)義字符:0一個(gè)ASCII0(NUL)字符。一個(gè)ASCII39單引號(hào)(“”)字符。一個(gè)ASCII34雙引號(hào)(“”)字符。b一個(gè)ASCII8退格符。n一個(gè)ASCII10換行符。r一個(gè)ASCII13回車(chē)符。t一個(gè)ASCII9制表符(TAB)。zASCII(26)(Control-Z)。這個(gè)字符可以處理在Windows系統(tǒng)中ASCII(26)代表一個(gè)文件的結(jié)束的問(wèn)題。(當(dāng)使用mysqldatabasefilename時(shí)ASCI

10、I(26)可能會(huì)引起問(wèn)題產(chǎn)生。)一個(gè)ASCII92反斜線(“”)字符。%一個(gè)ASCII37“%”字符。它用于在正文中搜索“%”的文字實(shí)例,否則這里“%”將解釋為一個(gè)通配符。查看章節(jié)6.3.2.1字符串比較函數(shù)。_一個(gè)ASCII95“_”字符。它用于在正文中搜索“_”的文字實(shí)例,否則這里“_”將解釋為一個(gè)通配符。查看章節(jié)6.3.2.1字符串比較函數(shù).3、日期和時(shí)間類(lèi)型4、Null類(lèi)型Null是ANSI中值的空。查找NUll類(lèi)型用ISNull和ISNotNull測(cè)試;并且不能對(duì)NULL類(lèi)型進(jìn)行算術(shù)運(yùn)算。其結(jié)果為NULL。5.mysql的注釋為兩種:/*/和#(單行注釋,類(lèi)似UNIX的腳本注釋;)第

11、07章MySQL函數(shù)mysql運(yùn)算符A.比較運(yùn)算符=,!=(),=,=Null安全等于比較isnull,isnotnullisnull(express)如果expr大于或等于min,并且expr小于或等于max,between返回1,否則返回0.它等價(jià)于表達(dá)式(min=exprandexpr=max)exprin(v1,v2,.);如果expr是in列表中的一值,它將返回1,否則返回0.B.邏輯運(yùn)算符在mysql中,所有的邏輯運(yùn)算符返回的值均為true,false,或null(未知),在mysql中,它們由1(true),0(false)和null實(shí)現(xiàn).select!1等同于selectnot

12、1;C.流程控制函數(shù)ifnull(expr1,value)當(dāng)expr1的值是null時(shí),返回value,不是null時(shí),返回expr1casevaluewhencompare-valuethenresult.seta=2;selectcaseawhen1thenonewhen2thentwoelsemoreend;if(expr1,expre2,expr3)如果expr1為真,(expr10以及expr1null),那么if()返回expr2,否則返回expr3nullif(expr1,expr2)如果expr1=expr2為真,返回null,否則返回expr1;mysqlselectnull

13、if(1,1);-nullmysqlselectnullif(1,2)-1D.mysql字符串函數(shù)返回字符串str最左邊的那個(gè)字符的ASCII碼值.mysqlselectascii(2);-50返回N的字符串表示的2進(jìn)制值形式.mysqlselectbin(12);-1100返回N的字符串表示的八進(jìn)制值形式mysqlselectoct(12);-14如果x是一個(gè)數(shù)字,返回n的字符串表示的16進(jìn)制值形式,這里n是一個(gè)長(zhǎng)長(zhǎng)的(bigint)數(shù)字.如果x是一個(gè)字符串,x中的每個(gè)字符均被轉(zhuǎn)換為2位16進(jìn)制數(shù)字,并以16進(jìn)制的字符串形式返回.這是0 xff形式的字符串反轉(zhuǎn)操作.mysqlselecthe

14、x(255);-ffmysqlselecthex(abc);/selectascii(a);-97selecthex(97);-61-616263mysql0 x616263;-abcchar()以整數(shù)類(lèi)型解釋參數(shù),返回這個(gè)整數(shù)所代表的Ascii碼值給出的字符組成的字符串,null值將被忽略mysqlselectchar(120,120,104);-xxhconcat(str1,str2,.)將參數(shù)連接成字符串返回,如果有任何一個(gè)參數(shù)為null,返回值也為null.locate(子串substr,母串str)返回子串substr在字符呂中第一次出現(xiàn)的位置.如果子串substr在str中不存在,

15、返回值為0:ltrim(str)返回移除了領(lǐng)頭的空格字符后的str;第08章MySQL數(shù)據(jù)操縱語(yǔ)言DMLselect語(yǔ)法select列1,列2,列3,from表1,表2,表3where條件groupby.having.第二節(jié)域/列類(lèi)型屬性域/列的類(lèi)型屬性,有以下特性:其中可以存放什么類(lèi)型的值。值要占據(jù)多少空間,以及該值是否是定長(zhǎng)的(所有值占相同數(shù)量的空間)或(所占空間量依賴(lài)于所存儲(chǔ)的值)。該類(lèi)型的值怎樣比較和存儲(chǔ)。此類(lèi)型是否允許NULL值。此類(lèi)型是否可以索引。數(shù)字日期和時(shí)間字符串(字符)列類(lèi)型的屬性有以下四種:DefaultNotNull或NullPrimaryKey即主鍵Auto_incre

16、ment(只有1個(gè)只能被索引)一、數(shù)據(jù)庫(kù)的操作操作系統(tǒng)下的操作mysql-h-u-pmysql-hlocalhost-uroot創(chuàng)建數(shù)據(jù)庫(kù)刪除數(shù)據(jù)庫(kù)顯示數(shù)據(jù)庫(kù)使用數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)其他相關(guān)操作1、創(chuàng)建數(shù)據(jù)庫(kù)CREATEDATABASEdb_Name;說(shuō)明:2、刪除數(shù)據(jù)庫(kù)DROPDATABASEdb_Name;說(shuō)明:可以簡(jiǎn)寫(xiě)為:dropdb_name;3、顯示數(shù)據(jù)庫(kù)SHOWdatabases;說(shuō)明:顯示當(dāng)前有哪些數(shù)據(jù)庫(kù)。4、使用數(shù)據(jù)庫(kù)USEdatabase;說(shuō)明:5、顯示數(shù)據(jù)庫(kù)中有哪些表首先USEdatabase;然后SHOWtables;參見(jiàn):show的用法二、表格、索引的操作創(chuàng)建表格更改表格建立索

17、引刪除表格、索引表格其他相關(guān)操作以下操作都是以表格table_name或索引為操作單位。DESCRIBE或DESC命令除外。文件用途tbl_name.frm表定義(form)文件tbl_name.MYD數(shù)據(jù)文件tbl_name.MYI索引文件1、創(chuàng)建表格:CREATETABLEtable_name(column1DATATYPENOTNULLNOTNULLPRIMARYKEY,column2DATATYPENOTNULL,.)說(shuō)明:DATATYPE-是資料的格式,也就是字段的數(shù)據(jù)類(lèi)型NotNull-不允許資料有空的PRIMARYKEY-是本表的主鍵??梢酝ㄟ^(guò)一個(gè)表的內(nèi)容來(lái)拷貝一個(gè)表,如CREA

18、TETEMPORARYTABLEnew_tbl_nameSELECT*FROMold_tbl_name;CREATETEMPORARYTABLEnew_tbl_nameSELECT*FROMold_tbl_namewhere1=0;(只是拷貝空表)2、更改表格ALTERTABLEtbl_nameADDCOLUMNcol_nameDATATYPE說(shuō)明:增加一個(gè)欄位即(字段)(沒(méi)有刪除某個(gè)欄位的語(yǔ)法)。ALTERTABLEtbl_nameRENAMEASnew_name;說(shuō)明:對(duì)表重命名。ALTERTABLEtable_namedropcolumn_name說(shuō)明:刪除指定的列名。ALTERTABL

19、Etbl_nameCHANGEold_column_namenew_column_nameDATATYPE說(shuō)明:更改列名及列屬性。例:ALTERTABLEtbl_nameCHANGEold_column_namenew_column_nameint(2)notnullprimarykey;ALTERTABLEtable_nameADDPRIMARYKEY(column_name)說(shuō)明:更改表得的定義把某個(gè)欄位設(shè)為主鍵。ALTERTABLEtable_nameDROPPRIMARYKEY(column_name)說(shuō)明:把主鍵的定義刪除。ALTERTABLEmy_tblTYPE=ISAM或MYIS

20、AM,HELP,InnoDB等等說(shuō)明:更改表的類(lèi)型3、建立索引CREATEINDEXindex_nameONtable_name(column_name);CREATEUNIQUEindex_nameONtable_name(column_name);ALTERTABLEtbl_nameADDINDEXindex_name(column_list);ALTERTABLEtbl_nameADDUNIQUEindex_name(column_list);ALTERTABLEtbl_nameADDPRIMARYKEY(column_list);說(shuō)明:對(duì)某個(gè)表格的欄位建立索引以增加查詢(xún)時(shí)的速度。4、刪

21、除表格、索引DROPtbl_name1,tbl_name2,tbl_name3.;DROPINDEXindex_nameONtbl_name;ALTERTABLEtbl_nameDROPINDEXindex_name;ALTERTABLEtbl_nameDROPPrimaryKey;5、顯示表格中列的信息語(yǔ)法:DESCRIBE|DESCtbl_namecol_name|wildDESCRIBEtbl_name;說(shuō)明:DESCRIBE是SHOWCOLUMNSFROM的縮寫(xiě)。用于顯示表格中列的信息。DESCRIBEtbl_name;等于SHOWCOLUMNSFROMtbl_name;也可以簡(jiǎn)寫(xiě)為:

22、desctal_name;describevt.描寫(xiě),記述,形容,形容三、記錄的操作記錄的添加記錄的更改記錄的刪除首先來(lái)大概了解一下INSERT的語(yǔ)法,有以下幾種方式:INSERTINTOtbl_name(col_name,.)VALUES(expression|DEFAULT),.),(.),.ONDUPLICATEKEYUPDATEcol_name=expression,.或者INSERTINTOtbl_name(col_name,.)SELECT.或者INSERTINTOtbl_nameSETcol_name=(expression|DEFAULT),.ONDUPLICATEKEYUPD

23、ATEcol_name=expression,.說(shuō)明:我們只關(guān)心記錄添加的方式啦。注意啦,現(xiàn)在我們開(kāi)始啦。1、記錄的添加最簡(jiǎn)單的一種:直接添加一行記錄就是:INSERTINTOtbl_name(col_name,.)VALUES(expression|DEFAULT),.),(.),.);例:INSERTINTOtbl_name(col1,col2)VALUES(15,col1*2);inserttbl_name(col1,col2)values(007,xxh5fd)第二種:2、記錄的更改還是先來(lái)看一看UPDATE的語(yǔ)法UPDATEtbl_name,tbl_name.SETcol_name1

24、=expr1,col_name2=expr2.WHEREwhere_definition說(shuō)明:UPDATE以新的值更新現(xiàn)存表中行的列。SET子句指出要修改哪個(gè)列和他們應(yīng)該給定的值。WHERE子句如果被給出,指定哪個(gè)記錄行應(yīng)該被更新。否則,所有的記錄行被更新。如果ORDERBY子句被指定,記錄行將被以指定的次序更新。例子:UPDATEybcsetid=8whereid=0;3.記錄的刪除簡(jiǎn)單的語(yǔ)法:DELETEFROMtable_nameWHEREconditions說(shuō)明:刪除符合條件的資料。數(shù)據(jù)語(yǔ)法:SHOW語(yǔ)句可用來(lái)獲取數(shù)據(jù)庫(kù)和表的幾個(gè)方面的信息,它有如下用法:SHOWDATABASES列出

25、服務(wù)器上的數(shù)據(jù)庫(kù)SHOWTABLES列出當(dāng)前數(shù)據(jù)庫(kù)中的表SHOWTABLESFROMdb_name列出指定數(shù)據(jù)庫(kù)中的表SHOWFULLCOLUMNSFROMtbl_name顯示指定表中列的信息,等同于desctbl_name;SHOWINDEXFROMtbl_name顯示指定表中索引的信息SHOWTABLESTATUS顯示缺省數(shù)據(jù)庫(kù)中表的說(shuō)明信息SHOWTABLESTATUSFROMdb_name顯示指定數(shù)據(jù)庫(kù)中表的說(shuō)明信息DESCRIBEtbl_name和EXPLAINtbl_name語(yǔ)句與SHOWCOLUMNSFROMtbl_name功能相同。SELECT的使用及語(yǔ)法詳解作用說(shuō)明:SELE

26、CT用于檢索從一個(gè)或多個(gè)表中選取出的行。select_expression表示你希望檢索的列。SELECT也可以被用于檢索沒(méi)有引用任何表的計(jì)算列。要講的內(nèi)容是:第一個(gè)查詢(xún)選擇特定的列,對(duì)列進(jìn)行排序查找不重復(fù)的數(shù)據(jù)創(chuàng)建虛擬列,及列的別名的使用按條件檢索好,現(xiàn)在開(kāi)始我們的第一個(gè)查詢(xún)啦!SELECT*Fromtbl_name;組合查詢(xún)組合查詢(xún)是指所查詢(xún)得資料來(lái)源并不只有單一的表格,而是聯(lián)合一個(gè)以上的表格才能夠得到結(jié)果的。SELECT*FROMtable1,table2WHEREtable1.colum1=table2.column1說(shuō)明:1.查詢(xún)兩個(gè)表格中其中column1值相同的資料。2.當(dāng)然兩個(gè)

27、表格相互比較的欄位,其資料形態(tài)必須相同。3.一個(gè)復(fù)雜的查詢(xún)其動(dòng)用到的表格可能會(huì)很多個(gè)。整合性的查詢(xún):SELECTCOUNT(*)FROMtable_nameWHEREcolumn_name=xxx說(shuō)明:查詢(xún)符合條件的資料共有幾筆。SELECTSUM(column1)FROMtable_name說(shuō)明:1.計(jì)算出總和,所選的欄位必須是可數(shù)的數(shù)字形態(tài)。2.除此以外還有AVG()是計(jì)算平均、MAX()、MIN()計(jì)算最大最小值的整合性查詢(xún)。SELECTcolumn1,AVG(column2)FROMtable_nameGROUPBYcolumn1HAVINGAVG(column2)xxx說(shuō)明:1.GR

28、OUPBY:以column1為一組計(jì)算column2的平均值必須和AVG、SUM等整合性查詢(xún)的關(guān)鍵字一起使用。2.HAVING:必須和GROUPBY一起使用作為整合性的限制。復(fù)合性的查詢(xún)SELECT*FROMtable_name1WHEREEXISTS(SELECT*FROMtable_name2WHEREconditions)說(shuō)明:1.WHERE的conditions可以是另外一個(gè)的query。2.EXISTS在此是指存在與否。SELECT*FROMtable_name1WHEREcolumn1IN(SELECTcolumn1FROMtable_name2WHEREconditions)說(shuō)明

29、:1.IN後面接的是一個(gè)集合,表示column1存在集合里面。2.SELECT出來(lái)的資料形態(tài)必須符合column1。其他查詢(xún)SELECT*FROMtable_name1WHEREcolumn1LIKEx%;說(shuō)明:LIKE必須和後面的x%相呼應(yīng)表示以x為開(kāi)頭的字串。SELECT*FROMtable_name1WHEREcolumn1IN(xxx,yyy,.)說(shuō)明:IN後面接的是一個(gè)集合,表示column1存在集合里面。SELECT*FROMtable_name1WHEREcolumn1BETWEENxxANDyy說(shuō)明:BETWEEN表示column1的值介於xx和yy之間。其它重要概念:SQL允

30、許你創(chuàng)建一個(gè)虛擬列或?qū)σ延械牧羞M(jìn)組合和修改后產(chǎn)生的派生列。SQL允許可以創(chuàng)建一個(gè)新的虛擬列,而且還可以對(duì)它安自己的需要進(jìn)行重命名,你可以按語(yǔ)法列名別名來(lái)對(duì)任何一個(gè)列進(jìn)行重命名(注意在列名與別名之間有空格)或用()括起來(lái)。詞語(yǔ)解釋?zhuān)簄umericnju:merikadj.(=mumerical)數(shù)字的,數(shù)值的decimaldesimEladj.以十作基礎(chǔ)的,十進(jìn)位的SQL查詢(xún)語(yǔ)句精華使用簡(jiǎn)要一、簡(jiǎn)單查詢(xún)簡(jiǎn)單的Transact-SQL查詢(xún)只包括選擇列表、FROM子句和WHERE子句。它們分別說(shuō)明所查詢(xún)列、查詢(xún)的表或視圖、以及搜索條件等。例如,下面的語(yǔ)句查詢(xún)testtable表中姓名為張三的nick

31、name字段和email字段。SELECTnickname,emailFROMtesttableWHEREname=張三(一)選擇列表選擇列表(select_list)指出所查詢(xún)列,它可以是一組列名列表、星號(hào)、表達(dá)式、變量(包括局部變量和全局變量)等構(gòu)成。1、選擇所有列例如,下面語(yǔ)句顯示testtable表中所有列的數(shù)據(jù):SELECT*FROMtesttable2、選擇部分列并指定它們的顯示次序查詢(xún)結(jié)果集合中數(shù)據(jù)的排列順序與選擇列表中所指定的列名排列順序相同。例如:SELECTnickname,emailFROMtesttable3、更改列標(biāo)題在選擇列表中,可重新指定列標(biāo)題。定義格式為:列標(biāo)題

32、=列名列名列標(biāo)題如果指定的列標(biāo)題不是標(biāo)準(zhǔn)的標(biāo)識(shí)符格式時(shí),應(yīng)使用引號(hào)定界符,例如,下列語(yǔ)句使用漢字顯示列標(biāo)題:SELECT昵稱(chēng)=nickname,電子郵件=emailFROMtesttable4、刪除重復(fù)行SELECT語(yǔ)句中使用ALL或DISTINCT選項(xiàng)來(lái)顯示表中符合條件的所有行或刪除其中重復(fù)的數(shù)據(jù)行,默認(rèn)為ALL。使用DISTINCT選項(xiàng)時(shí),對(duì)于所有重復(fù)的數(shù)據(jù)行在SELECT返回的結(jié)果集合中只保留一行。5、限制返回的行數(shù)使用TOPnPERCENT選項(xiàng)限制返回的數(shù)據(jù)行數(shù),TOPn說(shuō)明返回n行,而TOPnPERCENT時(shí),說(shuō)明n是表示一百分?jǐn)?shù),指定返回的行數(shù)等于總行數(shù)的百分之幾。例如:SELEC

33、TTOP2*FROMtesttableSELECTTOP20PERCENT*FROMtesttable(二)FROM子句FROM子句指定SELECT語(yǔ)句查詢(xún)及與查詢(xún)相關(guān)的表或視圖。在FROM子句中最多可指定256個(gè)表或視圖,它們之間用逗號(hào)分隔。在FROM子句同時(shí)指定多個(gè)表或視圖時(shí),如果選擇列表中存在同名列,這時(shí)應(yīng)使用對(duì)象名限定這些列所屬的表或視圖。例如在usertable和citytable表中同時(shí)存在cityid列,在查詢(xún)兩個(gè)表中的cityid時(shí)應(yīng)使用下面語(yǔ)句格式加以限定:SELECTusername,citytable.cityidFROMusertable,citytableWHEREu

34、sertable.cityid=citytable.cityid在FROM子句中可用以下兩種格式為表或視圖指定別名:表名as別名表名別名(二)FROM子句FROM子句指定SELECT語(yǔ)句查詢(xún)及與查詢(xún)相關(guān)的表或視圖。在FROM子句中最多可指定256個(gè)表或視圖,它們之間用逗號(hào)分隔。在FROM子句同時(shí)指定多個(gè)表或視圖時(shí),如果選擇列表中存在同名列,這時(shí)應(yīng)使用對(duì)象名限定這些列所屬的表或視圖。例如在usertable和citytable表中同時(shí)存在cityid列,在查詢(xún)兩個(gè)表中的cityid時(shí)應(yīng)使用下面語(yǔ)句格式加以限定:SELECTusername,citytable.cityidFROMusertable,citytableWHEREusertable.cityid=citytable.cityid在FROM子句中可用以下兩種格式為表或視圖指定別名:表名as別名表名別名例如上面語(yǔ)句可用表的別名格式表示為:SELECTusername,b.cityidFROMusertablea,citytablebWHEREa.cityid=b.cityidSELECT不僅能從表或視圖中檢索數(shù)據(jù),它還能夠從其它查詢(xún)語(yǔ)句所返回的結(jié)果集合中查詢(xún)數(shù)據(jù)。例如:SELECTa.au_fname+a.au_lnameFROMauthor

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論