返回顶部
首页 > 资讯 > 数据库 >mysql中怎么使用php批量插入数据
  • 753
分享到

mysql中怎么使用php批量插入数据

2024-04-02 19:04:59 753人浏览 安东尼
摘要

这篇文章将为大家详细讲解有关Mysql中怎么使用PHP批量插入数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  假如说我有这样一个表,我想往这个表里面插

这篇文章将为大家详细讲解有关Mysql中怎么使用PHP批量插入数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

  假如说我有这样一个表,我想往这个表里面插入大量数据:

  CREATE TABLE IF NOT EXISTS `user_info` (

  `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '自增主键',

  `name` varchar(255) NOT NULL default '' COMMENT '姓名',

  `age` int(11) NOT NULL default '0' COMMENT '年龄',

  PRIMARY KEY (`id`)

  ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户信息表';

  批量插入

  方法一、使用for循环插入

  在往mysql插入少量数据的时候,我们一般用for循环:

  $arr = [

  [

  'name' => 'testname1',

  'age' => 18,

  ],

  [

  'name' => 'testname2',

  'age' => 19,

  ],

  [

  'name' => 'testname3',

  'age' => 18,

  ],

  ];

  $servername = "localhost";

  $port = 3306;

  $username = "username";

  $passWord = "password";

  $dbname = "mytestdb";

  // 创建连接

  $conn = new mysqli($servername, $username, $password, $dbname, $port);

  // 检测连接

  if ($conn->connect_error) {

  die("connect failed: " . $conn->connect_error);

  }

  $costBegin = microtime(true);

  foreach($arr as $item) {

  $sql = sprintf("INSERT INTO user_info (name, age) VALUES ( '%s', %d);", $item['name'], (int)$item['age']);

  if ($conn->query($sql) === TRUE) {

  echo "insert success";

  } else {

  echo "Error: " . $sql . "< br>" . $conn->error;

  }

  }

  $costEnd = microtime(true);

  $cost = round($costEnd - $costBegin, 3);

  var_dump($cost);

  $conn->close();

  假如说要批量插入大量数据,如果还用for循环的办法插入是没有问题的,只是时间会比较长。对比一下插入少量数据与插入大量数据,使用上面的for循环插入耗费的时间:条数时间(单位:秒)。

  方法二、使用insert语句合并插入

  mysql里面是可以使用insert语句进行合并插入的,比如:

  INSERT INTO user_info (name, age) VALUES ('name1', 18), ('name2', 19);表示一次插入两条数据

  $arr = [

  [

  'name' => 'testname1',

  'age' => 18,

  ],

  [

  'name' => 'testname2',

  'age' => 19,

  ],

  [

  'name' => 'testname3',

  'age' => 18,

  ],

  // 此处省略

  ……

  ……

  ];

  $servername = "localhost";

  $port = 3306;

  $username = "username";

  $password = "password";

  $dbname = "mytestdb";

  // 创建连接

  $conn = new mysqli($servername, $username, $password, $dbname, $port);

  // 检测连接

  if ($conn->connect_error) {

  die("connect failed: " . $conn->connect_error);

  }

  $costBegin = microtime(true);

  if (!empty($arr)) {

  $sql = sprintf("INSERT INTO user_info (name, age) VALUES ");

  foreach($arr as $item) {

  $itemStr = '( ';

  $itemStr .= sprintf("'%s', %d", $item['name'], (int)$item['age']);

  $itemStr .= '),';

  $sql .= $itemStr;

  }

  // 去除最后一个逗号,并且加上结束分号

  $sql = rtrim($sql, ',');

  $sql .= ';';

  if ($conn->query($sql) === TRUE) {

  } else {

  echo "Error: " . $sql . "

  " . $conn->error;

  }

  }

  $costEnd = microtime(true);

  $cost = round($costEnd - $costBegin, 3);

  var_dump($cost);

  $conn->close();

  下面看一下少量数据与大量数据的时间对比。从总体时间上,可以看出insert合并插入比刚才for循环插入节约了很多时间,效果很明显条数时间(单位:秒)。

  如果你觉得数组太大,想要减少sql错误的风险,也可以使用array_chunk将数组切成指定大小的块,然后对每个块进行insert合并插入。

关于mysql中怎么使用php批量插入数据就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

您可能感兴趣的文档:

--结束END--

本文标题: mysql中怎么使用php批量插入数据

本文链接: https://lsjlt.com/news/56705.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • mysql中怎么使用php批量插入数据
    这篇文章将为大家详细讲解有关mysql中怎么使用php批量插入数据,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  假如说我有这样一个表,我想往这个表里面插...
    99+
    2024-04-02
  • MySQL中怎么批量插入数据
    本篇文章为大家展示了MySQL中怎么批量插入数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1.创建测试表mysql> show create table ...
    99+
    2024-04-02
  • 使用java怎么向mysql数据库批量插入数据
    今天就跟大家聊聊有关使用java怎么向mysql数据库批量插入数据,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Java可以用来干什么Java主要应用于:1. web开发;2. An...
    99+
    2023-06-14
  • mysql中怎么批量插入规律数据
    mysql中怎么批量插入规律数据,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Sql代码  insert into CPPRADAR( S...
    99+
    2024-04-02
  • SQL中怎么批量插入数据
    SQL中怎么批量插入数据,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。1.创建表。2.创建表值参数类型我们打开查询分析器,然后...
    99+
    2024-04-02
  • MyBatis中怎么批量插入数据
    在MyBatis中,可以使用foreach标签来实现批量插入数据。具体步骤如下: 创建一个Mapper接口,定义一个insertB...
    99+
    2024-03-07
    MyBatis
  • 数据库中怎么批量插入数据
    本文小编为大家详细介绍“数据库中怎么批量插入数据”,内容详细,步骤清晰,细节处理妥当,希望这篇“数据库中怎么批量插入数据”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。批量插入批量插入使用 execute...
    99+
    2023-06-08
  • sql怎么批量插入数据
    对于 sql 中的批量插入数据,提供了 4 种主要方法:1. insert into 语句 2. insert 语句与 select 3. load data infile 语...
    99+
    2024-05-30
  • python批量插入数据到mysql
    使用python批量插入数据到mysql的三种方法 自动化单条insert # -*- coding:utf-8 -*-import timefrom pymysql import *# 装饰器,计算插入50000条数据需要的时间def t...
    99+
    2023-09-06
    mysql 数据库 sql
  • C# MySQL 插入大批量数据
    一、定义DataTable的数据类型 private DataTable GetDataTableFromExternalSource(string tablename) { DataTable dat...
    99+
    2023-09-08
    mysql c# 数据库
  • 怎么用shell脚本在mysql表中批量插入数据
    本篇内容介绍了“怎么用shell脚本在mysql表中批量插入数据”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!很多时候需要在mysql表中插...
    99+
    2023-06-09
  • SQLServer 中怎样批量插入数据
    SQLServer 中怎样批量插入数据,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。运行下面的脚本,建立测试数据库和表值参数。、代码如下:...
    99+
    2024-04-02
  • MySQL怎么快速批量插入1000w条数据
    这篇文章主要介绍MySQL怎么快速批量插入1000w条数据,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!小编发现插入10000条数据用了0.9s, 插入10w条数据用了4.7s, 插入100w条数据用了58s左右,1...
    99+
    2023-06-14
  • Dictionary中怎么批量插入日志数据
    本篇文章为大家展示了Dictionary中怎么批量插入日志数据,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。问题窥探首先,我想到的是Dictionary,对于C#中的Dictionary类相信大家都...
    99+
    2023-06-15
  • Mysql大数据批量插入方法
    MySQL是当前最流行的关系型数据库之一,大数据批量插入是MySQL中常用的操作之一。在处理大量数据时,如果一条一条地插入会极大地影响效率,因此批量插入是一个更好的选择,可以大大提高数据的处理速度。下面介绍几种MySQL大数据批量插入的方法...
    99+
    2023-09-14
    mysql 大数据 数据库
  • Mysql中怎么实现批量插入
    本篇文章为大家展示了Mysql中怎么实现批量插入,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 1.创建测试表:create table...
    99+
    2024-04-02
  • Elasticsearch批量插入数据
    Elasticsearch批量插入数据 使用bulk批量操作数据库 1. 创建批量操作文件 格式: {"index":{"_index":"home","_type":"home",""_id":"2"}}...
    99+
    2024-04-02
  • SQL批量插入数据
    MS SQL Server数据库批量插入数据的sql语句总结:第一种:insert into tb_NameList(Name,InsertDate,UpdateDate)values('aa',GETDA...
    99+
    2024-04-02
  • java 批量插入数据
    批量插入数据,常见的使用mybatis foreach 插入的方式,原始的方式和批处理 1,常见的mybatis foreach xml insert into CODEINFO (CODE_TYPE, CODE, MEAN, STAT...
    99+
    2023-09-03
    mybatis mysql 批量插入
  • 大批量数据分批批量插入或更新(Mybatis+MySQL)
    大批量数据分批批量插入或更新 在MySQL数据库的前提下,插入或更新大批量数据。首先批量插入需要考虑到以下几个因素: 数据库一次可以承受多大或者多少条数据的插入批量插入是否会占用Mysql资源太久,影响系统整体使用性能代码中的集合是否会造成...
    99+
    2023-08-30
    mybatis mysql 数据库 java spring boot
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作