MySQL shell 是 MySQL 數據庫最常用的交互式命令行客戶端,它提供了一些命令來管理 MySQL 數據庫。其中一個重要的命令是SELECT ... INTO OUTFILE
,該命令可以將 SQL 查詢的結果寫入文件中。
SELECT column_name(s) INTO OUTFILE 'file_path' FROM table_name WHERE condition;
在上述命令中,column_name(s)
是要查詢的列名,file_path
是要寫入結果的文件路徑,table_name
是要查詢的表名,condition
是查詢條件。
需要注意的是,導出數據的操作需要至少一個用戶擁有FILE
權限。
如果要導出整個表,可以使用以下命令:
SELECT * INTO OUTFILE 'file_path' FROM table_name;
在導出數據時,還可以指定輸出格式,例如 CSV 格式:
SELECT column_name(s) FROM table_name INTO OUTFILE 'file_path' FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n';
在上方的命令中,FIELDS TERMINATED BY
指定了數據字段之間的分隔符;ENCLOSED BY
指定了數據字段的限定符;LINES TERMINATED BY
則指定了換行符。
除了導出數據外,MySQL shell 還提供了導入數據的命令,即LOAD DATA INFILE
。該命令可以從文件中讀取數據并插入表中。
LOAD DATA INFILE 'file_path' INTO TABLE table_name FIELDS TERMINATED BY ',' ENCLOSED BY '"' LINES TERMINATED BY '\n' (column1, column2, column3, ...);
該命令中,file_path
是數據文件的路徑,table_name
是要插入數據的表名,(column1, column2, column3, ...)
是要插入的列,以逗號分隔。
通過 MySQL shell 導出和導入數據可以方便地進行數據備份和遷移,同時也可以將 MySQL 數據庫中的數據導出到其他數據系統中。