Mysql導(dǎo)入導(dǎo)出工具M(jìn)ysqldump和Source命令用法詳解
更新時(shí)間:2012年09月16日 00:46:26 作者:
Mysql本身提供了命令行導(dǎo)出工具M(jìn)ysqldump和Mysql Source導(dǎo)入命令進(jìn)行SQL數(shù)據(jù)導(dǎo)入導(dǎo)出工作,通過Mysql命令行導(dǎo)出工具M(jìn)ysqldump命令能夠?qū)ysql數(shù)據(jù)導(dǎo)出為文本格式(txt)的SQL文件,通過Mysql Source命令能夠?qū)QL文件導(dǎo)入Mysql數(shù)據(jù)庫(kù)中,下面通過Mysql導(dǎo)入導(dǎo)出SQL實(shí)例詳解Mysqldump和Source命令的用法
在PHP網(wǎng)站開發(fā)中,時(shí)常遇到Mysql數(shù)據(jù)庫(kù)備份或數(shù)據(jù)庫(kù)遷移工作,這時(shí)Mysql怎么導(dǎo)入導(dǎo)出數(shù)據(jù)庫(kù)中的數(shù)據(jù)就非常關(guān)鍵,Mysql本身提供了命令行導(dǎo)出工具M(jìn)ysqldump和Mysql Source導(dǎo)入命令進(jìn)行SQL數(shù)據(jù)導(dǎo)入導(dǎo)出工作,通過Mysql命令行導(dǎo)出工具M(jìn)ysqldump命令能夠?qū)ysql數(shù)據(jù)導(dǎo)出為文本格式(txt)的SQL文件,通過Mysql Source命令能夠?qū)QL文件導(dǎo)入Mysql數(shù)據(jù)庫(kù)中,下面通過Mysql導(dǎo)入導(dǎo)出SQL實(shí)例詳解Mysqldump和Source命令的用法。
Mysql命令行導(dǎo)出工具M(jìn)ysqldump命令詳解
Mysql命令行導(dǎo)出工具M(jìn)ysqldump.exe默認(rèn)存放在Mysql安裝目錄中的bin子目錄下,在使用Mysqldump導(dǎo)出數(shù)據(jù)庫(kù)時(shí),首先請(qǐng)確保Mysql服務(wù)已啟動(dòng)。
M
ysqldump導(dǎo)出命令基礎(chǔ)用法
默認(rèn)Mysqldump導(dǎo)出的SQL文件中不但包含了導(dǎo)出的數(shù)據(jù),還包括導(dǎo)出數(shù)據(jù)庫(kù)中所有數(shù)據(jù)表的結(jié)構(gòu)信息。
另外使用Mysqldump導(dǎo)出的SQL文件如果不帶絕對(duì)路徑,默認(rèn)是保存在bin目錄下的。
–opt:此Mysqldump命令參數(shù)是可選的,如果帶上這個(gè)選項(xiàng)代表激活了Mysqldump命令的quick,add-drop-table,add-locks,extended-insert,lock-tables參數(shù),也就是通過–opt參數(shù)在使用Mysqldump導(dǎo)出Mysql數(shù)據(jù)庫(kù)信息時(shí)不需要再附加上述這些參數(shù)。
–quick:代表忽略緩沖輸出,Mysqldump命令直接將數(shù)據(jù)導(dǎo)出到指定的SQL文件。
–add-drop-table:顧名思義,就是在每個(gè)CREATE TABEL命令之前增加DROP-TABLE IF EXISTS語句,防止數(shù)據(jù)表重名。
–add-locks:表示在INSERT數(shù)據(jù)之前和之后鎖定和解鎖具體的數(shù)據(jù)表,你可以打開Mysqldump導(dǎo)出的SQL文件,在INSERT之前會(huì)出現(xiàn)LOCK TABLES和UNLOCK TABLES語句。
–extended-insert (-e):此參數(shù)表示可以多行插入。
更多的Mysqldump命令參數(shù)你可以通過
Mysqldump --help
命令查看Mysqldump包含的所有參數(shù)以及參數(shù)的支持情況。
Mysqldump導(dǎo)出命令實(shí)例如下
Mysql數(shù)據(jù)庫(kù)安裝后默認(rèn)包含mysql數(shù)據(jù)庫(kù),我就以此數(shù)據(jù)庫(kù)為例來演示Mysqldump的各種導(dǎo)出實(shí)例。
使用Mysqldump導(dǎo)出數(shù)據(jù)庫(kù)
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump -u root -p --opt mysql >D:\PHPWeb\sqlbackup\mysql.sql
Enter password: ******
使用Mysqldump導(dǎo)出單個(gè)表
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump -u root -p --opt mysql user >D:\PHPWeb\sqlbackup\mysql_user.sql
Enter password: ******
使用Mysqldump導(dǎo)出數(shù)據(jù)表結(jié)構(gòu)
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump -u root -p --no-data mysql user >D:\PHPWeb\sqlbackup\mysql_user.sql
Enter password: ******
說明:Mysqldump命令參數(shù) –no-data顧名思義代表Mysqldump導(dǎo)出的數(shù)據(jù)中不含有INSERT數(shù)據(jù),僅僅只是Mysql數(shù)據(jù)庫(kù)表user的結(jié)構(gòu)信息。對(duì)于這個(gè)參數(shù)你也可以使用-d來表示。
使用Mysqldump導(dǎo)出指定條件的數(shù)據(jù)
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump -u root -p "--where= user= 'root'" mysql user >D:\PHPWeb\sqlbackup\mysql_user.sql
Enter password: ******
說明:在這個(gè)Mysqldump導(dǎo)出實(shí)例中,通過設(shè)定Mysqldump命令參數(shù) –where=conditions設(shè)定導(dǎo)出的INSERT數(shù)據(jù)條件為user表中user字段為root的INSERT記錄。通過這個(gè)參數(shù)你可以根據(jù)需要選用Mysqldump導(dǎo)出自己想要的數(shù)據(jù),非常方便。注意在這個(gè)where選項(xiàng)前后都需要使用雙引號(hào),具體的條件可以使用單引號(hào),否則在解析Mysqldump命令行參數(shù)時(shí)會(huì)出錯(cuò),另外你也可以指定多個(gè)where參數(shù)。
Mysql數(shù)據(jù)庫(kù)導(dǎo)入命令Source詳解
Mysql最常用的數(shù)據(jù)庫(kù)導(dǎo)入命令就是Source,Source命令的用法非常簡(jiǎn)單,首先你需要進(jìn)入Mysql數(shù)據(jù)庫(kù)的命令行管理界面,然后選擇需要導(dǎo)入的數(shù)據(jù)庫(kù),即
USER 數(shù)據(jù)庫(kù)
source 已導(dǎo)出的SQL文件
注意需要導(dǎo)入的SQL文件的具體目錄地址,最好使用/。
至此Mysql命令行導(dǎo)出工具M(jìn)ysqldump命令以及Mysql導(dǎo)入命令Source的用法就介紹完了,相對(duì)于Mysql Source命令,Mysqldump導(dǎo)出功能更豐富,合理利用Mysqldump命令參數(shù)能夠?qū)崿F(xiàn)不同的效果。
mysqldump命令導(dǎo)出數(shù)據(jù)用法詳解
在平時(shí)的mysql應(yīng)用中,總會(huì)碰到導(dǎo)入數(shù)據(jù),導(dǎo)出數(shù)據(jù),當(dāng)然有很多方法,這篇文章,主要介紹應(yīng)用mysqlmysqldump命令進(jìn)行數(shù)據(jù)導(dǎo)入導(dǎo)出,希望對(duì)大家有所幫助。
mysqldump命令中帶有一個(gè) --where/-w 參數(shù),它用來設(shè)定數(shù)據(jù)導(dǎo)出的條件,使用方式和SQL查詢命令中中的where基本上相同,有了它,我們就可以從數(shù)據(jù)庫(kù)中導(dǎo)出你需要的那部分?jǐn)?shù)據(jù)了。
1.命令格式如下:
mysqldump -u用戶名 -p密碼 數(shù)據(jù)庫(kù)名 表名 --where="篩選條件" > 導(dǎo)出文件路徑
例子:
從test數(shù)據(jù)庫(kù)的test_data表中導(dǎo)出id大于100的數(shù)據(jù)到 /tmp/test.sql 這個(gè)文件中
mysqldump -uroot -p123456 test test_data --where=" id > 100" > /tmp/test.sql
2.導(dǎo)出整個(gè)數(shù)據(jù)庫(kù)
mysqldump -u 用戶名 -p 數(shù)據(jù)庫(kù)名 > 導(dǎo)出的文件名
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
3.導(dǎo)出一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 沒有數(shù)據(jù) --add-drop-table 在每個(gè)create語句之前增加一個(gè)drop table
導(dǎo)出庫(kù)表(mysqldump)條件
mysqldump -u用戶名 -p密碼 -h主機(jī) 數(shù)據(jù)庫(kù) a -w “sql條件” –lock-all-tables > 路徑
1 mysqldump -hhostname -uusername -p dbname tbname>xxxx.sql
** 按指定條件導(dǎo)出數(shù)據(jù)庫(kù)表內(nèi)容。(-w選項(xiàng) –where)
1 mysqldump -hhostname -uusername-p dbname tbname -w'id >= 1 and id<= 10000'--skip-lock-tables > xxxx.sql
或
1 mysqldump -hhostname -uusername -p dbname tbname --where='unit_id >= 1 and unit_id <= 10000'> ~/xxxx.sql
Mysql命令行導(dǎo)出工具M(jìn)ysqldump命令詳解
Mysql命令行導(dǎo)出工具M(jìn)ysqldump.exe默認(rèn)存放在Mysql安裝目錄中的bin子目錄下,在使用Mysqldump導(dǎo)出數(shù)據(jù)庫(kù)時(shí),首先請(qǐng)確保Mysql服務(wù)已啟動(dòng)。
M
ysqldump導(dǎo)出命令基礎(chǔ)用法
復(fù)制代碼 代碼如下:
mysqldump -u 用戶名 -p [--opt] DATABASENAME [Table] >導(dǎo)出SQL文件名
默認(rèn)Mysqldump導(dǎo)出的SQL文件中不但包含了導(dǎo)出的數(shù)據(jù),還包括導(dǎo)出數(shù)據(jù)庫(kù)中所有數(shù)據(jù)表的結(jié)構(gòu)信息。
另外使用Mysqldump導(dǎo)出的SQL文件如果不帶絕對(duì)路徑,默認(rèn)是保存在bin目錄下的。
–opt:此Mysqldump命令參數(shù)是可選的,如果帶上這個(gè)選項(xiàng)代表激活了Mysqldump命令的quick,add-drop-table,add-locks,extended-insert,lock-tables參數(shù),也就是通過–opt參數(shù)在使用Mysqldump導(dǎo)出Mysql數(shù)據(jù)庫(kù)信息時(shí)不需要再附加上述這些參數(shù)。
–quick:代表忽略緩沖輸出,Mysqldump命令直接將數(shù)據(jù)導(dǎo)出到指定的SQL文件。
–add-drop-table:顧名思義,就是在每個(gè)CREATE TABEL命令之前增加DROP-TABLE IF EXISTS語句,防止數(shù)據(jù)表重名。
–add-locks:表示在INSERT數(shù)據(jù)之前和之后鎖定和解鎖具體的數(shù)據(jù)表,你可以打開Mysqldump導(dǎo)出的SQL文件,在INSERT之前會(huì)出現(xiàn)LOCK TABLES和UNLOCK TABLES語句。
–extended-insert (-e):此參數(shù)表示可以多行插入。
更多的Mysqldump命令參數(shù)你可以通過
復(fù)制代碼 代碼如下:
Mysqldump --help
命令查看Mysqldump包含的所有參數(shù)以及參數(shù)的支持情況。
Mysqldump導(dǎo)出命令實(shí)例如下
Mysql數(shù)據(jù)庫(kù)安裝后默認(rèn)包含mysql數(shù)據(jù)庫(kù),我就以此數(shù)據(jù)庫(kù)為例來演示Mysqldump的各種導(dǎo)出實(shí)例。
使用Mysqldump導(dǎo)出數(shù)據(jù)庫(kù)
復(fù)制代碼 代碼如下:
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump -u root -p --opt mysql >D:\PHPWeb\sqlbackup\mysql.sql
Enter password: ******
使用Mysqldump導(dǎo)出單個(gè)表
復(fù)制代碼 代碼如下:
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump -u root -p --opt mysql user >D:\PHPWeb\sqlbackup\mysql_user.sql
Enter password: ******
使用Mysqldump導(dǎo)出數(shù)據(jù)表結(jié)構(gòu)
復(fù)制代碼 代碼如下:
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump -u root -p --no-data mysql user >D:\PHPWeb\sqlbackup\mysql_user.sql
Enter password: ******
說明:Mysqldump命令參數(shù) –no-data顧名思義代表Mysqldump導(dǎo)出的數(shù)據(jù)中不含有INSERT數(shù)據(jù),僅僅只是Mysql數(shù)據(jù)庫(kù)表user的結(jié)構(gòu)信息。對(duì)于這個(gè)參數(shù)你也可以使用-d來表示。
使用Mysqldump導(dǎo)出指定條件的數(shù)據(jù)
復(fù)制代碼 代碼如下:
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump -u root -p "--where= user= 'root'" mysql user >D:\PHPWeb\sqlbackup\mysql_user.sql
Enter password: ******
說明:在這個(gè)Mysqldump導(dǎo)出實(shí)例中,通過設(shè)定Mysqldump命令參數(shù) –where=conditions設(shè)定導(dǎo)出的INSERT數(shù)據(jù)條件為user表中user字段為root的INSERT記錄。通過這個(gè)參數(shù)你可以根據(jù)需要選用Mysqldump導(dǎo)出自己想要的數(shù)據(jù),非常方便。注意在這個(gè)where選項(xiàng)前后都需要使用雙引號(hào),具體的條件可以使用單引號(hào),否則在解析Mysqldump命令行參數(shù)時(shí)會(huì)出錯(cuò),另外你也可以指定多個(gè)where參數(shù)。
Mysql數(shù)據(jù)庫(kù)導(dǎo)入命令Source詳解
Mysql最常用的數(shù)據(jù)庫(kù)導(dǎo)入命令就是Source,Source命令的用法非常簡(jiǎn)單,首先你需要進(jìn)入Mysql數(shù)據(jù)庫(kù)的命令行管理界面,然后選擇需要導(dǎo)入的數(shù)據(jù)庫(kù),即
復(fù)制代碼 代碼如下:
USER 數(shù)據(jù)庫(kù)
source 已導(dǎo)出的SQL文件
注意需要導(dǎo)入的SQL文件的具體目錄地址,最好使用/。
至此Mysql命令行導(dǎo)出工具M(jìn)ysqldump命令以及Mysql導(dǎo)入命令Source的用法就介紹完了,相對(duì)于Mysql Source命令,Mysqldump導(dǎo)出功能更豐富,合理利用Mysqldump命令參數(shù)能夠?qū)崿F(xiàn)不同的效果。
mysqldump命令導(dǎo)出數(shù)據(jù)用法詳解
在平時(shí)的mysql應(yīng)用中,總會(huì)碰到導(dǎo)入數(shù)據(jù),導(dǎo)出數(shù)據(jù),當(dāng)然有很多方法,這篇文章,主要介紹應(yīng)用mysqlmysqldump命令進(jìn)行數(shù)據(jù)導(dǎo)入導(dǎo)出,希望對(duì)大家有所幫助。
mysqldump命令中帶有一個(gè) --where/-w 參數(shù),它用來設(shè)定數(shù)據(jù)導(dǎo)出的條件,使用方式和SQL查詢命令中中的where基本上相同,有了它,我們就可以從數(shù)據(jù)庫(kù)中導(dǎo)出你需要的那部分?jǐn)?shù)據(jù)了。
1.命令格式如下:
mysqldump -u用戶名 -p密碼 數(shù)據(jù)庫(kù)名 表名 --where="篩選條件" > 導(dǎo)出文件路徑
例子:
從test數(shù)據(jù)庫(kù)的test_data表中導(dǎo)出id大于100的數(shù)據(jù)到 /tmp/test.sql 這個(gè)文件中
復(fù)制代碼 代碼如下:
mysqldump -uroot -p123456 test test_data --where=" id > 100" > /tmp/test.sql
2.導(dǎo)出整個(gè)數(shù)據(jù)庫(kù)
mysqldump -u 用戶名 -p 數(shù)據(jù)庫(kù)名 > 導(dǎo)出的文件名
復(fù)制代碼 代碼如下:
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql
3.導(dǎo)出一個(gè)數(shù)據(jù)庫(kù)結(jié)構(gòu)
復(fù)制代碼 代碼如下:
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 沒有數(shù)據(jù) --add-drop-table 在每個(gè)create語句之前增加一個(gè)drop table
導(dǎo)出庫(kù)表(mysqldump)條件
mysqldump -u用戶名 -p密碼 -h主機(jī) 數(shù)據(jù)庫(kù) a -w “sql條件” –lock-all-tables > 路徑
復(fù)制代碼 代碼如下:
1 mysqldump -hhostname -uusername -p dbname tbname>xxxx.sql
** 按指定條件導(dǎo)出數(shù)據(jù)庫(kù)表內(nèi)容。(-w選項(xiàng) –where)
1 mysqldump -hhostname -uusername-p dbname tbname -w'id >= 1 and id<= 10000'--skip-lock-tables > xxxx.sql
或
1 mysqldump -hhostname -uusername -p dbname tbname --where='unit_id >= 1 and unit_id <= 10000'> ~/xxxx.sql
相關(guān)文章
mysql 啟動(dòng)錯(cuò)誤1067 問題及解決方法
這篇文章主要介紹了mysql 啟動(dòng)錯(cuò)誤1067 問題及解決方法的相關(guān)資料,需要的朋友可以參考下2016-11-11
MySql的存儲(chǔ)過程學(xué)習(xí)小結(jié) 附pdf文檔下載
這篇文章主要是介紹mysql存儲(chǔ)過程的創(chuàng)建,刪除,調(diào)用及其他常用命令2012-03-03
關(guān)于mysql中時(shí)間日期類型和字符串類型的選擇
大家好,本篇文章主要講的是關(guān)于mysql中時(shí)間日期類型和字符串類型的選擇,感興趣的朋友趕快來看一看吧,希望對(duì)你有幫助2021-11-11

