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的更多相关文章

  1. MySql中把一个表的数据插入到另一个表中的实现代码

    web开发中,我们经常需要将一个表的数据插入到另外一个表,有时还需要指定导入字段,设置只需要导入目标表中不存在的记录,虽然这些都可以在程序中拆分成简单sql来实现,但是用一个sql的话,会节省大量代码 ...

  2. 通过python代码连接MySQL以及插入和显示数据

    通过python代码连接MySQL以及插入和显示数据: 数据库huahui创建一个shibie的表,里面有两个varcahr(100)的字段,num和result. import pymysql im ...

  3. EF CodeFirs 代码迁移、数据迁移

    最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精    标题叫EF CodeFirs 代码迁移.数据迁移. ...

  4. 导入excle数据将excle数据插入到数据库

    实现功能是,用户可以直接导入对应数据,或者用户下载模板,填写数据,导入模板数据.easyui实现 前台页面 { text : '日清导入', iconCls : 'icon-print', handl ...

  5. 定时从远程的数据库中取数据,然后把取出来的数据插入或更新本地的oracle数据库的表

    最近项目中有一种需求: 大致需求是这样的 通过给定的 用户名和密码 要定时从远程的数据库中取数据,然后把取出来的数据插入或更新本地的oracle数据库的表 项目的结构式struts1 hibernat ...

  6. DataGridView绑定数据库,取得的数据插入到DataGridView指定列(一)

    实现: 点击button1,从数据库中获得数据,指定数据库的某列数据插入到DataGridView指定列 一.双击button1进入事件代码 private void button1_Click(ob ...

  7. .NET批量大数据插入性能分析及比较

    数据插入使用了以下几种方式 1. 逐条数据插入2. 拼接sql语句批量插入3. 拼接sql语句并使用Transaction4. 拼接sql语句并使用SqlTransaction5. 使用DataAda ...

  8. Ajax实现xml文件数据插入数据库(二)--- ajax实现与jsp的数据交互。

    在上一篇文章中我们成功得到了重新组织后的数据,接下来需要做的便是将数据插入到数据库中了.在与数据库打交道的过程中有一些方法是普遍的,我们将这些通用方法封装到一个DbUtil类中,以便复用,封装好的Db ...

  9. Sql Server数据库使用触发器和sqlbulkcopy大批量数据插入更新

    需要了解的知识 1.触发器 2.sqlbulkcopy 我的用途 开发数据库同步的工具,需要大批量数据插入和数据更新. 方式 使用SqlBulkCopy类对数据进行数据批量复制,将需要同步数据的表新建 ...

随机推荐

  1. Python正则表达式大全

    前言 正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符"))操作的一种逻辑公式,就是用事先定义好的一些特定字符.及这些特定字符的组合,组成 ...

  2. Java蓝桥杯练习题——Huffman树

    Huffman树在编码中有着广泛的应用.在这里,我们只关心Huffman树的构造过程. 给出一列数{pi}={p0, p1, -, pn-1},用这列数构造Huffman树的过程如下: 找到{pi}中 ...

  3. IPSec传输模式/隧道模式下ESP报文的装包与拆包过程

    IPSec协议:IPsec将IP数据包的内容先加密再传输,即便中途被截获,由于缺乏解密数据包所必要的密钥,攻击者也无法获取里面的内容. 传输模式和隧道模式:IPsec对数据进行加密的方式有两种:传输模 ...

  4. 冲刺随笔——Day_Four

    这个作业属于哪个课程 软件工程 (福州大学至诚学院 - 计算机工程系) 这个作业要求在哪里 团队作业第五次--Alpha冲刺 这个作业的目标 团队进行Alpha冲刺 作业正文 正文 其他参考文献 无 ...

  5. fist-第七天冲刺随笔

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE1 这个作业要求在哪里 https://edu.cnblogs.com/campus/fz ...

  6. RocketMq(三):server端处理框架及消费数据查找实现

    rocketmq作为一个高性能的消息中间件,咱们光停留在使用层面,总感觉缺点什么.虽然rocketmq的官方设计文档讲得还是比较详细的,但纸上得来终觉浅!今天我们就来亲自挖一挖rocketmq的实现细 ...

  7. PyQt(Python+Qt)学习随笔:QTextEdit的setText、setHtml、setPlainText之间的区别

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 QTextEdit中提供了三个设置编辑器文本的方法,分别是setTex ...

  8. PyQt(Python+Qt)学习随笔:Designer中的QDialogButtonBox的accepted、rejected和helpRequested信号

    QDialogButtonBox中可以包含多个pushButton,但QDialogButtonBox本身只提供4种信号,分别是accepted.rejected.clicked和helpReques ...

  9. sql black list 绕过

    Black list is so weak for you,isn't it 姿势: return preg_match("/set|prepare|alter|rename|select| ...

  10. Java的字符串操作一些简单的思考

    Java的字符串操作 1 .1不可变的String String对象事不可变的,String类中的每一个看起来会修改String值的方法,实际上都是创建了一个全新的String对象,以包含修改后的字符 ...