SQL必知必会
陈旸
清华大学计算机博士
立即订阅
10179 人已学习
课程目录
已完结 49 讲
0/4登录后,你可以任选4讲全文学习。
开篇词 (1讲)
开篇词丨SQL可能是你掌握的最有用的技能
免费
第一章:SQL语法基础篇 (19讲)
01丨了解SQL:一门半衰期很长的语言
02丨DBMS的前世今生
03丨学会用数据库的方式思考SQL是如何执行的
04丨使用DDL创建数据库&数据表时需要注意什么?
05丨检索数据:你还在SELECT * 么?
06丨数据过滤:SQL数据过滤都有哪些方法?
07丨什么是SQL函数?为什么使用SQL函数可能会带来问题?
08丨什么是SQL的聚集函数,如何利用它们汇总表的数据?
09丨子查询:子查询的种类都有哪些,如何提高子查询的性能?
10丨常用的SQL标准有哪些,在SQL92中是如何使用连接的?
11丨SQL99是如何使用连接的,与SQL92的区别是什么?
12丨视图在SQL中的作用是什么,它是怎样工作的?
13丨什么是存储过程,在实际项目中用得多么?
14丨什么是事务处理,如何使用COMMIT和ROLLBACK进行操作?
15丨初识事务隔离:隔离的级别有哪些,它们都解决了哪些异常问题?
16丨游标:当我们需要逐条处理数据时,该怎么做?
17丨如何使用Python操作MySQL?
18丨SQLAlchemy:如何使用Python ORM框架来操作MySQL?
19丨基础篇总结:如何理解查询优化、通配符以及存储过程?
第二章:SQL性能优化篇 (18讲)
20丨当我们思考数据库调优的时候,都有哪些维度可以选择?
21丨范式设计:数据表的范式有哪些,3NF指的是什么?
22丨反范式设计:3NF有什么不足,为什么有时候需要反范式设计?
23丨索引的概览:用还是不用索引,这是一个问题
24丨索引的原理:我们为什么用B+树来做索引?
25丨Hash索引的底层原理是什么?
26丨索引的使用原则:如何通过索引让SQL查询效率最大化?
27丨从数据页的角度理解B+树查询
28丨从磁盘I/O的角度理解SQL查询的成本
29丨为什么没有理想的索引?
30丨锁:悲观锁和乐观锁是什么?
31丨为什么大部分RDBMS都会支持MVCC?
32丨查询优化器是如何工作的?
33丨如何使用性能分析工具定位SQL执行慢的原因?
34丨答疑篇:关于索引以及缓冲池的一些解惑
35丨数据库主从同步的作用是什么,如何解决数据不一致问题?
36丨数据库没有备份,没有使用Binlog的情况下,如何恢复数据?
37丨SQL注入:你的SQL是如何被注入的?
第三章:认识DBMS (7讲)
38丨如何在Excel中使用SQL语言?
39丨WebSQL:如何在H5中存储一个本地数据库?
40丨SQLite:为什么微信用SQLite存储聊天记录?
41丨初识Redis:Redis为什么会这么快?
42丨如何使用Redis来实现多用户抢票问题
43丨如何使用Redis搭建玩家排行榜?
44丨DBMS篇总结和答疑:用SQLite做词云
第四章:SQL项目实战 (3讲)
45丨数据清洗:如何使用SQL对数据进行清洗?
46丨数据集成:如何对各种数据库进行集成和转换?
47丨如何利用SQL对零售数据进行分析?
结束语 (1讲)
结束语 | 互联网的下半场是数据驱动的时代
SQL必知必会
登录|注册

40丨SQLite:为什么微信用SQLite存储聊天记录?

陈旸 2019-09-04
我在上一篇文章中讲了 WebSQL,当我们在 Chrome、Safari 和 Firefox 等浏览器客户端中使用 WebSQL 时,会直接操作 SQLite。实际上 SQLite 本身是一个嵌入式的开源数据库引擎,大小只有 3M 左右,可以将整个 SQLite 嵌入到应用中,而不用采用传统的客户端/服务器(Client/Server)的架构。这样做的好处就是非常轻便,在许多智能设备和应用中都可以使用 SQLite,比如微信就采用了 SQLite 作为本地聊天记录的存储。
今天我们就来深入了解一下 SQLite,今天的内容主要包括以下几方面:
SQLite 是什么?它有哪些优点和不足?
如何在 Python 中使用 SQLite?
如何编写 SQL,通过 SQLite 查找微信的聊天记录?

SQLite 是什么

SQLite 是在 2000 年发布的,到目前为止已经有 19 年了。一直采用 C 语言编写,采用 C 语言而非 C++ 面向对象的方式,可以提升代码底层的执行效率。但 SQLite 也有一些优势与不足。
它的优势在于非常轻量级,存储数据非常高效,查询和操作数据简单方便。此外 SQLite 不需要安装和配置,有很好的迁移性,能够嵌入到很多应用程序中,与托管在服务器上的 RDBMS 相比,约束少易操作,可以有效减少服务器的压力。
取消
完成
0/1000字
划线
笔记
复制
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
该试读文章来自付费专栏《SQL必知必会》,如需阅读全部文章,
请订阅文章所属专栏。
立即订阅
登录 后留言

精选留言(6)

  • 年底可以导出聊天记录做个词云

    作者回复: Good Idea

    2019-09-04
    8
  • Demon.Lee
    😄,微信聊天记录,涨姿势了

    作者回复: 😄 手机QQ的本地聊天记录也用的SQLite

    2019-09-04
    3
  • 学习
    Navicat如何导入那个wenxin.db呢,有点不太明白,可以说个步骤吗?
    2019-09-04
    1
    2
  • Hanqiu_Tan
    Use ".open FILENAME" to reopen on a persistent database.
    sqlite> .open Manifest.db
    sqlite> .tables
    Error: file is not a database
    sqlite>
    这边试了打不开文件是怎么回事呢?
    2019-09-05
    1
  • Tesla
    这个聊天记录文件应该是不可编辑和替换的吧?

    作者回复: 通过SQLite应该是可以编辑和修改的

    2019-09-22
  • 许童童
    学习了,老师。

    作者回复: 加油童童

    2019-09-05
收起评论
6
返回
顶部