網路上已經有許多MySql語法相關的資料可以查詢,但是還是有一些不少用但需要的語法不易查詢,在此筆記一下
1.如何將資料庫各欄位在查詢時將資料以字串型式相加
CONCAT(欄位或字串1, 欄位或字串2, 欄位或字串3, ...)
SELECT a1,COUNT(a2,'/',a3,'/',a4) FROM demo
得到a1,a2/a3/a4
2..如何將兩個查詢欄位的資料以字串-連接
SELECT CONCAT('交易時間:', T_DATE, '@', T_TIME) as T_DATETIME,T_DATE,T_TIME FROM MyTransaction
3.如何使用子查詢
4.如何將欄位的內容以LIKE模糊查詢來連接
SELECT A1.purchases_id,A1.barcode_id,A2.washing_line_bus,A3.shipped_id ,A3.item_no,A3.id FROM purchases_items A1 JOIN washing_line A2 ON A2.barcode_id = A1.barcode_id JOIN shipped_items A3 ON A2.washing_line_bus LIKE CONCAT('%',A3.barcode_id,'%')
5.union如何連接兩個查詢
A表
S01 | S02 | S03
01 |02 |02
01 |01 |02
02 |05 |03
B表
D01|D02|D03
as |aa |a
ad |ss |sd
dd |ss |sd
SELECE `S01` FROM `A表` UNION SELECT `D02` FROM `B表`
01
01
02
ss
ss
參考資料:https://www.1keydata.com/tw/sql/sqlunion.html
6.查詢SQL資料庫連線數量
SHOW PROCESSLIST
7.不使用子查詢,獲得不同的值的方法
SELECT A1.`order_type`,A1.`customer_nickname`,A1.`assign_nickname`,CONCAT(A1.`shipped_id`,'-',A1.`item_no`) it,A2.`driver_name`,A1.`machining_name`,A1.`material_name`,A1.`process_name`,A1.`product_name`,A1.`finished_weight`,A1.`unit`,A1.`memo`,A1.`new_wirediam`,COUNT(A1.`id`) it_c,SUM(CASE A1.rack_from WHEN 'S' THEN 1 ELSE 0 END) S,SUM(CASE A1.rack_from WHEN 'M' THEN 1 ELSE 0 END) M,SUM(CASE A1.rack_from WHEN 'l' THEN 1 ELSE 0 END) L,SUM(CASE A1.rack_from WHEN 'XL' THEN 1 ELSE 0 END) XL FROM `shipped_items` A1 LEFT JOIN `shippeds` A2 ON A1.`shipped_id` = A2.`shipped_id` WHERE A2.`shipped_date` = '2016-09-07' GROUP BY it ORDER BY it ASC
/*
*
*
*/
SUM(CASE A1.rack_from WHEN 'M' THEN 1 ELSE 0 END) M
SUM:SQL語法
CASE:SQL語法
A1.rack_from:資料庫欄位
WHEN:SQL語法
'M':資料內容為M
THEN:SQL語法
1:+1
ELSE:SQL語法
0:+0
END:SQL語法
M:資料顯示抬頭
參考資料:
https://www.cnblogs.com/sicily/archive/2009/03/11/1409130.html
https://www.programmer-club.com.tw/ShowSameTitleN/sqllanguage/613.html
如何用CMD指令備份SQL檔案
D:/mysqldump/bin/mysqldump --single-transaction -uroot -proot mysqldata -h127.0.0.1 >D:/mysqldump/mysqldump.sql
使用D:/mysqldump/bin/裡面的mysqldump指令來備份127.0.0.1的mysqldata資料庫,並將資料存入 D:/mysqldump/mysqldump.sql,SQL帳號root密碼root
使用 IN(xxx,xxx,xxx)來連結複數的關鍵字
SELECT *,SUM(`work_weight`) sum_w,CONCAT(Worksheet_id,'-',work_item) w_i FROM Worksheet WHERE Worksheet_id IN ('PW0170700010','PW0170700011') GROUP BY w_i
請先 登入 以發表留言。