「这是我参与2022首次更文挑战的第17天,活动详情查看:2022首次更文挑战」。
sqlite 是一种嵌入式的开源数据库引擎,可以将它嵌入到应用中,这样做的好处是非常轻便,可以在本地就享受到sql 的便利。比如我们知道的 websql 内部操作的就是 sqlite,另外微信也是用 sqlite 存储本地的数据。
那么 sqlite 的优势和不足是啥?优势就是非常轻量级,查询和操作方便,很容易嵌入到不同的应用当中。它的劣势就是,它通常用于小型或者中型的存储,不适用高并发的情况,sqlite 同一时间只允许一个写操作。因为只是一个简化版的 sql 引擎,所以没有用户管理,很多语法也和正规的sql语法有出入,比如: sqlite 不支持 right join,需要将其转化为 left join 等。另外 sqlite 仅支持只读视图,我们只能创建和读取视图,不能删除。
如何使用 sqlite 呢?比如在 python 中,我们可以按照如下步骤使用:
- 引入 sqlite: import sqlite3
- 创建数据库连接:connect = sqlite3.connect('a.db')
- 获取sqlite的游标:cursor = connect.cursor()
- 最后我们就可以调用游标上的 execute 方法来进行数据库的管理啦: cur.execute("CREATE TABLE IF NOT EXISTS heros (id int primary key, name text, hp_max real, mp_max real, role_main text)")
另外,我们也可以使用 navicat 数据库可视化工具来查看和管理 sqlite,用法比较简单,不需要进行身份认证,只需要找到数据库文件进行导入即可。
需要注意的是,应用内置的 sqlite 的数据都保存在了用户本地,如果用户换了设备,那么数据会全部消失,如果要保证数据的安全,需要将数据同步到远程数据库中。如果数据安全性等比较高,那么建议还是采用远程数据库,因为本地数据库的内容可以被随时篡改,不具有权威性。