程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> Mysql導入導出工具Mysqldump和Source命令用法詳解

Mysql導入導出工具Mysqldump和Source命令用法詳解

編輯:關於MYSQL數據庫
在PHP網站開發中,時常遇到Mysql數據庫備份或數據庫遷移工作,這時Mysql怎麼導入導出數據庫中的數據就非常關鍵,Mysql本身提供了命令行導出工具Mysqldump和Mysql Source導入命令進行SQL數據導入導出工作,通過Mysql命令行導出工具Mysqldump命令能夠將Mysql數據導出為文本格式(txt)的SQL文件,通過Mysql Source命令能夠將SQL文件導入Mysql數據庫中,下面通過Mysql導入導出SQL實例詳解Mysqldump和Source命令的用法。

Mysql命令行導出工具Mysqldump命令詳解

  Mysql命令行導出工具Mysqldump.exe默認存放在Mysql安裝目錄中的bin子目錄下,在使用Mysqldump導出數據庫時,首先請確保Mysql服務已啟動。
  M
ysqldump導出命令基礎用法

復制代碼 代碼如下:mysqldump -u 用戶名 -p [--opt] DATABASENAME [Table] >導出SQL文件名

默認Mysqldump導出的SQL文件中不但包含了導出的數據,還包括導出數據庫中所有數據表的結構信息。
  另外使用Mysqldump導出的SQL文件如果不帶絕對路徑,默認是保存在bin目錄下的。
  –opt:此Mysqldump命令參數是可選的,如果帶上這個選項代表激活了Mysqldump命令的quick,add-drop-table,add-locks,extended-insert,lock-tables參數,也就是通過–opt參數在使用Mysqldump導出Mysql數據庫信息時不需要再附加上述這些參數。
  –quick:代表忽略緩沖輸出,Mysqldump命令直接將數據導出到指定的SQL文件。
  –add-drop-table:顧名思義,就是在每個CREATE TABEL命令之前增加DROP-TABLE IF EXISTS語句,防止數據表重名。
  –add-locks:表示在INSERT數據之前和之後鎖定和解鎖具體的數據表,你可以打開Mysqldump導出的SQL文件,在INSERT之前會出現LOCK TABLES和UNLOCK TABLES語句。
  –extended-insert (-e):此參數表示可以多行插入。
  更多的Mysqldump命令參數你可以通過

復制代碼 代碼如下:
Mysqldump --help


命令查看Mysqldump包含的所有參數以及參數的支持情況。
  Mysqldump導出命令實例如下
  Mysql數據庫安裝後默認包含mysql數據庫,我就以此數據庫為例來演示Mysqldump的各種導出實例。
  使用Mysqldump導出數據庫
復制代碼 代碼如下:
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump -u root -p --opt mysql >D:\PHPWeb\sqlbackup\mysql.sql
Enter password: ******


  使用Mysqldump導出單個表

復制代碼 代碼如下:

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導出數據表結構

復制代碼 代碼如下:
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命令參數 –no-data顧名思義代表Mysqldump導出的數據中不含有INSERT數據,僅僅只是Mysql數據庫表user的結構信息。對於這個參數你也可以使用-d來表示。
  使用Mysqldump導出指定條件的數據

復制代碼 代碼如下:
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: ******


說明:在這個Mysqldump導出實例中,通過設定Mysqldump命令參數 –where=conditions設定導出的INSERT數據條件為user表中user字段為root的INSERT記錄。通過這個參數你可以根據需要選用Mysqldump導出自己想要的數據,非常方便。注意在這個where選項前後都需要使用雙引號,具體的條件可以使用單引號,否則在解析Mysqldump命令行參數時會出錯,另外你也可以指定多個where參數。

  Mysql數據庫導入命令Source詳解

  Mysql最常用的數據庫導入命令就是Source,Source命令的用法非常簡單,首先你需要進入Mysql數據庫的命令行管理界面,然後選擇需要導入的數據庫,即

復制代碼 代碼如下:
USER 數據庫
source 已導出的SQL文件


注意需要導入的SQL文件的具體目錄地址,最好使用/。
  至此Mysql命令行導出工具Mysqldump命令以及Mysql導入命令Source的用法就介紹完了,相對於Mysql Source命令,Mysqldump導出功能更豐富,合理利用Mysqldump命令參數能夠實現不同的效果。

mysqldump命令導出數據用法詳解

在平時的mysql應用中,總會碰到導入數據,導出數據,當然有很多方法,這篇文章,主要介紹應用mysqlmysqldump命令進行數據導入導出,希望對大家有所幫助。

mysqldump命令中帶有一個 --where/-w 參數,它用來設定數據導出的條件,使用方式和SQL查詢命令中中的where基本上相同,有了它,我們就可以從數據庫中導出你需要的那部分數據了。

1.命令格式如下:

mysqldump -u用戶名 -p密碼 數據庫名 表名 --where="篩選條件" > 導出文件路徑

例子:

從test數據庫的test_data表中導出id大於100的數據到 /tmp/test.sql 這個文件中

復制代碼 代碼如下:
mysqldump -uroot -p123456 test test_data --where=" id > 100" > /tmp/test.sql


2.導出整個數據庫

mysqldump -u 用戶名 -p 數據庫名 > 導出的文件名

復制代碼 代碼如下:
mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql


3.導出一個數據庫結構

復制代碼 代碼如下:
mysqldump -u wcnc -p -d --add-drop-table smgp_apps_wcnc >d:wcnc_db.sql
-d 沒有數據 --add-drop-table 在每個create語句之前增加一個drop table



導出庫表(mysqldump)條件

mysqldump -u用戶名 -p密碼 -h主機 數據庫 a -w “sql條件” –lock-all-tables > 路徑

復制代碼 代碼如下:
1 mysqldump -hhostname -uusername -p dbname tbname>xxxx.sql
** 按指定條件導出數據庫表內容。(-w選項 –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
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved