1.匯入匯出
mysql常用匯入資料的命令:
1.mysql命令
| 代碼如下 |
複製代碼 |
mysql -hhostname -uusername - ppassword databasename < backupfile.sql |
2.source命令
| 代碼如下 |
複製代碼 |
mysql>source backupfile.sql |
具體方法
1.mysql匯出整個資料庫
| 代碼如下 |
複製代碼 |
mysqldump -u 使用者名稱 -p 資料庫名 > 匯出的檔案名稱 mysqldump -u wcnc -p smgp_apps_wcnc > wcnc.sql |
2.mysql匯出資料庫一個表
| 代碼如下 |
複製代碼 |
mysqldump -hhostname -uusername -ppassword database tablename> 匯出的檔案名稱 mysqldump -hlocalhost -uroot hqgr t_ug_user> user.sql |
2-1.如果需要匯出mysql裡面的函數或者預存程序
| 代碼如下 |
複製代碼 |
mysqldump -hhostname -uusername -ppassword -ntd -R databasename > backupflie.sql mysqldump -hlocalhost -uroot -ntd -R hqgr > hqgr.sql |
其中的 -ntd 是表示匯出預存程序;-R是表示匯出函數
3.mysql匯出一個資料庫結構
| 代碼如下 |
複製代碼 |
| mysqldump -u wcnc -p -d –add-drop-table smgp_apps_wcnc >d:wcnc_db.sql |
-d 沒有資料 –add-drop-table 在每個create語句之前增加一個drop table
4.mysql匯入資料庫
常用source 命令
進入mysql資料庫控制台,
| 代碼如下 |
複製代碼 |
如mysql -u root -p |
mysql>use 資料庫
然後使用source命令,後面參數為指令檔(如這裡用到的.sql)
| 代碼如下 |
複製代碼 |
mysql>source d:wcnc_db.sql |
2.設定會話字元集編碼
set names utf-8;
MySQLdump中的常用選項
選項/Option 作用/Action Performed
--add-drop-table
這個選項將會在每一個表的前面加上DROP TABLE IF EXISTS語句,這樣可以保證導回MySQL資料庫的時候不會出
錯,因為每次導回的時候,都會首先檢查表是否存在,存在就刪除
--add-locks
這個選項會在INSERT語句中捆上一個LOCK TABLE和UNLOCK TABLE語句。這就防止在這些記錄被再次匯入資料庫時
其他使用者對錶進行的操作
-c or - complete_insert
這個選項使得MySQLdump命令給每一個產生INSERT語句加上列(field)的名字。當把資料匯出導另外一個資料庫
時這個選項很有用。
--delayed-insert 在INSERT命令中加入DELAY選項
-F or -flush-logs 使用這個選項,在執行匯出之前將會重新整理MySQL伺服器的log.
-f or -force 使用這個選項,即使有錯誤發生,仍然繼續匯出
--full 這個選項把附加資訊也加到CREATE TABLE的語句中
-l or -lock-tables 使用這個選項,匯出表的時候伺服器將會給表加鎖。
-t or -no-create- info
這個選項使的MySQLdump命令不建立CREATE TABLE語句,這個選項在您只需要資料而不需要DDL(資料庫定義語句
)時很方便。
-d or -no-data 這個選項使的MySQLdump命令不建立INSERT語句。
在您只需要DDL語句時,可以使用這個選項。
--opt 此選項將開啟所有會提高檔案匯出速度和創造一個可以更快匯入的檔案的選項。
-q or -quick 這個選項使得MySQL不會把整個匯出的內容讀入記憶體再執行匯出,而是在讀到的時候就寫入導檔案
中。
-T path or -tab = path 這個選項將會建立兩個檔案,一個檔案包含DDL語句或者表建立語句,另一個檔案包含
資料。DDL檔案被命名為table_name.sql,資料檔案被命名為table_name.txt.路徑名是存放這兩個檔案的目錄。目錄必
須已經存在,並且命令的使用者有對檔案的特權。
-w "WHERE Clause" or -where = "Where clause "
如前面所講的,您可以使用這一選項來過篩選將要放到匯出檔案的資料。
假定您需要為一個表單中要用到的帳號建立一個檔案,經理要看今年(2004年)所有的訂單(Orders),它們並
不對DDL感興趣,並且需要檔案有逗號分隔,因為這樣就很容易匯入到Excel中。 為了完成這個人物,您可以使用下面
的句子:
bin/MySQLdump –p –where "Order_Date >='2000-01-01'"
–tab = /home/mark –no-create-info –fields-terminated-by=, Meet_A_Geek Orders
這將會得到您想要的結果。
schema:模式The set of statements, expressed in data definition language, that completely describe
the structure of a data base.
一組以資料定義語言 (Data Definition Language)來表達的語句集,該語句集完整地描述了資料庫的結構