sqlite 是一个小型的关系型数据库,它最大的特点在于不需要单独的服务、零配置。我们在之前讲过的两个数据库,不管是 MysqL 还是 MongoDB,都需要我们安装。安装之后,然后运行起来,其实这就相当于已经有一个相应的服务在跑着。
sqlite 与前面所说的两个数据库不同。首先Python 已经将相应的驱动模块作为了标准库的一部分,只要是你安装了 Python,就可以使用;再者它可以类似于操作文件那样来操作 sqlite 数据库文件。还有一点,sqlite 源代码不受版权限制。
建立连接
sqlite 也是一个关系型数据库,所以 sql 可以直接在里面使用。由于 sqlite 的驱动已经在 Python 里面了,所以只要引用就可以直接使用,由于我们之前已经讲过 MysqL 了,所以对于本次内容理解起来就容易多了。
由上面的代码我们得到了连接对象,是不是觉得比 MysqL 连接要简单很多呢?在 sqlite3.connect('lite.db') 中,如果已经有了那个数据库,就直接连接它,如果没有的话,就会自动建一个。需要注意的是,这里的路径是可以随意指定的。
建立游标
这一步其实跟 MysqL 也很类似,连接了数据库之后,要建立游标对象:
>>> cur = conn.cursor()
我们在里面看到了一系列我们熟悉的名称:close()、execute()、fetchall() 等。
1.创建数据库表
面对 sqlite 数据库,我们之前熟悉的 sql 指令都可以用:
这样就在数据库 lite.db 中建立了一个表 books。对这个表可以增加数据:
为了保证数据能够保存,还要进行如下操作:
以上,在刚才建立的数据库中已经有了一个表 books,表中已经有了一条记录。
2.查询
保存以后我们来查询一下:
3.批量插入
我们来给 books 表中多增加一些内容,以便于我们进行其它的操作:
这次我们来一个批量插入:
接下来我们用循环语句来打印一下查询结果:
4.更新
正如我们前面所说的,在 cur.execute() 中,可以写 sql 语句来操作数据库:
接下来我们按照条件查询来看一看:
5.删除
最后不要忘记在完成对数据库的操作以后,一定记得给人家「关上门」:
写在之后
基本的知识差不多就是这些,当然肯定不局限于此。在实际的编程中我们肯定会遇到很多的问题,大家记得要多多去查阅官方文档,学会解决问题。