Python连接SQLite3
2022/6/7 2:19:54
本文主要是介绍Python连接SQLite3,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录- Python连接SQLite3
- 一、 概论
- 二、 使用方法
- 1、 连接
- 2、 操作数据库
Python连接SQLite3
一、 概论
在学完SQLite3的基本语法后,开始尝试对数据库进行连接,这里我们使用Python连接数据库
SQLite3语法友情链接:
- SQLite3语法(一)
- SQLite3语法(二)
在Python中不需要安装SQLite3
模快
二、 使用方法
1、 连接
#!/usr/bin/env python # -*- coding: UTF-8 -*- # @author: A.L.Kun # @file : test.py # @time : 2022/6/6 6:30 import sqlite3 conn = sqlite3.connect("flask1.db") # 连接数据库 cursor = conn.cursor() # 创建一个游标对象 print(cursor)
这时,我们可以使用装饰器对数据库进行连接
import sqlite3 from functools import wraps def get_conn(path): def outer(fun): @wraps(fun) def inner(*args, **kwargs): conn = sqlite3.connect(path) # 创建连接 cursor = conn.cursor() # 创建游标 ret = fun(cursor, *args, **kwargs) conn.commit() # 提交事务 conn.rollback() # 回滚事务,会将数据库返回到上一次提交事务的时候 cursor.close() conn.close() return ret return inner return outer
2、 操作数据库
@get_conn("flask1.db") def test(cursor): cursor.execute("SELECT id, name FROM users WHERE name=? AND pwd=?", ('liu', '123')) # 指定SQL语句,注意,不能使用字符串的拼接,这样不安全 print(cursor.fetchall()) # 获取所有的数据 print(cursor.fetchone()) # 获取第一条数据,如果拿过数据,那么数据就会变成空,游标里面的数据只能拿取一次,除非再次查找 with open("test.sql", "r") as f: cursor.executescript(f.read()) # 运行sql脚本文件 print(cursor.fetchall()) test()
test.sql
里面的内容
BEGIN; --主表 CREATE TABLE COMPANY( id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL , name TEXT NOT NULL , age INT CHECK ( age >= 18 and age <= 50 ), --年龄进行限制 salary REAL DEFAULT 1000.0 --默认值为1000 ); --记录日志的表 CREATE TABLE log_company( id INTEGER NOT NULL , --记录改变的表的id time TEXT NOT NULL --记录表修改的时间 ); --创建触发器 CREATE TRIGGER log_company_t AFTER INSERT ON COMPANY --在插入表数据的时候触发 BEGIN INSERT INTO log_company VALUES (new.id, DATETIME(CURRENT_TIMESTAMP,'localtime')); --new表示插入的数据 END; --向表中插入数据 INSERT INTO COMPANY (id, name, age) VALUES (1, 'LIHUA', 19); --查看日志记录中的数据 SELECT * FROM log_company; -- COMMIT; COMMIT;
这篇关于Python连接SQLite3的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2025-01-03用FastAPI掌握Python异步IO:轻松实现高并发网络请求处理
- 2025-01-02封装学习:Python面向对象编程基础教程
- 2024-12-28Python编程基础教程
- 2024-12-27Python编程入门指南
- 2024-12-27Python编程基础
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型