python 操作sqlite数据库
简介
sqlite 是一个轻量级的关系型数据库,python自带, 不需要配置不需要任何外部的依赖。经常
被集成到各种应用中,其数据库就是一个.db文件
1.安装可视化界面,便于对数据库的操作
#导入模块 import _sqlite3 #数据库文件,包括后缀 db_file=data.db #连接数据库 conn=_sqlite3.connect(db_file) #定义sql语句 sql= "select *from table_1" #执行sql语句 cur =conn.cursor() cur.execute(sql) #打印所有结果 print(cur.fetchall()) #关闭连接 conn.close()
2.对数据库内容的查询,插入,修改,删除(主要是sql语句),不要忘记执行完sql语句后不要忘记commit,
sql="insert into 表名 (参数名,参数名) values (?,?)"#插入 values=(1,)#传递的参数是元组
import sqlite3
#数据库文件的名称
db_file=data.db
conn=sqlite3.connect(db_file)
def insert_data():
#建立游标
cur =conn.cursor()
#sql语句
sql="insert into table_1 (name,age) values (?,?)"
data = (哇哈哈, 19)
#执行sql语句
cur.execute(sql, data)
#提交数据,否则无法同步之数据库
conn.commit()
#关闭
cur.close()
conn.close()
def delete_data():
cur =conn.cursor()
sql="delete from table_1 where id=?"//where条件
data =(13,)
cur.execute(sql, data)
conn.commit()
cur.close()
conn.close()
def select_data():
cur =conn.cursor()
sql="SELECT name FROM table_1 WHERE id=?"
# sql = "select *from table_1"
data =(14,)
cur.execute(sql, data)
print(cur.fetchall())
cur.close()
conn.close()
def update_data():#修改
cur=conn.cursor()#获取管理权
sql= update table_1 set name = ?, age=? where id =14
data=(改了,3,)
cur.execute(sql,data)#执行SQL
conn.commit()#提交
cur.close()
conn.close()
#插入多条数据,通过列表
score_list=[(Jock,88),(Bob,11)]
def insert_mult_data():#插入
cur=conn.cursor()#获取管理权
sql= insert into table_1 (name,age) values(?,?)
cur.executemany(sql,score_list)#执行多条SQL
conn.commit()#提交
cur.close()
conn.close()
return cur.rowcount#返回影响的函数
print(insert_mult_data())
# insert_data()
# delete_data()
# select_data()
# update_data()
3.sqlite简单的封装,可以看到上面每一个都有连接和关闭数据库的操作,那么就可以将他们封装,保证更高效的操作
import sqlite3
def connect_db(db_file):
conn=None
try:
conn = sqlite3.connect(db_file)
except sqlite3.Error as e:
print(e)
if conn is not None:
return conn
def close_dd(cur,conn):
if cur is not None:
cur.close()
if conn is not None:
conn.close()
部分的sql语句参考
