好男人天堂网,久久精品国产这里是免费,国产精品成人一区二区,男人天堂网2021,男人的天堂在线观看,丁香六月综合激情

當(dāng)前位置:首頁 > 網(wǎng)站舊欄目 > 學(xué)習(xí)園地 > 程序開發(fā)教程 > 快速掌握MySQL數(shù)據(jù)庫中SELECT語句

快速掌握MySQL數(shù)據(jù)庫中SELECT語句
2010-01-17 11:01:11  作者:  來源:
 本文針對MySQL數(shù)據(jù)庫中的SELECT語句快速精細(xì)掌握。 
  MySQL中SELECT語句的基本語法是:

以下是引用片段:
SELECT [STRAIGHT_JOIN] [SQL_SMALL_RESULT] 
[SQL_BIG_RESULT] [HIGH_PRIORITY] 
[DISTINCT|DISTINCTROW|ALL] 
select_list 
[INTO {OUTFILE|DUMPFILE} 'file_name' export_options]
 [FROM table_references [WHERE where_definition]
 [GROUP BY col_name,...] [HAVING where_definition] 
[ORDER BY {unsighed_integer|col_name|formura} [ASC|DESC],...] 
[LIMIT [offset,] rows] [PROCEDURE procedure_name]] 


  從這個(gè)基本語法可以看出,最簡單的SELECT語句是SELECT select_list,實(shí)際上利用這個(gè)最簡單的SELECT語句,你也可以完成許多你期待的功能,首先你能利用它進(jìn)行MySQL所支持的任何運(yùn)算,例如:SELECT 1+1,它將返回2;其次,你也能利用它給變量賦值,而在PHP中,運(yùn)用SELECT語句的這種功能,你就可以自由地運(yùn)用MySQL的函數(shù)為PHP程序進(jìn)行各種運(yùn)算,并賦值給變量。在很多的時(shí)候,你會(huì)發(fā)現(xiàn)MySQL擁有許多比PHP更為功能強(qiáng)大的函數(shù)。

  STRAIGHT_JOIN、SQL_SMALL_RESULT、SQL_BIG_RESULT、HIGH_PRIORITY是MySQL對ANSI SQL92的擴(kuò)展。如果優(yōu)化器以非最佳次序聯(lián)結(jié)表,使用STRAIGHT_JOIN可以加快查詢

  SQL_SMALL_RESULT和SQL_BIG_RESULT是一組相對的關(guān)鍵詞。它們必須與GROUP BY、DISTINCT或DISTINCTROW一起使用。SQL_SMALL_RESULT告知優(yōu)化器結(jié)果會(huì)很小,要求MySQL使用臨時(shí)表存儲(chǔ)最終的表而不是使用排序;反之,SQL_BIG_RESULT告知優(yōu)化器結(jié)果會(huì)很小,要求MySQL使用排序而不是做臨時(shí)表。

  HIGH_PRIORITY將賦予SELECT比一個(gè)更新表的語句更高的優(yōu)先級,使之可以進(jìn)行一次優(yōu)先的快速的查詢。

  以上四個(gè)關(guān)鍵詞的使用方法的確比較晦澀。幸運(yùn)的是,在絕大多數(shù)情況下,在MySQL中我們完全可以選擇不使用這四個(gè)關(guān)鍵詞。

  DISTINCT、DISTINCTROW對查詢返回的結(jié)果集提供了一個(gè)最基本但是很有用的過濾。那就是結(jié)果集中只含非重復(fù)行。在這里要注意的是,對關(guān)鍵詞DISTINCT、DISTINCTROW來說,空值都是相等的,無論有多少NULL值,只選擇一個(gè)。而ALL的用法就有畫蛇添足之嫌了。它對結(jié)果集的產(chǎn)生沒有任何影響。

  INTO {OUTFILE|DUMPFILE} 'file_name' export_options,將結(jié)果集寫入一個(gè)文件。文件在服務(wù)器主機(jī)上被創(chuàng)建,并且不能是已經(jīng)存在的。語句中的export_options部分的語法與用在LOAD DATAINFILE語句中的FIELDS和LINES子句中的相同,我們將在MySQL進(jìn)階_LOAD DATA篇中詳細(xì)討論它。而OUTFILE與DUMPFILE的關(guān)鍵字的區(qū)別是:后前只寫一行到文件,并沒有任何列或行結(jié)束。

  select list:其中可以包含一項(xiàng)或多項(xiàng)下列內(nèi)容: 


  1、“*”,表示按照create table的順序排列的所有列。

  2、按照用戶所需順序排列的列名的清單。

  3、可以使用別名取代列名,形式如下:column name as column_heading。

  4、表達(dá)式(列名、常量、函數(shù),或以算術(shù)或逐位運(yùn)算符連接的列名、常量和函數(shù)的任何組合)。

  5、內(nèi)部函數(shù)或集合函數(shù)。

  6、上述各項(xiàng)的任何一種組合。

  FROM:決定SELECT命令中使用哪些表。一般都要求有此項(xiàng),除非select_list中不含列名(例如,只有常量、算術(shù)表達(dá)式等)。如果表項(xiàng)中有多個(gè)表,用逗號將之分開。在關(guān)鍵詞FROM后面的表的順序不影響結(jié)果。

  表名可以給出相關(guān)別名,以便使表達(dá)清晰。這里的語法是tbl_name [AS] alias_name。例如:

  select t1.name,t2.salary from employee as t1,info as t2 where t1.name=t2.name與select t1.name,t2.salary from employee t1,info t2 where t1.name=t2.name是完全等價(jià)的。

  所有對該表的其他引用,例如在where子句和having子句中,都要用別名,別名不能以數(shù)字開頭。
 
  where子句設(shè)置了搜索條件,它在insert,update,delete語句中的應(yīng)用方法也與在select語句中的應(yīng)用方法完全相同。搜索條件緊跟在關(guān)鍵詞where的后面。如果用戶要在語句中使用多個(gè)搜索條件,則可用and或or連接。搜索條件的基本語法是[not] expression comparison_operator expression;[not] expression [not] like “match_string”;[not] expression is [not] null;[not] expression [not] between expression and expression;[not] column_name join_operator column_name;[not] boolean_expression。

  and:用來聯(lián)結(jié)兩個(gè)條件,并在兩個(gè)條件都是TRUE的時(shí)候返回結(jié)果。當(dāng)在同一語句中使用多個(gè)邏輯運(yùn)算符時(shí),and運(yùn)算符總是最優(yōu)先,除非用戶用括號改變了運(yùn)算順序。

  or:用來聯(lián)結(jié)兩個(gè)條件,當(dāng)兩個(gè)條件中有任一條件是TRUE的時(shí)候返回結(jié)果。當(dāng)在同一語句中使用多個(gè)邏輯運(yùn)算符時(shí),運(yùn)算符or通常在運(yùn)算符and之后進(jìn)行運(yùn)算。當(dāng)然用戶可以使用括號改變運(yùn)算的順序。

  between:用來標(biāo)識(shí)范圍下限的關(guān)鍵詞,and后面跟范圍上限的值。范圍where @val between x and y包含首尾值。如果between后面指定的第一個(gè)值大于第二個(gè)值,則該查詢不返回任何行。

  column_name:在比較中使用的列名。在會(huì)產(chǎn)生歧義時(shí),一定要指明列所在的表名。

  comparison_operator:比較運(yùn)算符。見下表:

