mysql数据库导入导出代码
发布:smiling 来源: PHP粉丝网 添加日期:2014-10-14 14:07:32 浏览: 评论:0
我想大家都知道数据导入和导入可以使用mysql自带的功具mysqldump来实现,同时也可以自定义程序来实现,下面我介绍了二种方法.
先来讲讲利用比如到处数据用逗号(‘),竖线(|)隔开的数据,很多人会说使用如下代码:
mysql -uUser -pPwd dbName -e “$sql” 进行导出.
其中$sql使用如下代码:
- SELECT * FROM `TABLENAME` WHERE xxx INTO OUTFILE “指定文件路劲” FIELDS TERMINATED BY ”|“
这种往往很多会报没有权限之类的莫名其妙的错误.
错误一,代码如下:
ERRORERROR 1045 (28000) at line 1: Access denied for user 'qinghua'@'localhost' (using password: YES)
错误二,代码如下:
ERRORERROR 1 (HY000) at line 1: Can't create/write to file '/home/martin/outfile' (Errcode: 13)
错误一是由于普通用户没有执行权限,错误二是由于没有权限穿件文件”aa”,正确的做应该是,如下代码:
SHELLmysql -uqinghua -p123456 qinghua --e "select * from qinghua.user where 1 into outfile 'outfile' FIELDS TERMINATED BY'|'"
这样它穿件的文件会出现在mysql datadir目录对应的数据库文件夹内,如果想把文件创建到指定目录内,那你一定得赋予改目录mysql写入权限.
一般的做法是,代码如下:
- mkdir -p /home/martin/outdata;
- chown mysql.mysql /home/martin/outdata;
- sudo chmod 777 /home/martin/outdata;
- --phpfensi.com
- SHELLmysql -uqinghua -p123456 qinghua --e "select * from qinghua.user where 1 into outfile '/home/martin/outdata/outfile' FIELDS TERMINATED BY'|'"
mysqldump参数介绍
–w 设定导出的条件。
–no-create-db 导出时不到出穿件数据库。
–no-create-info 不创建表结构。
–xml 导出xml格式文件。
–skip-add-drop-table 不创建删除表结构语句。
mysql数据导入一般使用 mysql -uUser -pPwd dbName < xxx.sql,或者使用source进行导入。
参考地址:
http://dev.mysql.com/doc/refman/5.1/en/mysqldump.html
http://dev.mysql.com/doc/refman/5.1/zh/replication.html 生成二进制日志,进行双机热备.
再看看其它的方法
导出程序如下:调用方法为 ****.php?table=tablename,这个简单的程序目前一次保存一个表格,每行为一个字段的数据,代码如下:
- if($table=="")exit();
- mysql_connect("localhost","name","password");
- mysql_select_db("database");
- $result = mysql_query("select * from $table");
- if(mysql_num_rows($result) < = 0) exit();
- echo "开始转换数据到文本...
- ";
- $handle = fopen("$table.txt","w");
- $numfields = mysql_num_fields($result);
- fputs($handle,$numfields."rn");
- for($k=0;$k
- {
- $msg = mysql_fetch_row($result);
- for($i=0;$i< $numfields;$i++)
- {
- $msg[$i] = str_replace("rn","&&php2000mysqlreturn&&",$msg[$i]);
- $msg[$i] = str_replace("n" ,"&&php2000mysqlreturn&&",$msg[$i]);
- fputs($handle,$msg[$i]."rn");
- }
- fputs($handle,"------- php2000 dump data program V1.0 for MySQL --------rn");
- }
- fclose($handle);
- echo "ok";
导入的程序如下,用法同上面,代码如下:
- if($table=="")exit();
- mysql_connect("localhost","name","password");
- mysql_select_db("database");
- $message = file("$table.txt");
- echo $numfields = chop($message[0]);
- for($k=1;$k
- {
- $value="";
- for ($i=$k;$i< ($k+$numfields-1);$i++)
- {
- $tmp = str_replace("&&php2000mysqlreturn&&","rn",chop($message[$i]));
- $value .= "'".addslashes($tmp)."',";
- }
- $tmp = str_replace("&&php2000mysqlreturn&&","rn",chop($message[$k+$numfields-1]));
- $value .= "'".$tmp."'";
- $query = "insert into $table values (".$value.")";
- echo mysql_error();
- mysql_query($query);
- echo $k." ";
- }
- echo "ok";
Tags: mysql导入 mysql导出代码
相关文章
- ·mysql中导入数据load data在myisam与innodb区别(2014-09-23)
- ·Mysql导入csv数据的几种方法(2014-09-23)
- ·mysql中常用命令导入导出数据命令(mysqldump,source)(2014-09-23)
- ·合理使用mysql中的load data infile导入数据(2014-09-25)
- ·MySQL数据导入导出实例教程手册(2014-09-27)
- ·MySQL数据的导入与导出(mysqldump)方法(2014-09-27)
- ·mysql中导入/导出超大的sql文本文件方法总结(2014-09-27)
- ·mysql导入存储过程无法使用(2014-09-28)
- ·mysql导入存储过程报错问题解决方法(2014-09-28)
- ·mysql数据备份导入导出说明和对应的shell脚本(2014-09-29)
- ·MySQL数据导入恢复(还原)实例(2014-09-29)
- ·MYSQL数据库的导出和导入方法详解(2014-10-04)
- ·mysql导入大文件错误解决方法(2014-10-04)
- ·MySQL导入sql大文件实现方法(2014-10-08)
- ·mysql导入乱码问题解决办法(2014-10-08)
- ·mysql中导入数据与导出数据库sql语句(2014-10-09)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)