You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求将DBeaver创建视图的SQL脚本转换为Python可用版本

将DBeaver中的SQL视图转换为Python可执行版本

以下是把你在DBeaver中创建reference_table视图的SQL脚本,改成Python中可运行的版本——基于Python内置的sqlite3库(从你的SQL里的sqlite_master判断,你的数据库是SQLite):

完整代码示例

import sqlite3

# 连接到edgar_transposed数据库(若为文件型数据库,需填写正确路径)
conn = sqlite3.connect('edgar_transposed.db')
cursor = conn.cursor()

# 把DBeaver中的创建视图SQL转为Python字符串
create_view_sql = """
CREATE VIEW reference_table AS
SELECT b.short_name AS 'Table_Name',  
       a.company_name AS  'Company_Name' ,
       a.filing_number AS  'Filing_Number', 
       a.filing_date AS 'Filing_Date',
       a.cik  AS  'Company_CIK' , 
       a.filing_type AS  'Filing_Type',
       a.table_name AS 'Full_Table_Name',  
       b.report_url AS 'Link_to_Table'
FROM (
    SELECT a.filing_number, a.filing_date, a.company_name, a.cik, a.filing_type, b.table_name
    FROM filing_list AS a
    INNER JOIN (SELECT name AS table_name
                FROM sqlite_master
                WHERE type='table') AS b
    ON b.table_name LIKE '%' || a.filing_number || '%') AS a
LEFT OUTER JOIN individual_report_links AS b
ON (a.table_name LIKE '%' || REPLACE(b.short_name, ' ' , '_') || '_'||  b.filing_number|| '%')
AND a.filing_number = b.filing_number
GROUP BY a.table_name
ORDER BY a.filing_date
"""

# 执行创建视图的SQL脚本
cursor.execute(create_view_sql)
# 提交更改(SQLite中DDL操作自动生效,但显式提交是通用规范)
conn.commit()

# 可选:验证视图是否创建成功
cursor.execute("SELECT * FROM reference_table LIMIT 5")
print("视图前5条数据:")
for row in cursor.fetchall():
    print(row)

# 关闭游标与数据库连接
cursor.close()
conn.close()

关键步骤解释

  • 数据库连接:sqlite3.connect()用于连接SQLite数据库,参数填数据库文件路径即可;如果是内存数据库可以用:memory:,但你这里对应已有本地库,填正确路径就行。
  • SQL执行:用三引号包裹原SQL作为多行字符串,避免单/双引号冲突,直接传给cursor.execute()执行即可。
  • 验证视图:通过查询视图前几条数据,快速确认视图创建成功,这步可根据需求省略。
  • 资源释放:操作完成后务必关闭游标和连接,避免数据库资源泄漏。

新手注意事项

  • 若你的数据库不是SQLite(比如MySQL/PostgreSQL),需要替换为对应数据库的Python驱动(如pymysql/psycopg2),但从你的SQL中的sqlite_master来看,用sqlite3是正确选择。
  • 确保数据库文件路径正确,若数据库在其他目录,需填写完整路径(如C:/databases/edgar_transposed.db)。

内容的提问来源于stack exchange,提问作者Genetics

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 06:57:09