以下是引用片段:
符號   意義 
=      等于 
>      大于 
<      小于 
>=     大于等于 
<=     小于等于 
!=     不等于 
<>     不等于 


  在比較char,varchar型數(shù)據(jù)時(shí),“<”的意思是更接近字母表頭部,“>”代表更接近字母表尾部。一般來說,小寫字母大于大寫字母,大寫字母大于數(shù)字,但是這可能依賴于服務(wù)器上操作系統(tǒng)的比較順序。

  在比較時(shí),末尾的空格是被忽略的。例如,“Dirk”等于“Dirk ”。

  在比較日期時(shí),“<”表示早于,“>”表示晚于。

  在使用比較運(yùn)算符比較character和datetime數(shù)據(jù)時(shí),需用引號將所有數(shù)據(jù)引起來。

  expression:可能是列名、常數(shù)、函數(shù)或者是列名或常數(shù)的任意組合,以及以算術(shù)運(yùn)算符或逐位運(yùn)算符連接的函數(shù)。算術(shù)運(yùn)算符如下表所示:

以下是引用片段:
符號   意義 
+      加號 
-      減號    
*      乘號 
/      除號 


  is null:在搜索一個(gè)NULL值時(shí)使用。 

  like:關(guān)鍵詞,對char、varchar和datetime(不包括秒和毫秒)可以使用like,在MySQL中l(wèi)ike也可以用在數(shù)字的表達(dá)式上。

  當(dāng)用戶在搜索datetime型數(shù)據(jù)時(shí),最好是使用關(guān)鍵詞like,因?yàn)橥暾膁atetime記錄包含各種各樣的日期組件。例如用戶在列arrival_time中加入一個(gè)值“9:20”,而子句where arrival_time=“9:20”卻沒有發(fā)現(xiàn)它,因?yàn)镸ySQL把錄入的數(shù)據(jù)轉(zhuǎn)換成了“Jan 1,1900 9:20AM”。然而子句where arrival_time like“%9:20%”就能找到它。

  boolean_expression:返回“true”或“false”值的表達(dá)式。

  match_string:由字符和通配符組成的串,用單引號或雙引號引起來,是匹配模式。通配符如下表所示:

以下是引用片段:
符號       意義 
%          0或多個(gè)字符的字符串 
_           任何一單個(gè)字符 
not:     否定任何邏輯表達(dá)式,或是關(guān)鍵詞,
             如like,null,between等。 
group    by和having子句在select語句中使用,
              可以將表劃分成組并返回匹配having子句條件的組。 
語法:select語句開頭 
group by [all] aggregate_free_expression [,aggregate_free_expression]* 
[having search_conditions] 

  select語句結(jié)尾

  group by:指定表將劃分的組群,如果在select表項(xiàng)中包含集合函數(shù),則為各組計(jì)算一個(gè)總計(jì)值。這些總計(jì)值的結(jié)果以新的列顯示,而不是新的行。在having子句中用戶可以引用這些新的總計(jì)列。在group by之前的select_list中可以使用avg、count、max、min和sum等集合函數(shù)。表可以被任意列的組合分組。

  all:在結(jié)果中包含所有組群的Transact-SQL擴(kuò)展,這里的所有組群甚至包括那些被where子句所排除的組群。如果同時(shí)使用having子句,將對all的意義進(jìn)行否定。

  aggregate_free_expression:不包含集合函數(shù)的表達(dá)式,Transact-SQL擴(kuò)展允許在用列名稱分組的同時(shí),用無集合函數(shù)的表達(dá)式分組。

  having:為group by子句設(shè)置條件,類似于where為select語句設(shè)置條件的方法。having的查找條件可以包括集合函數(shù)表達(dá)式。除此之外,它的查找條件與where查找條件相同。

  order by:按列排列結(jié)果。對select輸出的列可以用列名、列別名或列位置來引用。例如:select id as myid,name as myname from mytable group by id、select id as myid,name as myname from mytable group by myid、select id as myid,name as myname from mytable group by 1這三句是完全等價(jià)的。當(dāng)然,我們不贊成用第三種用法,這將給程序的可讀性帶來不好的影響。 為了以降序排列,把DESC關(guān)鍵詞加到order by子句中你要排序的列名前。缺省是升序,你也可以用ASC關(guān)鍵詞明確指定。

  limit 子句:用來限制select語句返回的行數(shù)。limit取1個(gè)或2個(gè)數(shù)字參數(shù),如果給定2個(gè)參數(shù),第一個(gè)指定要返回的第一行的偏移量,第二個(gè)指定返回行的最大數(shù)目。初始行的偏移量是0(不是1)。如果給定一個(gè)參數(shù),它指出偏移量為0的返回行的最大數(shù)目。也就是說limit 5和limit 0,5完全等價(jià)。

  至于procedure關(guān)鍵詞的含義,我也沒搞得太清楚,好象是對存儲(chǔ)過程的支持,而MySQL本身不支持存儲(chǔ)過程,看來是為了將來擴(kuò)充的需要而保留的吧。

安徽新華電腦學(xué)校專業(yè)職業(yè)規(guī)劃師為你提供更多幫助【在線咨詢
精品久久久久久综合网| 99久久网站| 国产高清在线精品一区a| 天天做日日爱夜夜爽| 一级毛片视频播放| 韩国三级一区| 亚洲 男人 天堂| 亚洲 欧美 成人日韩| 超级乱淫伦动漫| 99久久精品国产高清一区二区| 免费一级片在线观看| 久久精品成人一区二区三区| 日韩男人天堂| 91麻豆爱豆果冻天美星空| 国产不卡在线看| 99久久精品国产麻豆| 国产一区二区高清视频| 999精品影视在线观看| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 高清一级毛片一本到免费观看| 欧美日本国产| 国产成人啪精品视频免费软件| 午夜在线观看视频免费 成人| 国产视频一区二区在线观看| 欧美1区2区3区| 精品视频免费看| 久草免费资源| 91麻豆精品国产高清在线| 999久久久免费精品国产牛牛| 日本在线不卡视频| 久久精品大片| 九九精品久久久久久久久| 国产原创中文字幕| 精品久久久久久中文| 国产不卡在线观看| 成人在激情在线视频| 亚洲不卡一区二区三区在线| 你懂的国产精品| 99久久精品国产国产毛片| 国产欧美精品午夜在线播放| 免费的黄色小视频| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 日日夜夜婷婷| 久久国产精品只做精品| 久久99爰这里有精品国产| 二级片在线观看| 999久久久免费精品国产牛牛| 国产a视频精品免费观看| 九九久久国产精品大片| 韩国三级视频网站| 黄色福利片| 台湾毛片| 国产成人精品影视| 精品国产一区二区三区免费 | 成人免费高清视频| 精品视频在线观看免费| 欧美激情伊人| 亚洲精品中文字幕久久久久久| 色综合久久天天综合观看| 九九精品在线| 91麻豆tv| 成人免费高清视频| 99色播| 国产一级生活片| 99久久视频| a级黄色毛片免费播放视频| 美女被草网站| 久久久久久久免费视频| a级毛片免费全部播放| 99色播| 国产成人女人在线视频观看| 一级女性全黄生活片免费| 99久久精品国产免费| 日韩av成人| 国产视频一区在线| 国产91精品露脸国语对白| 一级女性大黄生活片免费| 99久久精品国产国产毛片| 免费国产在线观看不卡| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 999精品影视在线观看| 亚洲女人国产香蕉久久精品| 免费的黄色小视频| 精品国产香蕉在线播出| 毛片高清| 精品视频一区二区三区| 99色视频| 美女免费精品高清毛片在线视| 91麻豆精品国产自产在线| 国产不卡高清| 九九九网站| 日韩女人做爰大片| 香蕉视频久久| 一级片片| 国产成人欧美一区二区三区的| 尤物视频网站在线| 一级女人毛片人一女人| 久久国产精品永久免费网站| 国产91精品露脸国语对白| 成人免费观看男女羞羞视频| 亚洲www美色| 欧美a级v片不卡在线观看| 欧美国产日韩在线| 国产综合91天堂亚洲国产| 日日夜夜婷婷| 中文字幕97| 九九九网站| 日韩在线观看视频网站| 97视频免费在线观看| 日韩一级黄色片| 精品国产一区二区三区久久久蜜臀 | 成人在激情在线视频| 99色视频| 国产高清在线精品一区二区| 一级片片| 四虎影视久久久免费| 欧美a免费| 夜夜操网| 日日爽天天| 精品视频免费观看| 国产成人啪精品视频免费软件| 99热精品在线| 国产a一级| 国产91丝袜高跟系列| 成人av在线播放| 你懂的日韩| 日日夜夜婷婷| 91麻豆精品国产自产在线| 国产91精品一区| 成人av在线播放| 日本伦理片网站| 免费毛片基地| 欧美激情一区二区三区视频高清| 亚洲精品中文一区不卡| 欧美一区二区三区在线观看| 美女被草网站| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 成人影视在线观看| 久草免费在线色站| 国产高清在线精品一区a| 亚洲 激情| 国产麻豆精品| 欧美a级v片不卡在线观看| 国产美女在线观看| 天堂网中文在线| 毛片高清| 天天做日日干| 99久久精品国产高清一区二区| 午夜精品国产自在现线拍| 国产成人欧美一区二区三区的| 成人影院一区二区三区| 欧美国产日韩在线| 精品国产一区二区三区国产馆| 日本免费区| 黄视频网站免费| 国产一区二区精品| 欧美激情一区二区三区在线播放| 日日爽天天| 999久久狠狠免费精品| 国产麻豆精品hdvideoss| 麻豆午夜视频| 国产一区二区精品久久| 亚洲不卡一区二区三区在线| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日韩男人天堂| 精品视频免费看| 中文字幕97| 999久久66久6只有精品| 色综合久久天天综线观看| 99久久视频| 久久精品道一区二区三区| 国产精品1024在线永久免费| 99色视频在线| 日本在线www| 99久久精品费精品国产一区二区| 久久成人性色生活片| 超级乱淫伦动漫| 亚洲女初尝黑人巨高清在线观看| 国产成+人+综合+亚洲不卡| 999久久狠狠免费精品| 精品国产一级毛片| 欧美大片一区| 黄色免费三级| 91麻豆tv| 国产伦理精品| 久久99中文字幕| 亚洲女初尝黑人巨高清在线观看| 欧美大片a一级毛片视频| 国产成人精品影视| 亚洲精品中文字幕久久久久久| 精品久久久久久综合网| 午夜在线观看视频免费 成人| 国产一区二区精品久久91| 欧美日本免费| a级毛片免费观看网站| 国产网站在线| 精品国产一区二区三区精东影业| 亚洲精品久久久中文字| 韩国毛片免费大片| 欧美a级片视频|