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.
一組以數據定義語言來表達的語句集,該語句集完整地描述了數據庫的結構