python中使用sqlite3模块操作SQLite,使用pip命令先安装:pip install sqlite3。在Python2.5以后,sqlite3属于内置模块,不要在安装,直接就可以使用。
创建数据库
如果数据库存在则打开,不存在则创建一个新的数据库。
# 硬盘中创建,不存在创建,存在打开
conn=sqlite3.connect('D:/test.db')
# 内存中创建
conn=sqlite3.connect(':memory:')
连接对象
conn就是数据库连接对象,我们需要通过连接对象操作,它有以下几个方法:
- cursor():创建游标对象
- commit():提交事务
- rollback():事务回滚
- close():关闭数据库连接
游标对象的使用
对数据库的查询需要使用到游标对象,记得先创建游标。游标对象支持一下几种方法:
- execute():执行SQL语句
- executemany():执行多条SQL语句
- close():关闭游标
- fetchone():从结果中取出一条,并将游标指向下一条记录
- fetchmay():从结果中取出多条记录
- fetchall():从结果中取出所有记录
- scroll():用于游标滚动
首先需要使用游标执行SQL语句,创建数据库表student
import sqlite3
# 创建链接对象
conn=sqlite3.connect(':memory:')
# 创建游标对象
cur=conn.cursor()
try:
# 通过游标执行sql语句,创建数据表student
cur.execute("""create table student(id primary key not null,
name varchar(255),
birth date not null,
city varchar(255));""")
# 插入数据
cur.execute('insert into student values(1,"eyujun","1999-01-31","henan");')
# 使用占位符?
cur.execute('insert into student values(?,?,?,?);',(2,"鳄鱼君",'1999-03-31',"nanyang"))
# 循环插入
data=[(3,'zjj','1997-03-01','beijing'),
(4,'wff','1959-03-21','jingzhou'),
(5,'zn','1994-03-31','kaifeng'),
]
cur.executemany('insert into student values(?,?,?,?);',data)
# 执行事务
conn.commit()
except Exception as e:
# 出现错误执行 回滚事务
print('数据库出错',e)
conn.rollback()
# 数据查询
cur.execute('select * from student;')
result=cur.fetchone() # 一个结果 返回元组
result=cur.fetchall() # 所有结果 返回列表
print(result)
# 修改和删除数据
cur.execute('update student set name=? where id=?;',('soajdoij',1))
cur.execute('delete from student where id=?',(1,))
#关闭游标
cur.close()
#关闭连接
conn.close()
声明:1. 本站所有资源来源于用户上传和网络,因此不包含技术服务请大家谅解!如有侵权请邮件联系客服!
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!
2. 本站不保证所提供下载的资源的准确性、安全性和完整性,资源仅供下载学习之用!如有链接无法下载、失效或广告,请联系客服处理!
3. 您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容资源!如用于商业或者非法用途,与本站无关,一切后果请用户自负!