共計 2837 個字符,預計需要花費 8 分鐘才能閱讀完成。
MySQL 中有哪些語句收集,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
導出數據庫
說到導出數據庫,大家肯定能 mysqldump,由于 mysqldump 使用時涉及到比較多的參數,所以在使用 mysqldump 時對這些參數基本記不全,那么我們先來熟悉一下常用的參數,如下表:
(1) 導出整個數據庫
mysqldump ndash;uroot ndash;p111111 ndash;h272.30.14.242 dbname mydb.sql
(2) 導出存儲過程及函數
mysqldump ndash;uroot ndash;p111111 ndash;h272.30.14.242 -ntd-R dbname prorfunc.sql
(3) 導出數據庫表
mysqldump ndash;uroot ndash;p111111 ndash;h272.30.14.242 dbnametablename mydb.sql
若只需要導出表結構,可以增加參數 - d 或者 ndash;no-data
若只需要導出表數據,可以增加參數 - t 或者 –no-create-info
導入數據庫
(1) 未連接數據庫時導入
mysql ndash;uroot ndash;p111111 ndash;h272.30.14.242 dbname mydb.sql
(2) 連接數據庫時導入
連接數據庫 mysql ndash;uroot ndash;p111111 ndash;h272.30.14.242 指定客戶端和服務器之間傳遞字符的編碼規則為 utf8 set names utf8 使用數據庫 use dbname 導入數據庫 source /tmp/mydb.sql
其他數據導出 / 導入方式
SELECT INTO hellip;OUTFILE 語句把表數據導出到一個文本文件中,并用 LOAD DATA hellip;INFILE 語句恢復數據。但是這種方法只能導出或導入數據的內容,不包括表的結構。
(1) SELECT INTO hellip; OUTFILE 導出數據
SELECT * FROM mytable INTO OUTFILE /tmp/mytable.txt
可以通過命令選項來設置數據輸出的指定格式,如下語句為導出 CSV 格式:
SELECT * FROM mytable INTO OUTFILE /tmp/mytable.txt FIELDS TERMINATED BY , ENCLOSED BY LINESTERMINATED BY \r\n
FIELDS 子句:在 FIELDS 子句中有三個亞子句:TERMINATED BY、[OPTIONALLY] ENCLOSED BY 和 ESCAPED BY。如果指定了 FIELDS 子句,則這三個亞子句中至少要指定一個。
TERMINATED BY 用來指定字段值之間的符號;
ENCLOSED BY 子句用來指定包裹文件中字符值的符號;
ESCAPED BY 子句用來指定轉義字符。
LINES 子句:在 LINES 子句中使用 TERMINATED BY 指定一行結束的標志。
(2) LOAD DATA hellip; INFILE 導入數據
LOAD DATA LOCAL INFILE dump.txt INTOTABLE mytable FIELDS TERMINATED BY : LINES TERMINATED BY \r\n
LOAD DATA 默認情況下是按照數據文件中列的順序插入數據的,如果數據文件中的列與插入表中的列不一致,則需要指定列的順序。如,在數據文件中的列順序是 a,b,c,但在插入表的列順序為 b,c,a,則數據導入語法如下:
LOAD DATA LOCAL INFILE mytable.txt INTO TABLE mytable (b, c, a)
字符串操作
(1) 字符串拼接
1)CONCAT(s1,s2,…) 函數
將所有字符串拼接在一起
語句:SELECT CONCAT(2019 , 06 , 18); 執行結果:20190618
2)CONCAT_WS(s,s1,s2,…) 函數
通過 *** 個字符串 s 將后面的所有字符串拼接在一起
語句:SELECT CONCAT_WS(- , 2019 , 06 , 18 執行結果:2019-06-18
(2) 字符串替換
REPLACE(s,s1,s2) 函數
將字符串 s 中的 s1 字符串替換為 s2 字符串
語句:SELECT REPLACE(helloname , name , world 執行結果:hello world
時間函數
(1) 時間轉字符串
DATE_FORMAT 函數用于以不同的格式顯示日期 / 時間數據
語法:DATE_FORMAT(date,format)
format 規定日期 / 時間的輸出格式。
示例:
語句:select DATE_FORMAT(now(), %Y-%m-%d %T 執行結果:2019-07-09 15:35:19 語句:select DATE_FORMAT(now(), %Y-%m-%d %H:%i:%s 執行結果:2019-07-09 15:36:02
(2) 字符串轉時間
STR_TO_DATE 用于將字符轉化為日期 / 時間格式
語法:STR_TO_DATE(string, format)
語句:SELECT STR_TO_DATE(2019 07 07 , %Y %m %d 執行結果:2019-07-07
(3) 時間運算
函數從日期加上指定的時間間隔
DATE_ADD(date,INTERVAL expr type)
函數從日期減去指定的時間間隔
DATE_SUB(date,INTERVAL expr type)
type 可取值為:
SECOND、MINUTE、HOUR、DAY、WEEK、MONTH、QUARTER、EAR
示例:
語句:SELECT DATE_ADD(now(),INTERVAL 2 DAY); 執行結果:2019-07-11 15:48:36 語句:SELECT DATE_SUB(now(),INTERVAL 2 DAY); 執行結果:2019-07-07 15:48:36
浮點數運算后的精度控制
(1) 轉化指定精度的字符串
FORMAT 函數在 mysql 中是數據內容格式化,可以格式化數據為整數或者浮點數, 整數部分超過三位的時候以逗號分割,并且返回的結果是 string 類型的。
語句:SELECT FORMAT(1012.232,2); 執行結果:1,012.23
(2) 轉化指定精度的浮點數
FORMAT 函數返回的是字符串形式數據,若要返回浮點數,我們使用 CONVERT 函數。
語句:SELECT CONVERT(1012.232, decimal(12,2)); 執行結果:1012.23
看完上述內容,你們掌握 MySQL 中有哪些語句收集的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注丸趣 TV 行業資訊頻道,感謝各位的閱讀!