Mysql命令行導入sql數據


mysqldump  是在  操作系統命令行下運行的,不是在 MySQL 命令行下運行的。

登陸數據庫:

登陸本地mysql : mysql -h localhost -u root -p123456

登陸到指定的數據庫  mysql -h 192.168.1.68 -u root -p123456 ppos_center

 

進入MySQL目錄下的bin文件夾,

如:D:\xampp\mysql\bin>

一般形式:mysqldump -h IP -u 用戶名 -p 數據庫名 > 導出的文件名

 

一:數據庫的導出(備份)

 

0:(備份數據庫即導出所有表以及數據 不加-d)

 

mysqldump -h localhost -u root -p gogs> G:\aa\gogs.sql

 

數據庫導出,前提是保存位置有寫的權限
xiao@ubuntu:/usr/local/mysql/bin$ mysqldump -uroot papaid > /data/www-data/test/papaid.sql
xiao@ubuntu:/usr/local/mysql$ mysqldump -uroot gogs > /data/www-data/test/gogs.sql

D:\xampp\mysql\bin>mysqldump -uroot -p123456 papaid > I:\aa\papaid.sql
mysql>source I:\aa\ppos_center.sql 

1:(備份數據庫即導出所有表結構)

D:\xampp\mysql\bin>mysqldump -h localhost -u root -p -d gogs> G:\aa\gogs.sql

ENTER PASSWORD:******

 

 

mysqldump -u dbuser -p -d --add-drop-table dbname >d:/dbname_db.sql
-d 沒有數據 --add-drop-table 在每個create語句之前增加一個drop table

2 :(導出某張表的表結構不含數據)

 

mysqldump -h localhost -u root -p -d test pollution > G:\arcgisworkspace\zypdoc\test.sql

 

3:(導出某張表的表結構和數據,不加-d)

 

mysqldump -h 192.168.1.68 -u root -p123456 gogs user> G:\aa\user.sql

0:備份多個數據庫的語法

 

D:\xampp\mysql\bin>mysqldump -h 127.0.0.1 -u root -p --databases gogs papaid> G:\aa\test.sql

1:備份所有的數據庫的語法

D:\xampp\mysql\bin>mysqldump -h 127.0.0.1 -u root -p --all -databases > G:\aa\test.sql(暫時沒有通過,不知道為什呢)

二:數據庫的導入(還原)

 

0:導入數據庫(首先得創建數據,再導入)

D:\xampp\mysql\bin>mysql -h localhost -u root -p(進入mysql下面)

create database abc;(創建數據庫)

show databases;(就可看到所有已經存在的數據庫,以及剛剛創建的數據庫abc)

use abc;(進入abc數據庫下面)

show tables;(產看abc數據庫下面的所有表,空的)

source G:\aa\test.sql(導入數據庫表)

show tables;(查看abc數據庫下面的所有表,就可以看到表了)

desc pollution;(查看表結構設計)

select * from pollution;

exit(或者ctrl + c)退出mysql

 

三:MYSQL如何導出文本文件  (備份為csv,txt,等,更加有用)

 

0:mysql 下導出為指定格式的數據的外部任意文件類型  mysql> 

 

use dbname 

 

Database Changed 

 

select * from pollution into outfile 'G:\\arcgisworkspace\\zypdoc\\text.txt'; (指導出數據的,注意轉義字符哦)

 

select * from pollution into outfile 'G:\\arcgisworkspace\\zypdoc\\text.csv' FIELDS TERMINATED BY '\,'; (輸出格式控制)

select * from ppos_seq into outfile 'I:\\aa\\ppos_seq.txt';
select * from ppos_seq into outfile 'I:\\aa\\ppos_seq.csv';
select * from ppos_seq into outfile 'I:\\aa\\ppos_seq2.csv' FIELDS TERMINATED BY '\,';

 

結果為:

1,汽車尾氣,200

2,建築揚沙,180

3,汽車噴漆,160

4,燃煤,240

5,其它,80

知識補充:

一般形式:select [列名稱] from tablename [where] into outfile '目標文件路徑' [option]

其中option參數常用的5個選項

FIELDS TERMINATED BY ‘字符串’:設置字符串為字段的分割符,默認值為 \t;

FIELDS ENCLOSED BY ‘字符’:設置字符串括上char varchar text等字符型字段,默認值為 無任何符號;

FIELDS OPTIONALLY ENCLOSED BY ‘字符’:設置字符串括上字段的值,默認值為 無任何符號;

LINES STARTING BY ‘字符串’:設置每一行開頭的字符,默認值為 無任何字符;

FIELDS ESCAPED BY ‘字符’:設置轉義字符,默認值為 \;

LINES TERMINATED BY ‘字符串’:設置每行結束符,默認值為 \n;

如:

select * from pollution into outfile 'G:\\arcgisworkspace\\zypdoc\\text2.csv'
FIELDS TERMINATED BY '\,' OPTIONALLY ENCLOSED BY '\"'
LINES STARTING BY '\>' TERMINATED BY '\r\n';

結果為:

>1,"汽車尾氣","200"
>2,"建築揚沙","180"
>3,"汽車噴漆","160"
>4,"燃煤","240"
>5,"其它","80"

1:mysqldump 下導出為指定格式的數據的外部任意文件類型  D:\xampp\mysql\bin>

mysqldump -u root -p -T G:\arcgisworkspace\zypdoc\ abc pollution "--fields-terminated-by=," (記住不要任何多余的空格,也不用轉移字符;-p后面也不用寫password;

注意目標目錄是文件夾,文件名是表名,后綴是txt文件)


知識補充:

mysqldump -u root -p -T 目標目錄 dbname tablename [option]

option 和 上面的mysql的一樣,只是更改為

"--fields-terminated-by=字符"(不要任何多余的空格,就是指fields-terminated-by緊密相連的)

四:MYSQL如何導入文本文件  (更加有用)

(1)mysql 下導出為指定格式的數據的外部任意文件類型  mysql> 

第一步:創建對應字段的數據表

    create table csv_test2(  
    id int(8) primary key,  
    name varchar(64),  
    value int(32)  
    );  

(2)插入:加入value的類型開始時設計錯了,如何更改:ALTER table csrv_test2 MODIFY column value varchar(32);

(3)第二步:導入外部數據

    LOAD DATA INFILE 'D:\\tjdata_metro\\test\\mysql_infile3.csv'  
    INTO TABLE csv_test2  
    FIELDS TERMINATED BY '\,'  
    OPTIONALLY ENCLOSED BY '\"'  
    LINES TERMINATED by'\r\n'  
    ignore 1 lines  
    (id,name,value);  

上面的 lines terminated by '\r\n' 是 要求換行符號,為 windows的換行
上面的 ignore 1 lines是 忽略第一行的標題行。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM