目录
一、基础操作
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()