ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

Python内置数据库SQLite

2021-04-14 21:54:48  阅读:174  来源: 互联网

标签:cuis SQLite 内置 Python 数据库 游标 连接 conn first



目录


相关介绍

SQLite是小型的数据库,他不需要作为独立的服务器运行,可以直接在本地文件上运行,在Python3版本中,SQLite已经被包装成标准库pySQLite。可以将SQLite作为一个模块导入,模块的名称为sqlite3,然后就可以创建一个数据库文件连接。

相关方法

import sqlite3
conn = sqlite3.connect('D:/first.db')

connect()函数将返回一个连接对象conn。这个对象是目前和数据库的连接对象。该对象支持的方法如下。

1. close(): 关闭连接。连接关闭后,连接对象和游标均不可用。
2. commit(): 提交事务。这里需要数据库支持事务,如果数据库不支持事务,该方法将不起作用。
3. rollback(): 回滚挂起的事务。
4. cursor(): 返回连接的游标对象。

上面命令运行后将创建一个conn的连接,如果first.db文件不存在,将会创建一个名称为first.db的数据库文件。

下面将创建一个连接的游标,该游标用于执行SQL语句。命令如下:

cuis = conn.cursor()

cursor() 方法将返回一个游标对象cuis。游标对象支持的方法如下。
1. close(): 关闭游标。游标关闭后,游标将不可用。
2. callproc(): 使用给定的名称和参数(可选)调用已命名的数据库。
3. execute(): 执行一个SQL操作。
4. executemany(): 对序列中的每个参数集执行SQL操作。
5. fetchone(): 把查询的结果集中的下一行保存为序列。
6. fetchmany(): 获取查询集中的多行。
7. fetchall(): 把所有的行作为序列的序列。
8. nextset(): 调至下一个可用的结果集。
9. setinputsizes(): 为参数预先定义内存区域。
10.setoutputsizes(): 为获取的大数据值设定缓冲区大小。

游标对象的属性如下 。
1. description: 结果列描述的序列,只读。
2. rowcount: 结果中的行数,只读。
3. arraysize: fetchmany中返回的行数,默认为1。

当游标执行SQL语句后,即可提交事务,命令如下:

conn.commit()

事务提交后,即可关闭连接,命令如下:

conn.close()

实例演示

import sqlite3

conn = sqlite3.connect('D:/first.db')  #创建一个数据库文件连接,如果first.db文件不存在,将会进行创建cuis = conn.cursor()  #创建连接的游标#执行一个SQL操作cuis.execute('''
CREATE TABLE first(
id TEXT PRIMARY KEY ,
name TEXT,
age INT,
info TEXT
)
''')cuis.execute('''
INSERT INTO first VALUES(
1,'小米',20,'歌手'
)
''')cuis.execute('''
INSERT INTO first VALUES(
2,'小明',20,'舞者'
)
''')conn.commit()  #提交事务conn.close()  #关闭连接,连接对象和游标将均不可用

保存并运行程序后,即可在D盘的SQL文件夹下创建一个名称为first.db的数据库文件,如图所示。
在这里插入图片描述

数据库创建完成后,可用execute()方法执行SQL查询,使用fetchall()方法提取出需要的结果。

数据库查询

import sqlite3, sys

conn = sqlite3.connect('D:/SQL/first.db')cuis = conn.cursor()cuis.execute('''
SELECT *
FROM first 
WHERE name="小明"
''')names = [i[0] for i in cuis.description]for row in cuis.fetchall():for pair in zip(names,row):print('%s : %s' % pair)

输出结果:

id : 2name : 小明
age : 20info : 舞者

参考书籍: Python程序设计案例课堂

标签:cuis,SQLite,内置,Python,数据库,游标,连接,conn,first
来源: https://blog.51cto.com/u_15166912/2706772

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有