小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

數(shù)據(jù)庫SQL語句大全——最常用的SQL語句

 網(wǎng)摘文苑 2019-09-12

檢索數(shù)據(jù):

檢索單個列:SELECT pname FROM product 檢索多個列:SELECT pname,market_price,is_hot FROM product 檢索所有列:SELECT * FROM product 過濾檢索結(jié)果中的重復(fù)數(shù)據(jù):SELECT DISTINCT market_price FROM productDISTINCT關(guān)鍵字:1、返回不同的值,使用時放在列名的前面2、多查詢一個及以上列時,除非你查詢的所有列的數(shù)據(jù)都不同,否則所有行都將被檢索出來 限制檢索結(jié)果:SELECT pname FROM product LIMIT 5,5limit5,5指示mysql返回從行5開始的5行記錄

排序檢索數(shù)據(jù):

排序數(shù)據(jù)SELECT pname FROM product ORDER BY pname 按多個列排序數(shù)據(jù)SELECT pid,market_price,pname FROM product ORDER BY market_price,pname按多個列排序時,排序列之間用,隔開,并且按列的順序來排序數(shù)據(jù),先排價格,后排名稱 指定排序方向降序排序(按照價格降序排序)SELECT pid,market_price,pname FROM product ORDER BY market_price DESC 升序排序(mysql查詢時默認(rèn)就是升序排序)SELECT pid,market_price,pname FROM product ORDER BY market_price ASC 找出價格最貴的商品(使用order BY 和limit關(guān)鍵字)SELECT market_price FROM product ORDER BY market_price DESC LIMIT 1

過濾數(shù)據(jù):

使用WHERE子句 價格等于19800的商品SELECT pname,market_price FROM product WHERE market_price=19800 價格小于于19800的商品SELECT pname,market_price FROM product WHERE market_price<19800 價格大于800的商品SELECT pname,market_price FROM product WHERE market_price>800 價格在800到10000之間SELECT pname,market_price FROM product WHERE market_price BETWEEN 800 AND 10000 where中的操作符有以下幾個= 等于<> 不等于!= 不等于< 小于<= 小于等于> 大于>= 大于等于BETWEEN 在指定的兩個值之間

數(shù)據(jù)過濾:

組合where語句 and操作符(同時符合where后面的條件)SELECT pname,market_price FROM product WHERE market_price>1000 AND is_hot=0 or操作符(只需要符合where后面的一個條件的結(jié)果都會顯示出來)SELECT pname,market_price FROM product WHERE market_price>1000 OR is_hot=0 IN操作符(用來指定條件范圍)SELECT pname,market_price FROM product WHERE market_price IN(238,19800,1120) ORDER BY pname NOT操作符(否定它之后所跟的條件)SELECT pname,market_price FROM product WHERE market_price NOT IN(238,19800,1120) ORDER BY pname

用通配符進(jìn)行過濾

like操作符(通配符 模糊搜索) %通配符(找出product表中所有商品名以韓版開頭的商品)SELECT pname FROM product WHERE pname LIKE '韓版%' 找出product表中商品名稱含有“女”的商品,不管開頭結(jié)尾是什么內(nèi)容SELECT pname FROM product WHERE pname LIKE '%女%' 下劃線_通配符(用途和%一樣,不過_只匹配單個字符) SELECT pname,market_price FROM product WHERE market_price LIKE '_99'

正則表達(dá)式搜索

基本字符串匹配 SELECT pname FROM product WHERE pname REGEXP '韓版' ORDER BY pname使用正則表達(dá)式需要用REGEXP關(guān)鍵字,并在REGEXP后面跟上正則表達(dá)式內(nèi)容 SELECT pname FROM product WHERE pname REGEXP '.版' ORDER BY pname.是正則表達(dá)式語言中一個特殊的字符。它表示匹配任意一個字符 Mysql中的正則表達(dá)式不區(qū)分大小寫,如果要區(qū)分大小寫可以使用BINARYSELECT pname FROM product WHERE pname REGEXP BINARY 'Abc' ORDER BY pname OR匹配SELECT pname FROM product WHERE pname REGEXP 'a|b' 幾種常見的正則表達(dá)式[0-9] 匹配0-9之間的數(shù)字[123] Ton 匹配1 Ton或者2 Ton或者3 Ton\\. 匹配特殊字符.[:alnum:] 任意字母和數(shù)字(同[a-zA-Z0-9])[:alpha:] 任意字符(同[a-zA-Z])[:blank:] 空格和制表(同[\\t])[:cntrl:] ASCII控制字符(ASCII 0到31和127)[:digit:] 任意數(shù)字(同[0-9])[:graph:] 與[:print:]相同,但不包括空格[:LOWER:] 任意小寫字母(同[a-z])[:print:] 任意可打印字符[:punct:] 既不在[:alnum:]又不在[:cntrl:]中的任意字符[:SPACE:] 包括空格在內(nèi)的任意空白字符(同[\\f\\n\\r\\t\\v])[:UPPER:] 任意大寫字母(同[A-Z])[:xdigit:] 任意十六進(jìn)制數(shù)字(同[a-fA-F0-9])  匹配多個實例* 0個或多個匹配+ 1個或多個匹配(等于{1,})? 0個或1個匹配(等于{0,1}){n} 指定數(shù)目的匹配{n,} 不少于指定數(shù)目的匹配{n,m} 匹配數(shù)目的范圍(m不超過255)  定位符^ 文本的開始$ 文本的結(jié)尾[[:<:]] 詞的開始[[:>:]] 詞的結(jié)尾

創(chuàng)建計算字段

連接字段(將商品名稱和商品價格連接起來)SELECT CONCAT(pname,'(',market_price,')') FROM product ORDER BY pnameCONCAT()需要一個或多個指定的串,各個串之間用逗號分隔。 AS 給字段賦予別名SELECT CONCAT(pname,'(',market_price,')') AS nameAndPrice FROM product ORDER BY pname 執(zhí)行算術(shù)運算SELECT pname,market_price,shop_price,market_price+shop_price AS sumprice FROM product  

使用數(shù)據(jù)處理函數(shù)

文本處理函數(shù)LEFT() 返回串左邊的字符LENGTH() 返回串的長度LOCATE() 找出串的一個子串LOWER() 將串轉(zhuǎn)換為小寫LTRIM() 去掉串左邊的空格RIGHT() 返回串右邊的字符RTRIM() 去掉串右邊的空格SOUNDEX() 返回串的SOUNDEX值SUBSTRING() 返回子串的字符UPPER() 將串轉(zhuǎn)換為大寫  日期和時間處理函數(shù)ADDDATE() 增加一個日期(天、周等)ADDTIME() 增加一個時間(時、分等)CURDATE() 返回當(dāng)前日期CURTIME() 返回當(dāng)前時間DATE() 返回日期時間的日期部分DATEDIFF() 計算兩個日期之差DATE_ADD() 高度靈活的日期運算函數(shù)DATE_FORMAT() 返回一個格式化的日期或時間串DAY() 返回一個日期的天數(shù)部分DAYOFWEEK() 對于一個日期,返回對應(yīng)的星期幾HOUR() 返回一個時間的小時部分MINUTE() 返回一個時間的分鐘部分MONTH() 返回一個日期的月份部分NOW() 返回當(dāng)前日期和時間SECOND() 返回一個時間的秒部分TIME() 返回一個日期時間的時間部分YEAR() 返回一個日期的年份部分  數(shù)值處理函數(shù)ABS() 返回一個數(shù)的絕對值COS() 返回一個角度的余弦EXP() 返回一個數(shù)的指數(shù)值MOD() 返回除操作的余數(shù)PI() 返回圓周率RAND() 返回一個隨機(jī)數(shù)SIN() 返回一個角度的正弦SQRT() 返回一個數(shù)的平方根TAN() 返回一個角度的正切

匯總數(shù)據(jù)

聚集函數(shù)AVG() 返回某列的平均值COUNT() 返回某列的行數(shù)MAX() 返回某列的最大值MIN() 返回某列的最小值SUM() 返回某列值之和 SELECT AVG(market_price) FROM product SELECT MAX(market_price) FROM product SELECT SUM(market_price) FROM product

分組數(shù)據(jù)

分組函數(shù)GROUP BY 按照名稱分組,查詢出表中相同名稱的商品各有多少件SELECT pname,COUNT(*) FROM product GROUP BY pname HAVING 過濾分組SELECT pname,COUNT(*) FROM product GROUP BY pname HAVING COUNT(*)>2 HAVING和WHERE的差別 這里有另一種理解方法,WHERE在數(shù)據(jù)分組前進(jìn)行過濾,HAVING在數(shù)據(jù)分組后進(jìn)行過濾。這是一個重要的區(qū)別,WHERE排除的行不包括在分組中。這可能會改變計算值,從而影響HAVING子句中基于這些值過濾掉的分組。 SELECT語句的執(zhí)行順序 SELECT 要返回的列或表達(dá)式 是FROM 從中檢索數(shù)據(jù)的表 僅在從表選擇數(shù)據(jù)時使用WHERE 行級過濾 否GROUP BY 分組說明 僅在按組計算聚集時使用HAVING 組級過濾 否ORDER BY 輸出排序順序 否LIMIT 要檢索的行數(shù) 否


    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多