加入收藏 | 设为首页 | 会员中心 | 我要投稿 百客网 - 百科网 (https://www.baikewang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

从MySQL快速导入导出大量数据的程序实现方法

发布时间:2022-10-22 10:57:39 所属栏目:MySql教程 来源:
导读:  今天由小编为大家讲解有关语言编程的文章,相信对大家一定有很大的帮助

  C语言教程大家一定使用过 myadmin 里面的导入,导出功能,非常方便。但是在实际应用中,我发现如下几个问题:

  1 数据库超
  今天由小编为大家讲解有关语言编程的文章,相信对大家一定有很大的帮助
 
  C语言教程大家一定使用过 myadmin 里面的导入,导出功能,非常方便。但是在实际应用中,我发现如下几个问题:
 
  1 数据库超过一定尺寸,比如6M 这时使用导出一般没问题,可以正确的保存到本机硬盘上面,但是导入则不行!原因是:一般的 PHP.INI 里面设置临时文件/上传文件的大小限制为2M,而phpmyadmin使用了上传的方式,造成失败。
 
  2 导出到硬盘的 .SQL 文件在导回时,经常出现由于某些单引号的问题引起失败,造成导入失败,只能用 等应用程序导入了。 我的数据库已经超过10M,所以必须解决这个问题。我的思路:
 
  导出: 用phpmyadmin 保存数据库/表格结构,用脚本读取数据库内容并保存到文件里面!
 
  “我从事编程语言统计很多年了MySQL 导出数据,有大量的数据来源包括代码存储库、Q&A讨论、招聘广告、社交媒体情况、教程页面访问、学习视频视图、开发者调查等等。数据发表在不同的时间,都可以被认为是精确的,
 
  也可以被认为是有缺陷的,但是它们可以用于发现行业趋势。最后,不要期望一夜之间就变成一个编码忍者。有些人有一种天然的能力,但也是花了很多很多时间来磨练他们的技能,不断的学习新的技术和技巧。”
 
  导入:C语言视频教程 用phpmyadmin 恢复数据库/表格结构,用脚本读取文件,然后保存到库里面!
 
  导出程序如下:调用方法为 ****.php?table=tablename
 
  这个简单的程序目前一次保存一个表格!!每行为一个字段的数据!!
 
  从MySQL快速导入导出大量数据的程序实现方法
 
  if($table==\\\\”\\\\”)exit();
 
  mysql_connect(\\\\”localhost\\\\”,\\\\”name\\\\”,\\\\”pass\\\\”);
 
  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.\\\\”\\\\r\\\\n\\\\”);
 
  for($k=0;$k< mysql_num_rows($result);$k++)
 
  {
 
  $msg = mysql_fetch_row($result);
 
  for($i=0;$i< $numfields;$i++)
 
  {
 
  $msg[$i] = str_replace(\\\\”\\\\r\\\\n\\\\”,\\\\”&&php2000mysqlreturn&&\\\\”,$msg[$i]);
 
  $msg[$i] = str_replace(\\\\”\\\\n\\\\” ,\\\\”&&php2000mysqlreturn&&\\\\”,$msg[$i]);
 
  fputs($handle,$msg[$i].\\\\”\\\\r\\\\n\\\\”);
 
  }
 
  fputs($handle,\\\\”——- php2000 dump data program V1.0 for MySQL ——–\\\\r\\\\n\\\\”);
 
  }
 
  fclose($handle);
 
  echo \\\\”ok\\\\”;
 
  c语言编程入门导入的程序如下:用法同上面!
 
  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< count($message);$k+=($numfields+1))
 
  {
 
  $value=\\\\”\\\\”;
 
  for ($i=$k;$i< ($k+$numfields-1);$i++)
 
  {
 
  $tmp = str_replace(\\\\”&&php2000mysqlreturn&&\\\\”,\\\\”\\\\r\\\\n\\\\”,chop($message[$i]));
 
  $value .= \\\\”\\\\'\\\\”.addslashes($tmp).\\\\”\\\\',\\\\”;
 
  }
 
  $tmp = str_replace(\\\\”&&php2000mysqlreturn&&\\\\”,\\\\”\\\\r\\\\n\\\\”,chop($message[$k+$numfields-1]));
 
  $value .= \\\\”\\\\'\\\\”.$tmp.\\\\”\\\\'\\\\”;
 
  $query = \\\\”insert into $table values (\\\\”.$value.\\\\”)\\\\”;
 
  echo mysql_error();
 
  mysql_query($query);
 
  echo $k.\\\\” \\\\”;
 
  }
 
  echo \\\\”ok\\\\”;
 
  使用方法和可能的问题!
 
  1 导入时 file()函数可能会有问题(我的10M的数据没出现问题),可以改为 fopen()然后没次读一行!!
 
  2 导入,导出都需要用 ftp 操作,也就是导出后,用 ftp 把数据转到本机,导入时先用ftp转移数据到服务器!

 

(编辑:百客网 - 百科网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!