Python模块之操作数据库SQLite篇

目录

一、基础操作

1、连接对象connect()函数

2、游标对象cursor()

二、创建数据库文件

三、操作SQLite

1、新增数据

2、查看数据信息

3、修改数据

4、删除数据


一、基础操作

1、连接对象connect()函数

connect()函数常用参数及说明

参数说明
dsn数据源名称
user用户名
password用户密码
host主机名
database数据库名称

连接对象方法

方法名说明
close()关闭数据库连接
commit()提交事务
rollback()回滚事务
cursor()获取游标对象

2、游标对象cursor()

通过使用连接对象的cursor()方法,获取游标对象。

游标对象方法

方法名说明
callproc(procname[,parameters])调用存储过程,需要数据库支持
close()关闭游标
execute(operation[,parameters])执行数据库操作,SQL语句
executemany(operation,seq_of_params)批量操作
fetchone()获取查询结果集中的第一条记录
fetchmany(size)获取指定数量的记录
fetchall()获取所有记录
nextset()跳至下一个可用的结果集
setinputsizes(sizes)设置在调用execute*()方法时分配的内存大小
setoutputsizes(sizes)设置列缓冲区大小

二、创建数据库文件

Python内置了SQLite3,所以可以直接import导入SQLite3模块。

#导入数据库模块
import sqlite3
#连接数据库,如果不存在,则自动创建
conn=sqlite3.connect('mrsoft.db')
#创建游标
cur=conn.cursor()
#执行SQL语句,创建表
cur.execute('create table user(id int(10) primary key, name varchar(20))')
#关闭游标
cur.close()
#断开数据库连接
conn.close()

三、操作SQLite

1、新增数据

SQL语句:

inser into 表名(字段名1,字段名2,...,字段名n) values (字段值1,字段值2,...字段值n)

字段值需要根据字段的数据类型来赋值。

#导入数据库模块
import sqlite3
#连接数据库,如果不存在,则自动创建
conn=sqlite3.connect('mrsoft.db')
#创建游标
cur=conn.cursor()
#执行SQL语句,插入数据
cur.execute('insert into user (id,name) values ("1","MRSOFT")')
#关闭游标
cur.close()
#提交事务。对于增加、修改和删除操作,使用commit()方法提交事务,如果相应操作失败,可以回滚到操作之前的状态。
conn.commit()
#断开数据库连接
conn.close()

2、查看数据信息

SQL语句:

select 字段名 from 表面 where 查询条件

#导入数据库模块
import sqlite3
#连接数据库,如果不存在,则自动创建
conn=sqlite3.connect('mrsoft.db')
#创建游标
cur=conn.cursor()

#执行SQL语句,查询数据
#cur.execute('select * from user')
#获取查询结果
#方式一:
#res1=cur.fetchone()
#print(res1)
#--->(1, 'MRSOFT')
#方式二:
#res2=cur.fetchmany(2)
#print(res2)
#--->[(2, 'Andy'), (3, '明日科技')]
#方式三:
#res3=cur.fetchall()
#print(res3)
#--->[(1, 'MRSOFT'), (2, 'Andy'), (3, '明日科技')]

#执行SQL语句,条件查询数据
#使用问号作为占位符,然后使用元组来替换问号(注意:不要忽略元组中最后的逗号)
#使用占位符的方式可以避免SQL注入的风险
cur.execute('select * from user where id>?',(1,))
res3=cur.fetchall()
print(res3)
#--->[(2, 'Andy'), (3, '明日科技')]

#关闭游标
cur.close()
#断开数据库连接
conn.close()

3、修改数据

SQL语句:

update  表名 set 字段名=字段值 where 条件

#导入数据库模块
import sqlite3
#连接数据库,如果不存在,则自动创建
conn=sqlite3.connect('mrsoft.db')
#创建游标
cur=conn.cursor()
#修改数据
cur.execute('update user set name=? where id=?',('MR',1))
#查询修改后的数据
cur.execute('select * from user')
res=cur.fetchall()
print(res)
#关闭游标
cur.close()
#提交事务
conn.commit()
#断开数据库连接
conn.close()

4、删除数据

SQL语句:

delete from 表名 where 条件

#导入数据库模块
import sqlite3
#连接数据库,如果不存在,则自动创建
conn=sqlite3.connect('mrsoft.db')
#创建游标
cur=conn.cursor()

#删除数据
cur.execute('delete from user where id=?',(1,))
cur.execute('select * from user')
res=cur.fetchall()
print(res)
#关闭游标
cur.close()
#提交事务
conn.commit()
#断开数据库连接
conn.close()
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值