mysql数据库导入导出代码

小浪SEO博客 专注SEO优化思维、SEO技术的实战分享类博客~

我想大家都知道数据导入和导入可以使用mysql自带的功具mysqldump来实现,同时也可以自定义程序来实现,下面我介绍了二种方法.

先来讲讲利用比如到处数据用逗号(‘),竖线(|)隔开的数据,很多人会说使用如下代码:

mysql -uUser -pPwd dbName -e “$sql” 进行导出.

其中$sql使用如下代码:

  1. SELECT*FROM`TABLENAME`WHERExxxINTOOUTFILE“指定文件路劲”FIELDSTERMINATEDBY”|“

这种往往很多会报没有权限之类的莫名其妙的错误.

错误一,代码如下:

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写入权限.

一般的做法是,代码如下:

  1. mkdir-p/home/martin/outdata;
  2. chownmysql.mysql/home/martin/outdata;
  3. sudochmod777/home/martin/outdata;
  4. --phpfensi.com
  5. SHELLmysql-uqinghua-p123456qinghua--e"select*fromqinghua.userwhere1intooutfile'/home/martin/outdata/outfile'FIELDSTERMINATEDBY'|'"

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,这个简单的程序目前一次保存一个表格,每行为一个字段的数据,代码如下:

  1. if($table=="")exit();
  2. mysql_connect("localhost","name","password");
  3. mysql_select_db("database");
  4. $result=mysql_query("select*from$table");
  5. if(mysql_num_rows($result)<=0)exit();
  6. echo"开始转换数据到文本...
  7. ";
  8. $handle=fopen("$table.txt","w");
  9. $numfields=mysql_num_fields($result);
  10. fputs($handle,$numfields."rn");
  11. for($k=0;$k
  12. {
  13. $msg=mysql_fetch_row($result);
  14. for($i=0;$i<$numfields;$i++)
  15. {
  16. $msg[$i]=str_replace("rn","&&php2000mysqlreturn&&",$msg[$i]);
  17. $msg[$i]=str_replace("n","&&php2000mysqlreturn&&",$msg[$i]);
  18. fputs($handle,$msg[$i]."rn");
  19. }
  20. fputs($handle,"-------php2000dumpdataprogramV1.0forMySQL--------rn");
  21. }
  22. fclose($handle);
  23. echo"ok";

导入的程序如下,用法同上面,代码如下:

  1. if($table=="")exit();
  2. mysql_connect("localhost","name","password");
  3. mysql_select_db("database");
  4. $message=file("$table.txt");
  5. echo$numfields=chop($message[0]);
  6. for($k=1;$k
  7. {
  8. $value="";
  9. for($i=$k;$i<($k+$numfields-1);$i++)
  10. {
  11. $tmp=str_replace("&&php2000mysqlreturn&&","rn",chop($message[$i]));
  12. $value.="'".addslashes($tmp)."',";
  13. }
  14. $tmp=str_replace("&&php2000mysqlreturn&&","rn",chop($message[$k+$numfields-1]));
  15. $value.="'".$tmp."'";
  16. $query="insertinto$tablevalues(".$value.")";
  17. echomysql_error();
  18. mysql_query($query);
  19. echo$k."";
  20. }
  21. echo"ok";

相关广告
  • mysql数据库导入导出代码 mysql数据库导入导出代码 mysql数据库导入导出代码
相关阅读

mysql数据库导入导出代码

2019/10/10 17:33:14 | 谷歌SEO算法 | 百度K站