zoukankan      html  css  js  c++  java
  • mysql数据导入导出

    在实际工作中,有时需要执行mysql数据库的导入和导入操作,但对于大型sql文件导入时,phpmyadmin是不行的,有太多限制,比如记录,内存等!
    导出命令:
    a)导出整个库
      mysqldump -u 用户名 -p 数据库名 > 导出的文件名
    示例:
      mysqldump -u root -p student > d:/yebihai.sql
      b)导出一个表
      mysqldump -u 用户名 -p 数据库名 表名> 导出的文件名



    导入命令:
    方法一:客户端直接命令操作
        mysql -uroot -proot 数据库名< c:/sql文件.sql
    方法二:客户端用source命令操作
      1、进行入客户端
    mysql -uroot -p123456
    2、mysql>use 数据库名(如果没有,先建一个)
      3、mysql>set names 'utf8'; (一般看导入的是什么格式的文件)
      4、mysql>source d:/aaa.sql;
      即可正常导入,如果有错,可以看出错提示

        方案三:分块导入
    //用来快速Mysql的大数据备份
    //使用前请首先按照代码注释修改要导入的SQL文件名、数据库主机名、数据库用户名、密码、数据库名
    //同时将数据库文件和本文本一起ftp导网站目录,然后以web方式访问此文件即可$file_name="sql.sql"; //要导入的SQL文件名
    $dbhost ="localhost"; //数据库主机名
    $dbuser="user"; //数据库用户名
    $dbpass="pass"; //数据库密码
    $dbname="dbname";//数据库名
    set_time_limit(0); //设置超时时间为0,表示一直执行。当php在safe
    //mode模式下无效,此时可能会导致导入超时,此时需要分段导入
    $fp = @fopen($file_name, "r") or
    die("不能打开SQL文件 $file_name");//打开文件
    mysql_connect($dbhost, $dbuser,
    $dbpass) or die("不能连接数据库 $dbhost");//连接数据库
    mysql_select_db($dbname)
    or die ("不能打开数据库 $dbname");//打开数据库
    mysql_query('set names utf8');
    echo "正在执行导入操作";
    while($SQL=GetNextSQL()){
    if(!mysql_query($SQL)){
    echo "执行出错:".mysql_error()."";
    echo "SQL语句为:".$SQL."";
    };
    }
    echo "导入完成";
    fclose($fp) or die("Can’t close file $file_name");//关闭文件
    mysql_close();
    //从文件中逐条取SQL
    function GetNextSQL() {
    global $fp;
    $sql="";
    while ($line = @fgets($fp, 40960)) {
    $line = trim($line);
    //以下三句在高版本php中不需要,在部分低版本中也许需要修改
    $line = str_replace("////","//",$line);
    $line = str_replace("/’","’",$line);
    $line = str_replace("//r//n",chr(13).chr(10),$line);
    // $line = stripcslashes($line);
    if (strlen($line)>1){
    if ($line[0]=="-" && $line[1]=="-"){
    continue;
    }
    }
    $sql.=$line.chr(13).chr(10);
    if(strlen($line)>0){
    if($line[strlen($line)-1]==";"){
    break;
    }
    }
    }
    return $sql;
    }
    原文链接:https://zhidao.baidu.com/question/620216292770783572.html


  • 相关阅读:
    BottomNavigationBarItem fixed
    Flutter进阶—点击、拖动和其他手势
    semaphore demo !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!1
    微信小程序
    Socket套接字 =======================
    socket
    flutter packages.
    安卓抓包https
    Flutter 输入控件TextField设置内容并保持光标(cursor)在末尾
    textfield reload issue and other things reload problem.===================================
  • 原文地址:https://www.cnblogs.com/gyfluck/p/8558713.html
Copyright © 2011-2022 走看看