Python链接SQLite数据库


Python链接SQLite数据库面试


SQLite数据库更多内容: http://blog.itpub.net/26736162/viewspace-2141867/ sql


SQLite 是一种嵌入式数据库,它的数据库就是一个文件。因为 SQLite 自己是 C 写的,并且体积很小,因此,常常被集成到各类应用程序中,甚至在 iOS Android App 中均可以集成。 Python 就内置了 SQLite3 ,因此,在 Python 中使用 SQLite ,不须要安装任何东西,直接使用。 数据库

Python 定义了一套操做数据库的 API 接口,任何数据库要链接到 Python ,只须要提供符合 Python 标准的数据库驱动便可。因为 SQLite 的驱动内置在 Python 标准库中,所以能够直接来操做 SQLite 数据库。 网络

Python 中操做数据库时,要先导入数据库对应的驱动,而后经过 Connection 对象和 Cursor 对象操做数据。在数据库操做完毕以后,要确保打开的 Connection 对象和 Cursor 对象都正确地被关闭,不然,资源就会泄露。 ide


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()

 


运行结果: fetch

1
[('1', 'xiaomaimiao')]

 

在程序运行完毕后,会在程序的当前目录下生成一个 lhrtest.db 文件,以下所示: ui

 

可使用 SQLLite 的客户端查看数据库文件的内容: spa

 

使用 Python DB API 时,只要搞清楚 Connection Cursor 对象,打开后必定记得关闭,就能够放心地使用。 .net

使用 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

........................................................................................................................

● 本文做者:小麦苗,部份内容整理自网络,如有侵权请联系小麦苗删除

● 本文在itpub( http://blog.itpub.net/26736162 )、博客园( http://www.cnblogs.com/lhrbest )和我的weixin公众号( xiaomaimiaolhr )上有同步更新

● 本文itpub地址: http://blog.itpub.net/26736162

● 本文博客园地址: http://www.cnblogs.com/lhrbest

● 本文pdf版、我的简介及小麦苗云盘地址: http://blog.itpub.net/26736162/viewspace-1624453/

● 数据库笔试面试题库及解答: http://blog.itpub.net/26736162/viewspace-2134706/

● DBA宝典今日头条号地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

........................................................................................................................

● 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

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,如有侵权或不当之处还请谅解

● 版权全部,欢迎分享本文,转载请保留出处

........................................................................................................................

小麦苗的微店 https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

小麦苗出版的数据库类丛书 http://blog.itpub.net/26736162/viewspace-2142121/

小麦苗OCP、OCM、高可用网络班 http://blog.itpub.net/26736162/viewspace-2148098/

小麦苗腾讯课堂主页 https://lhr.ke.qq.com/

........................................................................................................................

使用 weixin客户端 扫描下面的二维码来关注小麦苗的weixin公众号( xiaomaimiaolhr )及QQ群(DBA宝典)、添加小麦苗weixin, 学习最实用的数据库技术。

........................................................................................................................

欢迎与我联系

 

 




来自 “ ITPUB博客 ” ,连接:http://blog.itpub.net/26736162/viewspace-2557184/,如需转载,请注明出处,不然将追究法律责任。

相关文章
相关标签/搜索