簡體   English   中英

PostgreSQL 在 Python 中執行 sql 命令時出錯

[英]PostgreSQL Error while executing sql command in Python

我一直在嘗試使用以下代碼從我的數據庫中獲取一些數據,但代碼不起作用。 我在代碼中是否犯了任何錯誤,如果有,我該如何解決。

注意:我只是從腳本而不是 django 或 flesk 網絡應用程序中獲取了以下代碼。

def db():
    conn = psycopg2.connect(
        "dbname=mydb user=postgres password=****** host=*.*.*.*")
    cur = conn.cursor()
    cur.execute("""SELECT * FROM MddPublisher""")
    query_results = cur.fetchall()
    print(query_results)


db()

錯誤: psycopg2.errors.UndefinedTable: relation "mddpublisher" does not exist LINE 1: SELECT * FROM MddPublisher

另外,我想顯示以下代碼以證明連接正常。 問題是,每當我嘗試通過 python 執行 select 命令時,我都無法從我的數據庫接收數據。

def print_tables():
    conn = psycopg2.connect(
        "dbname=mydb user=postgres password=***** host=*.*.*.*.*")
    cur = conn.cursor()
    cur.execute("""SELECT table_name FROM information_schema.tables
       WHERE table_schema = 'public'""")
    for table in cur.fetchall():
        print(table)
print_tables()

輸出:

('MddPublisher',)

這可能是區分大小寫的問題。 Postgresql 名稱通常標准化為小寫。 但是,當在雙引號內使用時,它們會保留大小寫。 因此,要訪問名為MddPublisher的表,您必須將其編寫為"MddPublisher ”。

所有血腥細節都在 Postgresql 14 文檔中的第 4.1.1 節,標識符和關鍵字中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM