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