Python 3.6操作SQLite3生成数据库文件出现乱码问题求助
你的SQLite数据库其实没出错——那些“奇怪字符”是正常的二进制格式
别担心,你遇到的根本不是代码错误!你看到的那些乱码一样的内容,其实是SQLite数据库文件的原生二进制格式——SQLite数据库本身就不是纯文本文件,直接用普通文本编辑器打开肯定会显示一堆看不懂的字符,这完全是正常现象。
先确认下:你的代码逻辑是完全正确的:
- 用
sqlite3.connect()正确连接(不存在则创建)数据库文件 CREATE TABLE IF NOT EXISTS的语法没问题,只会在task表不存在时创建它- 字段定义的类型都是SQLite支持的(SQLite会自动处理类型映射,比如
number会被适配为合适的存储类型) - 你也正确执行了
commit()提交修改,最后关闭了连接
如果想验证数据库和表是否真的创建成功,别直接打开.db文件,试试这两种方法:
方法1:用Python代码查询验证
import sqlite3 db_filename = 'database.db' connect = sqlite3.connect(db_filename) c = connect.cursor() # 查询系统表sqlite_master,确认task表存在 c.execute("SELECT name FROM sqlite_master WHERE type='table' AND name='task';") result = c.fetchone() if result: print("✅ task表已经成功创建!") else: print("❌ task表不存在") connect.close()
方法2:用SQLite命令行工具查看
打开终端/命令提示符,运行:
sqlite3 database.db
进入SQLite交互环境后,输入.tables并回车,就能看到所有已创建的表;如果想查看task表的结构,输入.schema task即可。
总的来说,你的代码没有任何问题,只是误解了SQLite数据库文件的存储格式而已~
内容的提问来源于stack exchange,提问作者jez
相关产品推荐
相关产品推荐

