📜  OLE DB - Python (1)

📅  最后修改于: 2023-12-03 15:03:21.718000             🧑  作者: Mango

OLE DB - Python

OLE DB是一种面向连接的数据库API,可用于访问SQL Server,Oracle等 数据库。Python可以通过使用pyodbc 库来连接OLE DB数据源。本文将介绍如何使用Python和pyodbc来连接OLE DB数据源以及一些常见的查询操作。

连接OLE DB数据源

首先,需要安装pyodbc 库。可以使用pip来安装pyodbc:

pip install pyodbc

连接到OLE DB数据源需要指定数据源名称、服务器地址、需要连接的数据库名称、用户名和密码。以下是一个示例代码片段,用于连接到SQL Server数据源:

import pyodbc 

# 定义连接
conn = pyodbc.connect('DSN=<数据源名称>;SERVER=<服务器地址>;DATABASE=<数据库名称>;UID=<用户名>;PWD=<密码>')

# 创建游标
cursor = conn.cursor()

# 执行查询操作
cursor.execute("SELECT * FROM <表名>")

# 获取结果
results = cursor.fetchall()

# 打印结果
for row in results:
    print(row)

请注意,在上面的代码片段中,需要将<数据源名称><服务器地址><数据库名称><用户名><密码>的值替换为实际的值。然后运行上面的代码片段,查看结果。

查询操作

连接到OLE DB数据源后,可以执行各种查询操作。以下是一些常见的查询操作:

查询所有表

可以使用以下代码片段查询数据库中的所有表:

cursor.execute("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE='BASE TABLE'")

# 获取所有表名
tables = cursor.fetchall()

# 打印表名
for table in tables:
    print(table[0])
查询表结构

可以使用以下代码片段查询表结构:

cursor.execute("SELECT COLUMN_NAME, DATA_TYPE FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME='<表名>'")

# 获取表结构
columns = cursor.fetchall()

# 打印表结构
for column in columns:
    print(column[0], column[1])

请注意,在上面的代码片段中,需要将<表名>的值替换为实际的表名。

插入数据

可以使用以下代码片段向表中插入数据:

cursor.execute("INSERT INTO <表名> (column1, column2, column3) VALUES (?, ?, ?)", value1, value2, value3)

# 提交事务
conn.commit()

请注意,在上面的代码片段中,需要将<表名>的值替换为实际的表名,并将value1value2value3的值替换为要插入的实际值。

结论

使用Python和pyodbc连接到OLE DB数据源非常容易,并且可以使用各种查询操作。上面的代码片段可以作为起点,以创建自定义的查询操作。