import sqlite3
import json
def sqlite_connect(db_path: str):
# 连接到 SQLite 数据库
# 如果文件不存在,会自动在指定位置创建一个数据库文件
connection = sqlite3.connect(db_path)
json_data = {}
try:
with connection:
with connection.cursor() as cursor:
# 获取所有表名
cursor.execute("SELECT name FROM sqlite_master WHERE type='table'")
所有表 = cursor.fetchall()
for 表名 in 所有表:
表名 = 表名[0] # 获取表名
# 获取当前表的所有字段信息
cursor.execute(f"PRAGMA table_info({表名})")
列数据 = cursor.fetchall()
# 存储当前表的所有字段信息
if 列数据:
json_data[表名] = [
{
"col": 列[1], # Column name
"datatype": 列[2], # Column type
"comment": None # SQLite does not store column comments
} for 列 in 列数据
]
except Exception as e:
print(f"An error occurred: {e}")
finally:
connection.close()
return json_data
# 调用函数并打印结果
# 请替换 'your_database.db' 为你的 SQLite 数据库文件路径
result_json = sqlite_connect('your_database.db')
print(json.dumps(result_json, ensure_ascii=False, indent=4))
发表回复