mysql 資料庫使用命令進行匯入匯出

2022-07-26 10:57:08 字數 4580 閱讀 8643

mysql 資料庫匯入匯出方法總結

注意:mysqldump  是在作業系統命令列下執行的(cmd)。

不是在 mysql 命令列下執行的,cmd進入mysql目錄下的bin資料夾,如:c:\program files\mysql\mysql server 5.5\bin>

(1)-p 後面不能加password,只能單獨輸入資料庫密碼(或不輸入);

(2)mysqldump是在cmd下的命令,不能再mysql下面,即不能進入mysql的(即use dpname下,得exit退出mysql下才可以的。)

一:資料庫的匯出(備份)

0:(備份資料庫即匯出所有表以及資料 不加-d)

mysqldump -h localhost -u root -p test > g:\arcgisworkspace\zypdoc\test.sql

1:(備份資料庫即匯出所有表結構)

enter password:******

2 :(匯出某張表的表結構不含資料)

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

3:(匯出某張表的表結構和資料,不加-d)

mysqldump -h 127.0.0.1 -u root -p test pollution > g:\arcgisworkspace\zypdoc\test.sql

0:備份多個資料庫的語法c:\program files\mysql\mysql server 5.5\bin>

mysqldump -h 127.0.0.1 -u root -p --databases test bank > g:\arcgisworkspace\zypdoc\test.sql

0:匯入資料庫(首先得建立資料,再匯入)c:\program files\mysql\mysql server 5.5\bin>

mysql -h localhost -u root -p(進入mysql下面)

create database abc;(建立資料庫)

show databases;(就可看到所有已經存在的資料庫,以及剛剛建立的資料庫abc)

use abc;(進入abc資料庫下面)

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

source g:\arcgisworkspace\zypdoc\test.sql(匯入資料庫表)

show tables;(檢視abc資料庫下面的所有表,就可以看到表了)

desc pollution;(檢視表結構設計)

select * from pollution;

exit(或者ctrl + c)退出mysql

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 '\,'; (輸出格式控制)

結果為:

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'

lines starting by '\>' terminated by '\r\n';

結果為:

1:mysqldump 下匯出為指定格式的資料的外部任意檔案型別  c:\program files\mysql\mysql server 5.5\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緊密相連的)

(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

1lines

(id,name,value);

上面的 lines terminated by '\r\n' 是 要求換行符號,為 windows的換行

上面的 ignore 1 lines是 忽略第一行的標題行。

五:資料的效能優化

(1) 使用索引優化查詢:提高查詢的速度;但是一定要避開批量插入之後再建立索引;並且要避免%開頭的應用: where name like '%zz'

(2)優化資料庫結構:將字段很多的表分解為多個表,某些欄位的使用頻率非常低,可以拆開;

(3)有些時候會頻繁的使用某幾個表的某些字段,而聯合查詢速度會很慢的,這就需要建立中間表或者檢視 了

如:做乙個購物車,已經做好了乙個使用者表,乙個物品表,具體的字段見圖;想建立另乙個表shopcar,其中包括goods表中的goodsname,goodsprice、users表中的username

) (4)資料庫中的檢視和中間表的比較(不是很了解)

(5)臨時表:你做的查詢希望幾個表關聯起來聯合查詢組成乙個新的「虛擬表」時,會用到;最通俗的,就是你做多表連線的時候,多個巢狀子查詢看起來會比較亂,分割存入

臨時表看著比較清晰,運用也比較靈活

docker進入mysql資料庫並進行匯入 匯出

一 匯入 1.首先檢視docker執行的容器 docker ps2.將宿主機檔案拷貝到docker容器中 docker cp 2020415.sql af491d5466ea opt 2020415.sql 說明 docker cp 宿主機檔案路徑 容器id 容器目錄 3.進入容器中 docker ...

MySQL 資料庫使用命令大全

系統環境 ubuntu14.04 資料庫軟體 mysql 1 進入mysql mysql u root p第一次進入mysql沒有密碼直接回車 2 第一次設定root密碼 set password for root localhost password newpass 3 更改密碼 mysqladm...

用命令建立MySQL資料庫

伺服器或vps使用者如何用命令建立mysql資料庫 一 連線mysql 格式 mysql h主機位址 u使用者名稱 p使用者密碼 1 連線到本機上的mysql。首先開啟dos視窗,然後進入目錄mysql bin,再鍵入命令mysql u root p,回車後提示你輸密碼.注意使用者名稱前可以有空格也...