1. SELECT:查詢內容,語法:SELECT 列名稱 FROM 表名稱
為嘉禾等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及嘉禾網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為成都網(wǎng)站制作、成都網(wǎng)站建設、嘉禾網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
2. SELECT DISTINCT 查詢非重復內容,語法:SELECT DISTINCT 列名稱 FROM 表名稱
3. WHERE 查詢條件, 子句中可以指定任何條件,條件與條件之間用and 和 or 隔開
語法:SELECT 列名稱 FROM 表名稱 WHERE條件1 AND 條件2
4. AND 和 OR 運算符,將 WHERE 中的多個條件結合起來。操作符包括:=(等于)、或=!(不等于)、(大于)、(小于)、=(大于等于)、=(小于等于)
空值條件:IS NULL;非空值IS NOT NULL;查詢多個值IN()
5. ORDER BY 排序,默認為升序,字段后加DESC為降序
6. GROUP BY 分組 ,對結果進行分組
7. LEFT JOIN 左連接,兩張表合并保留左表的全部內容,只要掌握左連接
語法:SELECT列名稱 FROM 表1 LEFT JOIN 表2 ON 表1.某列 = 表2.某列
了解:RIGHT JOIN(右連接),INNER JOIN(內連接)、FULL JOIN(全連接)
8. UNION all上下合并,兩張表上下合并(了解)
9. LIKE 模糊查詢(了解)
語法: SELECT 列名稱 FROM 表名稱 WHERE 某列 like “%字符%”
10.SUM 求和
語法:SELECT SUM(列名稱) FROM 表名稱
11. COUNT 計數(shù)
語法:SELECT COUNT(列名稱) FROM 表名稱
12. IF 判斷 語法:同excel
13. MIN,MAX等
14. round 四舍五入
15. concat 字符串連接
16. UPDATE:修改內容,語法:update 表名 set 修改字段= 新內容 where 修改條件
17. substring 字符串截取
18. cast 定義數(shù)值類型(了解)
19. CASE … WHEN … THEN …. END 滿足某一個條件時執(zhí)行/替換,可用于條件計數(shù)
20. DATEDIFF 兩個日期之間間隔的天數(shù)
21. SUBDATE 日期往前數(shù) ,語法:SUBDATE(date,INTERVAL expr unit)
例子:SUBDATE(“2018-10-1”,INTERVAL 1 day) 代表10月1日往前數(shù)1天,結果是9月30;SUBDATE(“2018-10-1”,INTERVAL 1 month) 代表10月1日往前數(shù)1月,結果是2018-9-1
mysql select * from test;
+----+-----+
| id | val |
+----+-----+
| 1 | 1+2 |
| 2 | 2+3 |
| 3 | 3+4 |
+----+-----+
3 rows in set (0.00 sec)
mysql SELECT SUBSTRING_INDEX(val,'+',1) AS a,SUBSTRING_INDEX(val,'+',-1) AS b F
ROM test;
+------+------+
| a | b |
+------+------+
| 1 | 2 |
| 2 | 3 |
| 3 | 4 |
+------+------+
3 rows in set (0.00 sec)
你可以利用這種方法試一下。
update?表名?set?C=substr(B,A,1)
這樣膩?
你A是數(shù)字,不是字符吧?
mysql經(jīng)常會用來查詢特定字段,偶爾會需要展示特定字段中值的某部分,然后還有模糊查詢的時候,如果需要匹配中間的某部分值,這個時候like就很尷尬,會多出一些不相干的記錄
一、獲取特定的幾位:
1、取url字段后三位字符
select SUBSTRING(url, -3) from link;
#這種只能針對固定長度,比說url共8個字符,可以下面這種寫法
select RIGHT(`url`,length(`url`)-5) from link;
2、從左開始第3位?。òǖ谌唬?/p>
select SUBSTRING(url, 3) from link;
3、取左邊的3位
select SUBSTRING(url, 1, 3) from link;
#這種只能針對固定長度,比說url共8個字符,可以下面這種寫法
select LEFT(`url`,length(`url`)-5) from link;
4、中間截?。◤牡?位開始取7位,如sDate字段值是 2013-06-07)
select SUBSTRING(sDate, 1,7) from forumdata;
查詢結果就是 2013-06
二、查詢特定的幾位:
1、正常的模糊查詢
select * from cm_order where ordersn like '%31%';
2、一個字段共有13位,查詢倒數(shù)四五位為31的
select * from cm_order where SUBSTRING(ordersn, 9,2) = 31;
SELECT * from cm_order where RIGHT(`ordersn`,length(`ordersn`)-8) like '31%';
這種如果正常的模糊查詢會出來很多不相干的數(shù)據(jù),但是這種只能針對定長的模糊查詢,效率方面比正常的模糊查詢好很多。
一個表一個表,一個字段一個字段的去查,比如:select * from 表1 where 字段1=值
把表導入到sql文件里面,然后打開這個文件,用"查找"的功能找這個值。但是如果表和數(shù)據(jù)庫很大的話,恐怕也不容易導出和打開這個sql文件。
用左右連接就可以了。left join ,right join ,inner join 關聯(lián)查詢就可以