【SQLite】SQLite在python中的使用
官方主页https://www.sqlite.org/index.html使用示例 Author: xudawu Date:2026-06-2514:27:04 LastEditors: xudawu LastEditTime:2026-06-2514:29:38importsqlite3importsqlite3# 1. 连接到数据库如果文件不存在会自动创建sqlite_db_pathsqlite_demo.dbconnsqlite3.connect(sqlite_db_path)# 2. 创建游标对象用于执行 SQL 语句cursorconn.cursor()# 3. 创建表cursor.execute( CREATE TABLE IF NOT EXISTSusers(idINTEGER PRIMARY KEY AUTOINCREMENT, name TEXT NOT NULL, age INTEGER))# 4. 插入数据单条cursor.execute(INSERT INTO users (name, age) VALUES (?, ?),(xudawu,16))# 5. 批量插入数据users_data[(test1,22),(test2,35),(test3,40)]cursor.executemany(INSERT INTO users (name, age) VALUES (?, ?), users_data)# 6. 提交事务保存更改conn.commit()# 7. 查询数据print(--- 所有用户 ---)cursor.execute(SELECT * FROM users)rowscursor.fetchall()forrowinrows: print(fID: {row[0]}, 姓名: {row[1]}, 年龄: {row[2]})# 8. 关闭游标和连接cursor.close()conn.close()会自动创建sqlite文件navicat查看数据库内容输入文件地址即可连接不需要用户名和密码查看数据库数据python中的sqlite3的doc源码https://github.com/python/cpython/tree/3.14/Lib/sqlite3/python库文档https://docs.python.org/3.14/library/sqlite3.html常见sql建表设置默认时间为utc-0CREATE TABLE IF NOT EXISTS movie(idINTEGER PRIMARY KEY AUTOINCREMENT, title TEXT NOT NULL, year INTEGER NULL DEFAULT2026, score REAL, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP)使用本地电脑时间created_at TIMESTAMP DEFAULT(datetime(now,localtime))固定使用utc8created_at TIMESTAMP DEFAULT(datetime(now,8 hours))