在Python中读取数据库数据的两种主要方式如下:
### 1. 使用Pandas模块
使用`pandas`库中的`read_sql()`或`read_sql_query()`函数可以直接将SQL查询结果转化为DataFrame,便于数据分析和处理。
#### 示例代码:
```python
import oracledb
import pandas as pd
# 建立数据库连接
conn = oracledb.connect("user/pwd@host:port/db_name")
if conn:
print('成功建立连接')
# 定义SQL查询语句
sql='SELECT * FROM dbname.LMALL'
# 使用read_sql()函数执行SQL并读取结果到DataFrame中
df=pd.read_sql(sql,conn)
# 关闭数据库连接
conn.close()
# 打印DataFrame的信息和描述性统计信息
print(df)
print(df.info())
print(df.describe().T)
```
### 2. 使用原生的数据库指针(Cursor)
这种方式不通过`pandas`,而是直接使用数据库模块提供的游标对象执行SQL语句,并处理结果集。
#### 示例代码:
```python
import oracledb
# 建立数据库连接
conn = oracledb.connect("user/pwd@host:port/db_name")
if conn:
print('成功建立连接')
# 创建游标
cursor=conn.cursor()
# 定义SQL查询语句
sql='SELECT sysdate FROM dual'
# 使用游标执行SQL
cursor.execute(sql)
# 获取所有结果(对于大量数据,考虑使用fetchone()或fetchmany())
results = cursor.fetchall()
# 处理结果(遍历、格式化等操作)
for result in results:
print(result)
# 关闭游标和数据库连接
cursor.close()
conn.close()
```
以上两种方式均可实现Python与Oracle数据库的数据交互,选择哪一种取决于具体需求:如果需要进行数据分析或数据处理,推荐使用Pandas;如果是复杂的事务处理或者大量数据读取,可能直接使用数据库模块的原生功能更高效。
此文本由CAIE学术大模型生成,添加下方二维码,优先体验功能试用