Python连接SQLite数据库
SQLite
是一种嵌入式数据库,它的数据库就是一个文件。由于
SQLite
本身是
C
写的,而且体积很小,所以,经常被集成到各种应用程序中,甚至在
iOS
和
Android
的
App
中都可以集成。
Python
就内置了
SQLite3
,所以,在
Python
中使用
SQLite
,不需要安装任何东西,直接使用。
Python
定义了一套操作数据库的
API
接口,任何数据库要连接到
Python
,只需要提供符合
Python
标准的数据库驱动即可。由于
SQLite
的驱动内置在
Python
标准库中,因此可以直接来操作
SQLite
数据库。
在
Python
中操作数据库时,要先导入数据库对应的驱动,然后通过
Connection
对象和
Cursor
对象操作数据。在数据库操作完毕之后,要确保打开的
Connection
对象和
Cursor
对象都正确地被关闭,否则,资源就会泄露。
Python
连接到
SQLite
数据库示例:
# 导入SQLite驱动
import sqlite3,os
# 连接到SQLite数据库
# 数据库文件是lhrtest.db
# 如果文件不存在,那么会自动在当前目录创建一个数据库文件:
conn = sqlite3.connect('lhrtest.db')
# db_file = os.path.join(os.path.dirname(__file__), 'lhrtest.db')
# if os.path.isfile(db_file):
# os.remove(db_file)
# conn = sqlite3.connect(db_file)
# 创建一个Cursor:
cursor = conn.cursor()
# 执行一条SQL语句,创建user表:
cursor.execute('create table user(id varchar(20) primary key, name varchar(20))')
# 继续执行一条SQL语句,插入一条记录:
cursor.execute('insert into user (id, name) values (\'1\', \'xiaomaimiao\')')
# 通过rowcount获得插入的行数:
print(cursor.rowcount)
# 执行查询语句:
cursor.execute('select * from user where id=?', ('1',))
# 获得查询结果集:
values = cursor.fetchall()
print(values)
# 关闭Cursor:
cursor.close()
# 提交事务:
conn.commit()
# 关闭Connection:
conn.close()
运行结果:
1
[('1', 'xiaomaimiao')]
在程序运行完毕后,会在程序的当前目录下生成一个
lhrtest.db
文件,如下所示:
可以使用
SQLLite
的客户端查看数据库文件的内容:
使用
Python
的
DB API
时,只要搞清楚
Connection
和
Cursor
对象,打开后一定记得关闭,就可以放心地使用。
使用
Cursor
对象执行
insert
,
update
,
delete
语句时,执行结果由
rowcount
返回影响的行数,就可以拿到执行结果。
使用
Cursor
对象执行
select
语句时,通过
featchall()
可以拿到结果集。结果集是一个
list
,每个元素都是一个
tuple
,对应一行记录。
如果
SQL
语句带有参数,那么需要把参数按照位置传递给
execute()
方法,有几个
?
占位符就必须对应几个参数,例如:
cursor.execute('select*from user where name=?and pwd=?',('abc','password'))
About Me
........................................................................................................................
● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除
........................................................................................................................
● QQ群号:
230161599
(满)
、618766405
● weixin群:可加我weixin,我拉大家进群,非诚勿扰
● 联系我请加QQ好友
(
646634621
)
,注明添加缘由
● 于 2019-01-01 06:00 ~ 2019-01-31 24:00 在魔都完成
● 最新修改时间:2019-01-01 06:00 ~ 2019-01-31 24:00
● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解
● 版权所有,欢迎分享本文,转载请保留出处
........................................................................................................................
........................................................................................................................
使用
weixin客户端
扫描下面的二维码来关注小麦苗的weixin公众号(
xiaomaimiaolhr
)及QQ群(DBA宝典)、添加小麦苗weixin,
学习最实用的数据库技术。
........................................................................................................................