如果已经安装好 turbodbc
,我们可以用它在 Jupyter Notebook 中连接数据库(比如 SQL Server、MySQL、PostgreSQL 等)。以下是一个通用的连接方法模板,可以根据自己的数据库类型和配置进行调整。
✅ 示例:使用 turbodbc
连接 SQL Server 的方法
python
import turbodbc
import pandas as pd
def get_db_connection(driver='{ODBC Driver 17 for SQL Server}',
server='localhost',
database='your_database',
uid='your_username',
pwd='your_password'):
"""
使用 turbodbc 创建数据库连接。
参数:
- driver: ODBC 驱动名称(可在 ODBC 数据源管理器中查看)
- server: 数据库地址(如 localhost 或 IP)
- database: 数据库名称
- uid: 用户名
- pwd: 密码
返回:
- turbodbc 连接对象
"""
connection_string = (
f"Driver={driver};"
f"Server={server};"
f"Database={database};"
f"UID={uid};"
f"PWD={pwd};"
f"Trusted_Connection=no;"
)
return turbodbc.connect(connection_string=connection_string)
def query_to_df(sql, conn):
"""
执行 SQL 并返回 DataFrame。
参数:
- sql: 查询语句
- conn: turbodbc 连接对象
返回:
- pandas DataFrame
"""
cursor = conn.cursor()
cursor.execute(sql)
return cursor.fetchallarrow().to_pandas()
🔍 示例调用:
ini
conn = get_db_connection(
driver='{ODBC Driver 17 for SQL Server}',
server='127.0.0.1',
database='MyDB',
uid='sa',
pwd='your_password'
)
df = query_to_df("SELECT TOP 10 * FROM my_table", conn)
df.head()
📌 注意事项:
-
要确保你安装了 正确版本的 ODBC 驱动,如:
- SQL Server:
{ODBC Driver 17 for SQL Server}
或{ODBC Driver 18 for SQL Server}
- MySQL:
{MySQL ODBC 8.0 Unicode Driver}
- PostgreSQL:
{PostgreSQL Unicode(x64)}
- SQL Server:
-
如果你使用的是 Windows 身份验证(即无需输入用户名密码),可将
Trusted_Connection=yes
并去掉UID
和PWD
。