php 操作 mysql 实现批量执行mysql语句 mysql文件

 1 <?php
 2 /**
 3  * 批量运行sql文件
 4  * 正则分隔是重点 preg_split("/;[\r\n]+/", filecontent)
 5  */
 6 $config = require ‘../dataconfig.php‘;
 7 $dbhost = $config[‘DB_HOST‘];
 8 $dbname = $config[‘DB_USER‘];
 9 $dbpass = $config[‘DB_PWD‘];
10 $db_database = $config[‘DB_NAME‘];
11 $sqlfile = ‘aa.sql‘; //运行sql文件地址
12 $db = new mysqli($dbhost, $dbname, $dbpass, $db_database) or die("连接数据库失败!");
13 $db->query("set names ‘utf8‘");
14 $sql_array = preg_split("/;[\r\n]+/", file_get_contents($sqlfile));
15 foreach ($sql_array as $k => $v) {
16     $result = $db->query($v);
17     if ($result) {
18         echo "Query OK<br/>";
19     } else {
20         echo $db->error() . ‘<br>‘;
21     }
22 }
23 $db->close();

原文地址:https://www.cnblogs.com/handle/p/9246090.html

时间: 2024-08-28 22:33:44

php 操作 mysql 实现批量执行mysql语句 mysql文件的相关文章

MySQL中批量执行SQL语句

DROP DATABASE IF EXISTS databaseWeb; -- 如果存在,则删除模式 databaseWebCREATE DATABASE databaseWeb CHARACTER SET utf8; -- 创建模式 databaseWeb.使用 utf8 编码 USE databaseWeb; -- 切换到模式 databaseWeb,以下操作均在 databaseWeb 下 set NAMES 'utf8'; -- 控制台使用 utf8 编码,若使用gbk编码则会使插入中文

JDBC连接MYSQL,批量执行SQL语句或在执行一个SQL语句之前执行一个SQL语句

conn = MysqlJdbcUtils.getConnection(); Statement ps=conn.createStatement(); ps.addBatch("truncate QB_ShowCount_Asite_copy"); ps.executeBatch(); String SrcSql = "select convert(unhex(hex(convert(Community using latin1))) using utf8) as Commu

SQL*PLUS中批量执行SQL语句

SQL*PLUS中批量执行SQL语句 今天由于工作的需要,要在CMD中批量执行大量的SQL语句,对于Oracle学习还处在入门阶段的我,只能硬着头皮到处去寻找资料(主要是网络资料,也包括自己的电子书),最后将所有的SQL语句一次性的执行完成. 首先,将要执行的所有的SQL语句,全部写入某个sql文件当中.例如f:\test.sql; 然后,通过通过sqlplus连接到数据库:如: SQL> sqlplus test/[email protected]; 再执行如下命令: SQL> @f:\te

mysqli扩展库应用---批量执行sql语句

1, mysqli批量执行sql语句.基本语法: $sqls=”sql1;sql2;………” mysqli::multi_query($sqls); 同一个$sqls要么是增删改语句集合,要么是查询语句的集合,查询语句和增删改最好不要混合.应用示例如下: ① 操作数据库的代码: <?php class mysqliMutiTool{ private $mysqli = null; private static $host = "10.252.158.217"; private s

批量执行sql语句

基本使用 $sqls="sql语句1;sql语句2;sql语句n"; 或 $sqls="insert into xx;";  $sqls.="insert into xx;"; $res=mysqli::multi_query($sqls); 如果$sqls 是dml 语句,则$res 返回布尔值: 如果$sqls 是dql 语句,则$res 返回多个结果集,需要使用mysqli::store_result() 和 mysqli::more_re

powershell利用winform批量执行tsql语句

#加载.net的winform模块 [Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") $app=[System.Windows.Forms.Application]$myForm=new-object System.Windows.Forms.Form$myForm.Text="T_sql Excute window" #执行程序的按钮 $button1 = new-object S

mysql用户管理, 常用sql语句,mysql数据库备份恢复

mysql用户管理 新创建一个指定IP的用户,可以访问mysql的某些库某些表. 所有库的所有表,如果想指定访问某个库某些表,只需要修改名称user1 指定用户名br/>@后面的ip是指定ip,%表示所有的ipindentified by 后面是用户的密码验证用用户user1登录也可以指定localhost,登录时不输入本机ip地址即可访问查看授权,用于授权给新用户,新权限: 常用sql 语句 查看库表的行数搜索:select count() from mysql.user;搜索:select

mysql数据库批量执行sql文件对数据库进行操作【windows版本】

起因: 因工作需要,在本机测试环境升级mysql数据库,需逐条执行mysql数据库的sql文件对数据库进行升级,因此找了些关于mysql的文章,对批量升级数据库所需的sql文件进行升级. 整理思路: 首先,需要对所需升级的sql所在目录的sql文件进行遍历.生成新的批量执行sql文件.想到是windows系统安装的mysql,首先想到使用bat进行sql文件的生成: 生成sql文件后,还需要使用bat文件连接到数据库,并使用新生成的sql文件进行升级. 想到升级的过程中还有可能字符集出现问题,因

JDBC进阶之PreparedStatement执行SQL语句(MySQL)

一.什么是PreparedStatement 参阅Java API文档,我们可以知道,PreparedStatement是Statement的子接口(如图所示),表示预编译的 SQL 语句的对象,SQL 语句被预编译并存储在PreparedStatement 对象中.然后可以使用此对象多次高效地执行该语句. 二.通过PreparedStatement获取在运行命令行中执行的参数,将参数插入到某张数据表中 相关的实验过程,包括在预先创建程序所需数据库.创建所需数据表格.在开发环境中加载驱动程序包等

MySQL cron定时执行SQL语句

mysql脚本内容如下: #!/bin/bash mysql -uroot -pmdap <<EOF use sbb; UPDATE param_config SET effect_param_value=ineffect_param_value WHERE ineffect_param_value IS NOT NULL; exit EOF 设置定时任务: 输入:crontab -e 设置脚本执行时间:每天23:10执行脚本 10 23* * * sh /xxx/updateParamCon