簡體   English   中英

在 pandas.read_sql 中列出 sql 表

[英]List sql tables in pandas.read_sql

我想打開一個 SQL 2005 數據庫(文件擴展名為 .mdf),我一直在嘗試這樣做:

import pandas as pd
import pyodbc

server = 'server_name'
db = 'database_name'

conn = pyodbc.connect('DRIVER={SQL Server};SERVER=' + server + ';DATABASE=' + db + ';Trusted_Connection=yes')

sql = """

SELECT * FROM table_name

"""
df = pd.read_sql(sql, conn)

有沒有辦法使用 Pandas 或 pyodbc 查詢數據庫並列出所有表? 我幾乎沒有數據庫方面的經驗,所以任何幫助都會很棒。

這個答案可能會有所幫助: 如何使用 TSQL 獲取數據庫中所有表的列表?

嘗試將您的 SQL 字符串更改為:

sql = """
SELECT * FROM information_schema.tables
"""
import pyodbc as db

import pandas as pd

conn = db.connect("DRIVER={SQL Server}; SERVER=YourServerName; PORT=1433; DATABASE=YourDB; UID=User; PWD=Password;")

cursor = conn.cursor()

cursor.execute('''select * from sys.databases''')

df=pd.DataFrame(cursor.fetchall())

使用 sqllite3 和 pandas,您可以通過

import sqlite3 
import pandas as pd 
  
# create a connection 
con = sqlite3.connect('database.db') 
data = pd.read_sql_query('SELECT name from sqlite_master where type= "table";', con) 
  
# show first 5 table names
data.head()

暫無
暫無

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

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