PHP导出数据库sql文件,add和update

/*** 导出sql文件*/public function exportSql(){   //需要导出的数据库表存入到数组当中   $tables =array("T_CRM_QUEUE_FAIL","T_CRM_QUEUE");     //定义一个变量存放sql语句   $content = ‘‘;  //打开并写入sql文件   $fp    = fopen("./Upload/exportSql/".date(‘Ymd‘).".sql",‘w+‘);   foreach ($tables as $k=>$v){      $content .= "\r\n--  ".$v."-- \r\n";      $sql   = "SELECT * FROM ".$v;      $tablesInfo= M()->query($sql);      //将每个表的数据导出到文件      foreach($tablesInfo as $key=> $val){         if($val[‘CDATE‘] != $val[‘UDATE‘]){//如果添加时间和修改时间不一致,则为修改            $sqlInsert = $this->array_to_sql($val,‘update‘);            $content.="UPDATE `$v`  ".$sqlInsert.";\r\n";         }else{            $sqlInsert = $this->array_to_sql($val);            $content.="INSERT INTO `$v` VALUES ".$sqlInsert.";\r\n";         }      }   }   fputs($fp,$content );//写入文件   fclose($fp);//关闭}/** * [array_to_sql 根据数组key和value拼接成需要的sql] * @param [type] $array  [key, value结构数组] * @param string $type  [sql类型insert,update] * @param array $exclude [排除的字段] * @return [string]     [返回拼接好的sql] */public  function array_to_sql($array, $type=‘insert‘, $exclude = array()){

   $sql = ‘‘;   if(count($array) > 0){      foreach ($exclude as $exkey) {         unset($array[$exkey]);//剔除不要的key      }

      if(‘insert‘ == $type){         $keys = array_keys($array);         $values = array_values($array);         $col = implode("`, `", $keys);         $val = implode("‘, ‘", $values);         $sql = "(`$col`) values(‘$val‘)";      }else if(‘update‘ == $type){         $tempsql = ‘‘;         $temparr = array();         foreach ($array as $key => $value) {            $tempsql = "‘$key‘ = ‘$value‘";            $temparr[] = $tempsql;         }

         $sql = implode(",", $temparr);      }   }   return $sql;}
时间: 2024-10-20 03:12:25

PHP导出数据库sql文件,add和update的相关文章

linux命令行下导出导入.sql文件

一.导出数据库用mysqldump命令(注意mysql的安装路径,即此命令的路径):1.导出数据和表结构(以管理员身份运行): ---------------------------------------------------------------------------------------------- C:\Users\dell>F: F:\>cd phpStudyF:\phpStudy>cd MySQL F:\phpStudy\MySQL>cd binF:\phpS

PowerDesign PDM模型设计以及PDM<=>数据库SQL文件

一.PDM模型设计: 1.P为主键,M为非空. 2.Link关联 3.Reference外键 二.PowerDesign 配置Mysql ODBC 1.官网:http://dev.mysql.com/downloads/connector/odbc/   下载odbc驱动安装: 2.Database --> Configure Connections --> Add DataSource(ctrl + N)  --> 配置数据库连接属性 --> OK. 三.PDM转SQL文件: 1

oracle导出数据库dmp文件

使用命令行导出dmp文件 需要计算机安装的有oracle 否则导出数据的时候会不能指定盘符 导出的dmp文件会存在连接的服务器上 导出数据 exp kllogt/[email protected]/orcl file=D:\kelu.dmp 导入数据 连接到system用户>sql 创建表空间 CREATE TABLESPACE KLLOG DATAFILE 'D:/tablespace/kelu/kelu.pdf' SIZE 500m; 创建用户 CREATE USER kllogt IDEN

PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)

1. 首先要得到该数据库中有哪些表,所用函数 mysql_list_tables(),然后可以将获取的所有表名存到一个数组.----------------该函数由于被弃用   用show tables from database_name代替2. show create table 表名 可以获取表结构.3. select * from 表名 取出所有记录,用循环拼接成 insert into... 语句. <?php header("Content-type:text/html;cha

SQL Server下ADO.NET 怎么获取数据库SQL语句INSERT,UPDATE,DELETE了多少行数据

ADO.NET 在发送SQL语句到SQL Server数据库后,怎么知道真正INSERT,UPDATE,DELETE了多少行数据呢? 使用SQL Server内置的全局变量@@ROWCOUNT即可,@@ROWCOUNT可以返回在当前数据库连接(SqlConnection)中,执行的上一条SQL语句影响了多少行数据,使用示例如下所示: INSERT INTO [dbo].[Person]([PersonCode],[Name],[Age],[City]) VALUES (N'P8000',N'He

Oracle导入、导出数据库dmp文件

版本 1.实例数据完全导出 即导出指定实例下的所有数据 exp username/[email protected]/orcl file=d:/daochu/test.dmp full=y 2.用户数据导出 即导出指定实例下指定用户的数据,如下为导出用户myoracle1和用户myoracle2的数据 exp username/[email protected]/orcl file=d:/daochu/test.dmp owner=(myoracle1,myoracle2) 3.具体表数据导出

使用adb命令行导出[数据库db3]文件

cmd->cd到:D:\tools\adt-bundle-windows-x86_64-20140321\adt-bundle-windows-x86_64-20140321\sdk\platform-tools adb start-service adb pull /data/data/com.example.day03_db/files/my.db3 D://

使用MYSQL命令直接导入导出SQL文件(转)

参考:http://blog.csdn.net/jiary5201314/article/details/52026816 1.MYSQL中将数据库导出成SQL文件 其实很简单的,就是一条语句就可以了,首先我们打开cmd,不用进mysql指令界面,直接按照下列格式将导出语句敲进去,然后再输入密码即可了: mysqldump -h[主机所在IP] -u[用户名] -p [要导出的数据库]>[导出的路径//[文件名].sql] 好吧,直接这样看可能有点抽象,我们来举个例子,目前我的MYSQL中有一个

mysql workbench 将查询结果导出 sql 文件

之前一直使用的是plsql,因为换了家公司所以改成mysql了,我使用的时候mysql免费的客户端工具 workbench, 因为之前没用过,所以有很多功能找不到. 这里将用到的功能记录一下: 1:将查询的结果集,导出成.sql 文件 一共三条数据集 最上方选项 Query->export ResultSet 默认导出的格式是CSV,  选择 formart ->SQL INSERT statements ok 这样就将查询的结果集导出成sql文件了,也可以点击 export 完成上面操作 查