通过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类对数据进行数据批量复制,将需要同步数据的表新建 ...
随机推荐
- python ddt实现数据驱动
首先安装ddt模块,命令:pip install ddt 通常情况下,data中的数据按照一个参数传递给测试用例,如果data中含有多个数据,以元组,列表,字典等数据,需要自行在脚本中对数据进行分解或 ...
- 【python】Matplotlib作图常用marker类型、线型和颜色
python作图中常常会考虑用什么颜色.marker.线型,这个资料查了又查,所以自己总结在这个地方,以便常用. 一.常用marker表示 1.普通marker 这类普通marker直接marker ...
- 记录一下超大list引起oom
1.2g的堆内存 比较大的对象20w个,oom
- zk与eureka区别
cap永远的神!
- Oracle11gR2 sqlplus中可以执行上键查询backspace删除
1.1 sqlplus中可以执行上键查询backspace删除 1.1.1 上键查询 方法1: 安装源-导入key-安装rpm包-进入配置文件修改参数 rpm -ivh http://download ...
- Bootstrap Blazor 组件介绍 Table (二)自定义模板列功能介绍
Bootstrap Blazor 是一套企业级 UI 组件库,适配移动端支持各种主流浏览器,已经在多个交付项目中使用.通过本套组件可以大大缩短开发周期,节约开发成本.目前已经开发.封装了 70 多个组 ...
- 微软面试题: LeetCode 151. 翻转字符串里的单词 出现次数:6
题目描述: 给定一个字符串,逐个翻转字符串中的每个单词. 说明: 无空格字符构成一个 单词 .输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包括.如果两个单词间有多余的空格,将反转后 ...
- opencv-python imread、imshow浏览目录下的图片文件
☞ ░ 前往老猿Python博文目录 ░ 一.几个知识点 1.1.使用Python查找目录下的文件 具体请参考<Python正则表达式re模块和os模块实现文件搜索模式匹配>. 1.2.o ...
- PyQt(Python+Qt)学习随笔:QMainWindow的takeCentralWidget对QDockWidget作用案例图解
专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 QMainWindow的takeCentralWidget方法作用是将 ...
- PyQt(Python+Qt)学习随笔:QTableView的showGrid属性
老猿Python博文目录 老猿Python博客地址 showGrid属性用于控制视图中数据项之间是否显示网格,如果该属性为True,则绘制网格:如果该属性为False,则不绘制网格. showGrid ...