mysql常用操作-----數(shù)據(jù)導(dǎo)出
mysql的導(dǎo)出工具有mysqldump和mysqlhotcopy,這兩個(gè)都在mysql的安裝目錄下的bin目錄下,但是最新的mysql5.1.57版本中,已找不到mysqlhotcopy了。
mysqldump導(dǎo)出的是系列的sql語句,導(dǎo)入用source命令即可;mysqlhotcopy據(jù)說是perl寫的,是簡(jiǎn)單的文件拷貝;
mysqldump命令的執(zhí)行在bin目錄就可以,在myql提示符下是無法執(zhí)行的。
mysqldump的基本用法:mysqldump -udbuser -p dbname table_name> d:\dbbak.sql,如果沒有表名,表示導(dǎo)出整個(gè)數(shù)據(jù)庫到dbbak.sql中。
參數(shù)-d 只導(dǎo)出表結(jié)構(gòu);參數(shù)-t 只導(dǎo)出數(shù)據(jù);如果不寫,默認(rèn)是表機(jī)構(gòu)和數(shù)據(jù)一起導(dǎo)出;--default-character-set=gbk以gbk的編碼導(dǎo)出文件。
只導(dǎo)出某個(gè)字段的命令:例如:一個(gè)table有id,name,content字段。那么導(dǎo)出id字段用下面的命令(在mysql的提示符下)
select id from table_name into outfile "d:/test.sql";
導(dǎo)出id和name字段,用下面的命令:select id,name from table_name into outfile "d:/test.sql";
常用的mysql管理工具有SQLyog和Navicat,這兩個(gè)軟件的高版本不能識(shí)別latin1(西歐 (多語言))下的漢字的顯示,必須是4.1或是以前的低版本的才可以。
另外如果備份數(shù)據(jù)庫文件有.frm,.myd,.myi文件,必須把這些文件拷貝到data目錄下相應(yīng)的數(shù)據(jù)庫目錄就可以了,只能拷貝。
data默認(rèn)路徑:"C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\Data\"注意:Application Data文件夾是隱藏的!!!
也可以查看mysql文件目錄my.ini文件,可以找到類似于datadir="D:/beeagle/Program Files/MySQL/MySQL Server 5.0/Data/"的字段;
修改這個(gè)字段必須停止mysql服務(wù),待修改完成后再開啟服務(wù)。
mysqldump導(dǎo)出的是系列的sql語句,導(dǎo)入用source命令即可;mysqlhotcopy據(jù)說是perl寫的,是簡(jiǎn)單的文件拷貝;
mysqldump命令的執(zhí)行在bin目錄就可以,在myql提示符下是無法執(zhí)行的。
mysqldump的基本用法:mysqldump -udbuser -p dbname table_name> d:\dbbak.sql,如果沒有表名,表示導(dǎo)出整個(gè)數(shù)據(jù)庫到dbbak.sql中。
參數(shù)-d 只導(dǎo)出表結(jié)構(gòu);參數(shù)-t 只導(dǎo)出數(shù)據(jù);如果不寫,默認(rèn)是表機(jī)構(gòu)和數(shù)據(jù)一起導(dǎo)出;--default-character-set=gbk以gbk的編碼導(dǎo)出文件。
只導(dǎo)出某個(gè)字段的命令:例如:一個(gè)table有id,name,content字段。那么導(dǎo)出id字段用下面的命令(在mysql的提示符下)
select id from table_name into outfile "d:/test.sql";
導(dǎo)出id和name字段,用下面的命令:select id,name from table_name into outfile "d:/test.sql";
導(dǎo)入命令用::LOAD DATA INFILE 'd:/test.sql' INTO TABLE table_name (id);
例子:使用SELECT...INTO OUTFILE語句來導(dǎo)出example數(shù)據(jù)庫下employee表的記錄。其中,字段之間用“、”隔開,字符型數(shù)據(jù)用雙引號(hào)括起來。每條記錄以“>”開頭。
mysql>SELECT * FROM example.employee INTO OUTFILE 'F:/backup/tb_chengji.txt' TERMINATED BY '\、' OPTIONALLY ENCLOSED BY '\"' LINES STARTING BY '\>' TERMINATED BY '\r\n';
導(dǎo)入 mysql>load data infile "F:/backup/tb_chengji.txt" into table t_general FIELDS TERMINATED BY '\、' OPTIONALLY ENCLOSED BY '\"' LINES STARTING BY '\>' TERMINATED BY '\r\n';
語法:
LOAD DATA [LOW_PRIORITY | CONCURRENT] [LOCAL] INFILE 'file_name' [REPLACE | IGNORE] INTO TABLE tbl_name
[PARTITION (partition_name,...)]
[CHARACTER SET charset_name]
[{FIELDS | COLUMNS} [TERMINATED BY 'string']
[[OPTIONALLY] ENCLOSED BY 'char']
[ESCAPED BY 'char'] ]
[LINES [STARTING BY 'string'] [TERMINATED BY 'string'] ] [IGNORE number {LINES | ROWS}] [(col_name_or_user_var,...)] [SET col_name = expr,...]如果數(shù)據(jù)被某種符號(hào)封閉著,需要指定 ‘ fields enclosed by ’ :另外還有一些格式上的限制,如 LINES TERMINATED BY 'string' ,指定 file 的換行符,如 ‘\n’ 。
另外如果備份數(shù)據(jù)庫文件有.frm,.myd,.myi文件,必須把這些文件拷貝到data目錄下相應(yīng)的數(shù)據(jù)庫目錄就可以了,只能拷貝。
data默認(rèn)路徑:"C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\Data\"注意:Application Data文件夾是隱藏的!!!
也可以查看mysql文件目錄my.ini文件,可以找到類似于datadir="D:/beeagle/Program Files/MySQL/MySQL Server 5.0/Data/"的字段;
修改這個(gè)字段必須停止mysql服務(wù),待修改完成后再開啟服務(wù)。
posted on 2011-07-31 16:59 Benjamin 閱讀(676) 評(píng)論(0) 編輯 收藏 引用 所屬分類: 數(shù)據(jù)庫