python 操作sqlite数据库

简介

        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

SQLite Where 子句 | 菜鸟教程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值