精华内容
下载资源
问答
  • Laravel 导出

    2021-01-18 09:49:15
    使用go的导出组件与HTTP通信,支持JSON与SQL两种方式建立数据,此为最普通的导出组件,不引入插图等特殊功能,支持内部换行与合并单元格。 如为SQL建立数据,需要手动建立DB连接,目前支持ORACLE与MYSQL ...

    项目地址:https://github.com/oursdreams/export

    composer: composer require oursdreams/export

    使用go的导出组件与HTTP通信,支持JSON与SQL两种方式建立数据,此为最普通的导出组件,不引入插图等特殊功能,支持内部换行与合并单元格。

    如为SQL建立数据,需要手动建立DB连接,目前支持ORACLE与MYSQL

    展开全文
  • Laravel 框架的sql文件导入与导出

    千次阅读 2018-08-30 14:51:55
    导出代码如下 public function put_out(Request $request){ $table_name = $request ->get('table_name'); $DB_HOST = getenv('DB_HOST'); $DB_DATABASE = getenv('DB_DATABASE'); //从配置文件中获...

    导出代码如下

    public function put_out(Request $request){
            $table_name = $request ->get('table_name');
            $DB_HOST = getenv('DB_HOST');
            $DB_DATABASE = getenv('DB_DATABASE'); //从配置文件中获取数据库信息
            $DB_USERNAME = getenv('DB_USERNAME');
            $DB_PASSWORD = getenv('DB_PASSWORD');
            $dumpfname = $DB_DATABASE . "_" . date("Y-m-d_H-i-s").".sql";
            $command = "D:\\phpserver\\server\\MySQL\\bin\\mysqldump --add-drop-table --host=$DB_HOST --user=$DB_USERNAME ";
            if ($DB_PASSWORD) $command.= "--password=". $DB_PASSWORD ." ";
            $command.= $DB_DATABASE." ";
            $command.= $table_name;
            $command.= " > " . $dumpfname;
            system($command);
          
        }

    需要注意的是表名与表名之间用空格隔开,数据库名也要跟表名用空格隔开

    导入代码:

     public function put_in(Request $request){
            $sql_name = $_FILES['file']['name'];
            $path = public_path();
    
            $file_name = $path.'\\'.$sql_name;  //要导入的SQL文件名
            $file_name = str_replace('\\','/',$file_name);
            //print_r($file_name);
    
            $DB_HOST = getenv('DB_HOST');
            $DB_DATABASE = getenv('DB_DATABASE'); //从配置文件中获取数据库信息
            $DB_USERNAME = getenv('DB_USERNAME');
            $DB_PASSWORD = getenv('DB_PASSWORD');
    
            set_time_limit(0); //设置超时时间为0,表示一直执行。当php在safe mode模式下无效,此时可能会导致导入超时,此时需要分段导入
            $fp = @fopen($file_name, "r") or die("不能打开SQL文件 $file_name");//打开文件
            //print_r($fp);exit;
            @$conf = mysqli_connect($DB_HOST, $DB_USERNAME, $DB_PASSWORD,$DB_DATABASE) or die("不能连接数据库 $DB_HOST");//连接数据库
            //@mysql_select_db($DB_DATABASE) or die ("不能打开数据库 $DB_DATABASE");//打开数据库
            echo "<p>正在清空数据库,请稍等....<br>";
            $result = mysqli_query($conf,"SHOW tables");
    
            //dd($result);
    //        while ($currow=mysqli_fetch_array($result,MYSQLI_NUM))
    //        {
    //            mysqli_query($conf,"drop TABLE IF EXISTS $currow[0]");
    //            echo "清空数据表【".$currow[0]."】成功!<br>";
    //        }
    
            echo "<br>恭喜你清理MYSQL成功<br>";
    
            echo "正在执行导入数据库操作<br>";
            // 导入数据库的MySQL命令
            //echo "mysql -u$DB_USERNAME -p$DB_PASSWORD $DB_DATABASE < ".$file_name;
            //echo "source ".$file_name;
            //exec("source ".$file_name);
            $_sql = file_get_contents($file_name);
            $_arr = explode(';', $_sql);
            //dd($_arr);
            foreach ($_arr as $_value) {
                mysqli_query($conf,"SET NAMES 'utf8'");
                mysqli_query($conf,$_value.';');
            }
            echo "<br>导入完成!";
        }

    开始以为用清空数据表,结果测试发现数据表会自动覆盖^_^

    展开全文
  • 导出代码如下 public function put_out(Request $request){ $table_name = $request -&gt;get('table_name'); $DB_HOST = getenv('DB_HOST'); $DB_DATABASE = getenv('DB_DATABASE'); //从配置文件中获...

    导出代码如下

    public function put_out(Request $request){
            $table_name = $request ->get('table_name');
            $DB_HOST = getenv('DB_HOST');
            $DB_DATABASE = getenv('DB_DATABASE'); //从配置文件中获取数据库信息
            $DB_USERNAME = getenv('DB_USERNAME');
            $DB_PASSWORD = getenv('DB_PASSWORD');
            $dumpfname = $DB_DATABASE . "_" . date("Y-m-d_H-i-s").".sql";
            $command = "D:\\phpserver\\server\\MySQL\\bin\\mysqldump --add-drop-table --host=$DB_HOST --user=$DB_USERNAME ";
            if ($DB_PASSWORD) $command.= "--password=". $DB_PASSWORD ." ";
            $command.= $DB_DATABASE." ";
            $command.= $table_name;
            $command.= " > " . $dumpfname;
            system($command);
          
        }
    

    需要注意的是表名与表名之间用空格隔开,数据库名也要跟表名用空格隔开

    导入代码:

     public function put_in(Request $request){
            $sql_name = $_FILES['file']['name'];
            $path = public_path();
     
            $file_name = $path.'\\'.$sql_name;  //要导入的SQL文件名
            $file_name = str_replace('\\','/',$file_name);
            //print_r($file_name);
     
            $DB_HOST = getenv('DB_HOST');
            $DB_DATABASE = getenv('DB_DATABASE'); //从配置文件中获取数据库信息
            $DB_USERNAME = getenv('DB_USERNAME');
            $DB_PASSWORD = getenv('DB_PASSWORD');
     
            set_time_limit(0); //设置超时时间为0,表示一直执行。当php在safe mode模式下无效,此时可能会导致导入超时,此时需要分段导入
            $fp = @fopen($file_name, "r") or die("不能打开SQL文件 $file_name");//打开文件
            //print_r($fp);exit;
            @$conf = mysqli_connect($DB_HOST, $DB_USERNAME, $DB_PASSWORD,$DB_DATABASE) or die("不能连接数据库 $DB_HOST");//连接数据库
            //@mysql_select_db($DB_DATABASE) or die ("不能打开数据库 $DB_DATABASE");//打开数据库
            echo "<p>正在清空数据库,请稍等....<br>";
            $result = mysqli_query($conf,"SHOW tables");
     
            //dd($result);
    //        while ($currow=mysqli_fetch_array($result,MYSQLI_NUM))
    //        {
    //            mysqli_query($conf,"drop TABLE IF EXISTS $currow[0]");
    //            echo "清空数据表【".$currow[0]."】成功!<br>";
    //        }
     
            echo "<br>恭喜你清理MYSQL成功<br>";
     
            echo "正在执行导入数据库操作<br>";
            // 导入数据库的MySQL命令
            //echo "mysql -u$DB_USERNAME -p$DB_PASSWORD $DB_DATABASE < ".$file_name;
            //echo "source ".$file_name;
            //exec("source ".$file_name);
            $_sql = file_get_contents($file_name);
            $_arr = explode(';', $_sql);
            //dd($_arr);
            foreach ($_arr as $_value) {
                mysqli_query($conf,"SET NAMES 'utf8'");
                mysqli_query($conf,$_value.';');
            }
            echo "<br>导入完成!";
        }
    

    开始以为用清空数据表,结果测试发现数据表会自动覆盖^_^

    展开全文
  • laravel 打印完整sql语句

    万次阅读 2018-05-16 11:20:30
    laravel5 本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦: Markdown和扩展Markdown简洁的语法 代码块高亮 图片链接和图片上传 LaTex数学公式 UML序列图和流程图 离线写博客 导入导出...

    laravel5

    用DB自带的getQueryLog方法直接打印:

    DB::connection()->enableQueryLog();  // 开启QueryLog
    \App\User::find(1);
    dump(DB::getQueryLog());

    得到的结果语句与参数是分开的,非常不方便验证

    [
      0 => array:3 [▼
        "query" => "select * from `mall_users` where `mall_users`.`id` = ? limit 1"
        "bindings" => array:1 [▼
          0 => 1
        ]
        "time" => 11.87
      ]
    ]

    若要打印出完整的sql语句,可将以下代码复制到AppServiceProvider中的boot方法中:

    \DB::listen(
        function ($sql) {
            foreach ($sql->bindings as $i => $binding) {
                if ($binding instanceof \DateTime) {
                    $sql->bindings[$i] = $binding->format('\'Y-m-d H:i:s\'');
                } else {
                    if (is_string($binding)) {
                        $sql->bindings[$i] = "'$binding'";
                    }
                }
            }
    
            // Insert bindings into query
            $query = str_replace(array('%', '?'), array('%%', '%s'), $sql->sql);
    
            $query = vsprintf($query, $sql->bindings);
    
            // Save the query to file
            $logFile = fopen(
                storage_path('logs' . DIRECTORY_SEPARATOR . date('Y-m-d') . '_query.log'),
                'a+'
            );
            fwrite($logFile, date('Y-m-d H:i:s') . ': ' . $query . PHP_EOL);
            fclose($logFile);
        }
    );

    日志在storage/log/xxx_query.log


     
    转载来源:https://blog.csdn.net/buer2202/article/details/75364465

    展开全文
  • $fp = @fopen($filename, "r") or die("不能打开SQL文件 $filename");//打开文件 //print_r($fp);exit; @$conf = mysqli_connect($DB_HOST, $DB_USERNAME, $DB_PASSWORD,$DB_DATABASE) or die("不能连接数据库 $...
  • 可以使用下面的命令 ... 当然,你需要有可以 migrate 的东西。...数据库迁移导出到文件(使用命令) <?php namespace App\Console\Commands; use Illuminate\Contracts\Bus\SelfHandling; ...
  • (SQL: select * from `points` order by `score` desc, `score` desc limit 100 offset 0) {"exception":"[object] (Illuminate\\Database\\QueryException(code: HY000): ...
  • laravel 开发过程中,我们为了将自己本地数据库中的数据导出给别人用有两种方法:最普通的也就是将自己的数据库用命令行或者图形操作工具导出成 .sql 的文件给对方使用 ,另外一种就是 laravel 提供的数据库 seed...
  • 现在在参考此博文 在引入PHPExcel类的时候出了问题,网上看了一些资料没有说明怎么引入,或者...最后是将EXCEL表格中的数据导入到数据库中的新建的一张表中,通过SQL语句实现需求的 update new_region_copy1 n
  • laravel 数据库备份和数据恢复

    千次阅读 2018-08-30 15:41:25
    数据库的备份与恢复,可以将数据库中的数据导出SQL文件(导出之前可选择对应的数据表),并且有SQL导入功能 /** 数据备份 导出 */ public function backupsData() { $sql_filename='ftdm_'.date('YmdHis').'.'....
  • 数据库导出sql文件命令: /bin/mysqldump -u root -p database_name &gt;file_name.sql 需要SQL密码 数据库导入sql文件命令:进入mysql console use database_name;source path/file_nam...
  • 完整laravel5.3案例,包含导出excel,发送附件邮件 1、查询语句报错:this is incompatible with sql_mode=only_full_group_by、或者orderby等一些问题  解决:这是因为laravel mysql数据库开启了严格模式,导致...
  • 你可以在终端里通过运行一行命令导出整个数据库。...然后,我决定编写一个能够自动完成数据库导出并保存到 SQL 文件的脚本。 另外,如果你需要一款功能强大的数据备份系统,你可以看看 这个 扩展。这样我...
  • 「废话」虽然我在项目中很少用到,因为我做的几个项目都是直接去改数据库的,然后直接导出 sql 文件上传 live 站或是给客户. mysql workbench 利用工具可以直接将数据库导成 migration 文件,如果需要的话. 首先在 ...
  • 优化点优化SQL语句,避免慢查询,合理的建立索引,查询指定的字段,sql优化这块在此就不展开了。查询的结果集为大对象时转数组处理,框架中一般有方法可以转,如Laravel中有toArray(),Yii2中有asArray()。对于大数组...
  • 记录学习网址

    2021-01-13 14:09:11
    宝塔使用 ... 无备份情况下恢复MySQL误删的表,这样做...mysql数据库导入导出文件sql文件 https://www.cnblogs.com/withfeel/p/10796633.html Laravel的Warning: require..../vendor/autoload.php错误的解决办法 https
  • 优化点优化SQL语句,避免慢查询,合理的建立索引,查询指定的字段,sql优化这块在此就不展开了。查询的结果集为大对象时转数组处理,框架中一般有方法可以转,如Laravel中有toArray(),Yii2中有asArray()。对于大数组...
  • PHP内存溢出详解

    2020-04-01 09:24:16
    优化SQL语句,避免慢查询,合理的建立索引,查询指定的字段,sql优化这块在此就不展开了。 查询的结果集为大对象时转数组处理,框架中一般有方法可以转,如Laravel中有toArray(),Yii2中有asArray()。 对于大数组...
  • 优化点优化SQL语句,避免慢查询,合理的建立索引,查询指定的字段,sql优化这块在此就不展开了。查询的结果集为大对象时转数组处理,框架中一般有方法可以转,如Laravel中有toArray(),Yii2中有asArray()。对于大数组...
  • 优化点1、优化SQL语句,避免慢查询,合理的建立索引,查询指定的字段,sql优化这块在此就不展开了。2、查询的结果集为大对象时转数组处理,框架中一般有方法可以转,如Laravel中有toArray(),Yii2中有asArray()。3、...
  • 优化点优化SQL语句,避免慢查询,合理的建立索引,查询指定的字段,sql优化这块在此就不展开了。查询的结果集为大对象时转数组处理,框架中一般有方法可以转,如Laravel中有toArray(),Yii2中有asArray()。对于大数组...

空空如也

空空如也

1 2
收藏数 22
精华内容 8
关键字:

laravel导出sql