通过PHP代码将大量数据插入到Sqlite3
PHP代码
读入txt文件,并写入到sqlite数据库里
<?php
date_default_timezone_set('PRC');
$pdo = new PDO('sqlite:db/qq71e.sqlite3');
$sql = array();
$sql[] = 'CREATE TABLE qq(qq text,mobile text)';
//$sql[] = 'CREATE INDEX idx_qq_qq ON qq(qq)';
//$sql[] = 'CREATE INDEX idx_qq_mobile ON qq(mobile)';
foreach ($sql as $sqlOne) {
$pdo->query($sqlOne);
}
$f = fopen('db/qq71e.txt', 'r');
$i = 0;
echo date('Y-m-d H:i:s') . "\t" . $i . "\r\n";
$pdo->query('BEGIN');
$sql = "INSERT INTO qq(qq,mobile)VALUES(:qq, :mobile)";
$sth = $pdo->prepare($sql);
while (!feof($f)) {
if ($i % 1000000 === 0) {
echo date('Y-m-d H:i:s') . "\t" . $i . " ... ";
$pdo->query('COMMIT');
echo "[OK]\r\n";
$pdo->query('BEGIN');
}
$line = func1(fgets($f));
if ($line == '') continue;
$row = explode('----', $line);
$i++;
$data = array();
$data[':qq'] = $row[0];
$data[':mobile'] = isset($row[1]) ? $row[1] : '';
$sth->execute($data);
}
function func1($str) {
$str = trim($str . "\r");
$str = trim($str . "\n");
return $str;
}
$pdo->query('COMMIT');
echo date('Y-m-d H:i:s') . "\t" . $i . "\r\n";
下面是查询数据是否有异常
<?php
date_default_timezone_set('PRC');
$pdo = new PDO('sqlite:db/qq71e.sqlite3');
$sql = 'SELECT * FROM qq LIMIT 10';
//$sql = 'SELECT * FROM qq WHERE qq LIKE :qq LIMIT 10';
$sth = $pdo->prepare($sql);
$param = array();
//$param[':qq'] = '30%';
$sth->execute($param);
$result = $sth->fetchAll(PDO::FETCH_ASSOC);
print_r($result);
还需要创建个索引来加快查询速度
通过PHP代码将大量数据插入到Sqlite3的更多相关文章
- MySql中把一个表的数据插入到另一个表中的实现代码
web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码 ...
- 通过python代码连接MySQL以及插入和显示数据
通过python代码连接MySQL以及插入和显示数据: 数据库huahui创建一个shibie的表,里面有两个varcahr(100)的字段,num和result. import pymysql im ...
- EF CodeFirs 代码迁移、数据迁移
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 标题叫EF CodeFirs 代码迁移.数据迁移. ...
- 导入excle数据将excle数据插入到数据库
实现功能是,用户可以直接导入对应数据,或者用户下载模板,填写数据,导入模板数据.easyui实现 前台页面 { text : '日清导入', iconCls : 'icon-print', handl ...
- 定时从远程的数据库中取数据,然后把取出来的数据插入或更新本地的oracle数据库的表
最近项目中有一种需求: 大致需求是这样的 通过给定的 用户名和密码 要定时从远程的数据库中取数据,然后把取出来的数据插入或更新本地的oracle数据库的表 项目的结构式struts1 hibernat ...
- DataGridView绑定数据库,取得的数据插入到DataGridView指定列(一)
实现: 点击button1,从数据库中获得数据,指定数据库的某列数据插入到DataGridView指定列 一.双击button1进入事件代码 private void button1_Click(ob ...
- .NET批量大数据插入性能分析及比较
数据插入使用了以下几种方式 1. 逐条数据插入2. 拼接sql语句批量插入3. 拼接sql语句并使用Transaction4. 拼接sql语句并使用SqlTransaction5. 使用DataAda ...
- Ajax实现xml文件数据插入数据库(二)--- ajax实现与jsp的数据交互。
在上一篇文章中我们成功得到了重新组织后的数据,接下来需要做的便是将数据插入到数据库中了.在与数据库打交道的过程中有一些方法是普遍的,我们将这些通用方法封装到一个DbUtil类中,以便复用,封装好的Db ...
- Sql Server数据库使用触发器和sqlbulkcopy大批量数据插入更新
需要了解的知识 1.触发器 2.sqlbulkcopy 我的用途 开发数据库同步的工具,需要大批量数据插入和数据更新. 方式 使用SqlBulkCopy类对数据进行数据批量复制,将需要同步数据的表新建 ...
随机推荐
- open()和with open() as的区别
2020-03-18 20:37:55 open()和with open() as的区别 1 file = open("test.txt","r") 2 fo ...
- Java基础教程——线程池
启动新线程,需要和操作系统进行交互,成本比较高. 使用线程池可以提高性能-- 线程池会提前创建大量的空闲线程,随时待命执行线程任务.在执行完了一个任务之后,线程会回到空闲状态,等待执行下一个任务.(这 ...
- 一条 sql 的执行过程详解
写操作执行过程 如果这条sql是写操作(insert.update.delete),那么大致的过程如下,其中引擎层是属于 InnoDB 存储引擎的,因为InnoDB 是默认的存储引擎,也是主流的,所以 ...
- 腾讯牛逼!终于开源了自家的 Tencent JDK——Kona!!.md
是的,继阿里 2019/03 开源基于 OpenJDK 的长期支持版本 Alibaba Dragonwell 之后,腾讯也发布了自家的开源免费的 JDK 版本--Tencent Kona,必须替小马哥 ...
- 第9章 Python文件操作目录
第9章 Python文件操作 第9.1节 Python的文件打开函数open简介 第9.2节 Python的文件打开函数open详解 第9.3节 Python的文件行读取:readline 第9.4节 ...
- HTTP响应报文应答状态码及含义
本应答报文状态码是老猿结合多方资料收集综合后并加以老猿自己的理解进行说明的应答报文状态码,应该是最新最全解释最详尽的,供大家参考:
- PyQt(Python+Qt)学习随笔:QAbstractItemView的alternatingRowColors属性
老猿Python博文目录 老猿Python博客地址 alternatingRowColors属性用于控制视图中不同行记录背景色是否使用交替不同的颜色. 如果此属性为True,则将使用QPalette. ...
- PyQt程序执行时报错:AttributeError: 'winTest' object has no attribute 'setCentralWidget'的解决方法
用QtDesigner设计了一个UI界面,保存在文件Ui_wintest.ui中,界面中使用了MainWindow窗口,窗口名字也叫MainWindow,用PyUIC将其转换成了 Ui_wintest ...
- java中的反射(三)
目录 一.反射 1.class类 2.访问字段 3.调用方法 4.调用构造方法 5.获取继承对象 6.动态代理 二.sping中的反射 本篇转自:https://depp.wang/2020/05/0 ...
- 一份平民化的MySQL性能优化指南
前言 近期在重新学习总结MySQL数据库性能优化的相关知识,本文是根据自己学习以及日常性能测试调优过程中总结的经验整理了一份平民化的优化指南,希望对大家在进行MySQL调优分析时有帮助! MySQ ...