简介
sqlite 是一个轻量级的关系型数据库,python自带, 不需要配置不需要任何外部的依赖。经常
被集成到各种应用中,其数据库就是一个.db文件
1.安装可视化界面,便于对数据库的操作验证DB Browser for SQLite
#导入模块
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,SQLite 语法 | 菜鸟教程
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语句参考
select | SELECT * FROM table_name; SELECT column1, column2, columnN FROM table_name; |
insert | INSERT INTO TABLE_NAME VALUES (value1,value2,value3,...valueN); INSERT INTO TABLE_NAME [(column1, column2, column3,...columnN)] VALUES (value1, value2, value3,...valueN); |
update | UPDATE table_name SET column1 = value1, column2 = value2...., columnN = valueN WHERE [condition]; |
delete | DELETE FROM table_name WHERE [condition]; |
while(条件限定) | >、<、=、LIKE、NOT、AND 、OR、GLOB、IN |