Benjamin

静以修身,俭以养德,非澹薄无以明志,非宁静无以致远。
随笔 - 397, 文章 - 0, 评论 - 196, 引用 - 0
数据加载中……

mysql常用操作-----数据导出

mysql的导出工具有mysqldump和mysqlhotcopy,这两个都在mysql的安装目录下的bin目录下,但是最新的mysql5.1.57版本中,已找不到mysqlhotcopy了。
mysqldump导出的是系列的sql语句,导入用source命令即可;mysqlhotcopy据说是perl写的,是简单的文件拷贝;
mysqldump命令的执行在bin目录就可以,在myql提示符下是无法执行的。

mysqldump的基本用法:mysqldump -udbuser -p dbname  table_name> d:\dbbak.sql,如果没有表名,表示导出整个数据库到dbbak.sql中。
参数-d 只导出表结构;参数-t 只导出数据;如果不写,默认是表机构和数据一起导出;--default-character-set=gbk以gbk的编码导出文件。

只导出某个字段的命令:例如:一个table有id,name,content字段。那么导出id字段用下面的命令(在mysql的提示符下)
select id from table_name into outfile "d:/test.sql";
导出id和name字段,用下面的命令:select id,name from table_name into outfile "d:/test.sql";
导入命令用::LOAD DATA INFILE 'd:/test.sql' INTO TABLE table_name (id);
例子:使用SELECT...INTO OUTFILE语句来导出example数据库下employee表的记录。其中,字段之间用“、”隔开,字符型数据用双引号括起来。每条记录以“>”开头。
mysql>SELECT * FROM example.employee INTO OUTFILE 'F:/backup/tb_chengji.txt' TERMINATED BY '\、' OPTIONALLY ENCLOSED BY '\"' LINES  STARTING BY '\>'   TERMINATED BY '\r\n';
导入 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,...]
如果数据被某种符号封闭着,需要指定 ‘ fields enclosed by ’ :
另外还有一些格式上的限制,如 LINES TERMINATED BY 'string' ,指定 file 的换行符,如 ‘\n’ 。
常用的mysql管理工具有SQLyog和Navicat,这两个软件的高版本不能识别latin1(西欧 (多语言))下的汉字的显示,必须是4.1或是以前的低版本的才可以。

另外如果备份数据库文件有.frm,.myd,.myi文件,必须把这些文件拷贝到data目录下相应的数据库目录就可以了,只能拷贝。
data默认路径:"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/"的字段;
修改这个字段必须停止mysql服务,待修改完成后再开启服务。

posted on 2011-07-31 16:59 Benjamin 阅读(658) 评论(0)  编辑 收藏 引用 所属分类: 数据库


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理