一、基础操作
connect()函数常用参数及说明
参数说明dsn数据源名称user用户名password用户密码host主机名database数据库名称
连接对象方法
方法名说明close()关闭数据库连接commit()提交事务rollback()回滚事务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
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()
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()
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()
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()
Original: https://blog.csdn.net/m0_64336020/article/details/122283922
Author: python-小卒
Title: Python模块之操作数据库SQLite篇
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/815939/
转载文章受原作者版权保护。转载请注明原作者出处!