1.前言
into outfile命令是常見的數據進行導入和導出工具,這里主要是介紹一下它的使用用法
2.使用select xxxx into outfile --- load data 進行數據遷移
說明:該命令一般用於對某張表進行數據導出操作,且導出的只是數據,而不包括數據結構。因此,在使用這個命令的時候,我們在導入數據之前需要先創建好表結構文件(也就是創表語句),然后再使用load data infile 'file_name' into table table_name語句進行數據導入。
secure_file_priv參數說明:
這個參數用來限制數據導入和導出操作的效果,例如執行LOAD DATA、SELECT … INTO OUTFILE語句和LOAD_FILE()函數。這些操作需要用戶具有FILE權限
如果這個參數為空,這個變量沒有效果; 如果這個參數設為一個目錄名,MySQL服務只允許在這個目錄中執行文件的導入和導出操作。這個目錄必須存在,MySQL服務不會創建它; 如果這個參數為NULL,MySQL服務會禁止導入和導出操作。這個參數在MySQL 5.7.6版本引入。
3.實戰
##導出語句 -->select * from titles into outfile '/tmp/titles1.csv' fields terminated by ',' optionally enclosed by '"' lines terminated by '\n'; ##這里要先建表結構文件(用創表語句),跨庫進行創建表結構 -->create table db1.tablename like db2.tablename; ##導入語句 -->load data infile '導出是的文件的絕對路徑' into table table_name ##注意以上命令都是在mysql客戶端中執行,而不是linux系統命令下