本文将介绍如何使用Python3查询MySQL(OBmysql)数据库读取表格数据写入本地txt文件。
具体步骤:
- 连接数据库
- 创建游标对象
- 执行SQL查询语句
- 关闭连接
一、连接数据库
在查询数据库之前,我们首先需要连接到MySQL/OBmysql数据库。使用Python的pymysql库可以方便地实现与MySQL/OBmysql数据库的连接。
# 连接数据库
conn = pymysql.connect(
host='obproxy.ops.openlabs.hundsun.com',#host标识数据库所在的主机地址
user='root@obmysql20797#obtest',#user表示数据库的用户名
password='ERTzxc@#123',#password表示数据库的密码
database='dbtrade'#db表示数据库名
)
二、创建游标对象
连接到数据库后,我们需要创建一个游标对象来执行SQL语句并获取结果。
# 创建游标对象
cursor = conn.cursor()
三、执行SQL查询语句
现在我们已经连接到了数据库并创建了游标对象,可以开始执行SQL查询语句了。
下面是一些常见的SQL查询语句及其代码示例:
3.1 查询所有数据
要查询表格中的所有数据,可以使用SELECT * FROM table_name语句。
# 执行SQL查询语句
cursor.execute("SELECT * FROM table_name")
# 获取查询结果
result = cursor.fetchall()
# 遍历结果
for row in result:
print(row)
3.2 查询特定字段
如果只需要查询表格中的特定字段,可以在查询语句中指定字段名,如SELECT column1, column2 FROM table_name。
# 执行SQL查询语句
cursor.execute("SELECT column1, column2 FROM table_name")
# 获取查询结果
result = cursor.fetchall()
# 遍历结果
for row in result:
print(row)
3.3 查询带条件的数据
有时候我们需要根据某些条件来查询数据,可以使用WHERE子句来指定查询条件。
# 执行SQL查询语句
cursor.execute("SELECT * FROM table_name WHERE condition")
# 获取查询结果
result = cursor.fetchall()
# 遍历结果
for row in result:
print(row)
四、关闭连接
在查询完数据库后,我们需要关闭与数据库的连接。
# 关闭游标对象 cursor.close() # 关闭数据库连接 conn.close()
五、完整示例
以下代码仅为示例,你需要根据自己的实际情况修改连接数据库的参数和SQL查询语句。
import pymysql
import csv
# 连接数据库
conn = pymysql.connect(
host='localhost',#host标识数据库所在的主机地址
user='root',#user表示数据库的用户名
password='password',#password表示数据库的密码
database='database_name'#db表示数据库名
)
#连接到数据库之后,我们需要创建一个游标对象来执行SQL语句并获取结果
# 创建游标
cursor = conn.cursor()
# 执行查询语句,读取表中数据
cursor.execute("select contract_no,round(hg_rate,3)as hg_rate,hg_days from jy_txyhgregister where market_no=2 and stockholder_id=0000520901;")
rows = cursor.fetchall()
# 指定要生成的文本文件路径
output_file = 'output.txt'
# 将数据写入文本文件
with open(output_file, 'w', newline='') as file:
writer = csv.writer(file, delimiter='\t')
writer.writerow([i[0] for i in cursor.description]) # 写入列名
writer.writerows(rows) # 写入数据行
# 关闭游标和数据库连接
cursor.close()
conn.close()
print("已生成文本文件:", output_file)