網路上已經有許多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

qq

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 

 

創作者介紹
創作者 蓋瑞修特的筆記 的頭像
蓋瑞修特

蓋瑞修特的筆記

蓋瑞修特 發表在 痞客邦 留言(0) 人氣( 50 )