1、MySQL導(dǎo)出數(shù)據(jù)
(1)、使用 select ... into outfile 語句導(dǎo)出數(shù)據(jù)
MySQL中你可以使用SELECT...INTO OUTFILE語句來簡單的導(dǎo)出數(shù)據(jù)到文本文件上。并且可以通過命令選項來設(shè)置數(shù)據(jù)輸出的指定格式。
# 語法
SELECT * FROM 表名 INTO OUTFILE '文本文件';
# 例子
SELECT * FROM test INTO OUTFILE '/back/test.txt';
(2)、導(dǎo)出表作為原始數(shù)據(jù)
mysqldump 是 mysql 用于轉(zhuǎn)存儲數(shù)據(jù)庫的實用程序。它主要產(chǎn)生一個 SQL 腳本,其中包含從頭重新創(chuàng)建數(shù)據(jù)庫所必需的命令 CREATE TABLE INSERT 等。
使用 mysqldump 導(dǎo)出數(shù)據(jù)需要使用 --tab 選項來指定導(dǎo)出文件指定的目錄,該目標(biāo)必須是可寫的。
# 將數(shù)據(jù)表 test 導(dǎo)出到 /tes 目錄中:
mysqldump -u root -p123456 --no-create-info --tab=/tes RUNOOB test
(3)、導(dǎo)出 SQL 格式的數(shù)據(jù)
#語法:
# mysqldump -h 服務(wù)器 -u用戶名 -p密碼 數(shù)據(jù)庫名 > 備份文件.sql
#示例:
#單庫備份
mysqldump -uroot -p123456 db1 > db1.sql
mysqldump -uroot -p123456 db1 table1 table2 > db1-table1-table2.sql
#多庫備份
mysqldump -uroot -p123456 --databases db1 db2 mysql db3 > db1_db2_mysql_db3.sql
#備份所有庫
mysqldump -uroot -p123456 --all-databases > all.sql
# 注意: mysqldump是在命令行中輸入,不是在mysql下
2、MySQL導(dǎo)入數(shù)據(jù)
(1)、MySQL命令導(dǎo)入
# 使用 mysql 命令導(dǎo)入語法格式為:
mysql -u用戶名 -p密碼 < 要導(dǎo)入的數(shù)據(jù)庫數(shù)據(jù)(runoob.sql);
# 示例
mysql -uroot -p123 < /backup/all.sql
(2)、source命令導(dǎo)入
# source 命令導(dǎo)入數(shù)據(jù)庫需要先登錄到數(shù)庫終端:
mysql> create database db1; # 創(chuàng)建數(shù)據(jù)庫
mysql> use db1;
mysql> SET SQL_LOG_BIN=0; #關(guān)閉二進(jìn)制日志,只對當(dāng)前session生效
mysql> source /root/db1.sql;
(3)、使用 LOAD DATA 導(dǎo)入數(shù)據(jù)
# 將從當(dāng)前目錄中讀取文件 test.txt ,將該文件中的數(shù)據(jù)插入到當(dāng)前數(shù)據(jù)庫的 test 表中
mysql> LOAD DATA LOCAL INFILE 'test.txt' INTO TABLE mytbl;
# 如果指定LOCAL關(guān)鍵詞,則表明從客戶主機(jī)上按路徑讀取文件。如果沒有指定,則文件在服務(wù)器上按路徑讀取文件。
(4)、使用 mysqlimport 導(dǎo)入數(shù)據(jù)
$ mysqlimport -u root -p123456 --local dbl test.txt
|