1、fetchall()
# 连接数据库
def main():
# 连接数据库
db = pymysql.connect(host='192.168.0.1', port=3306, user='root',
password='root', db='user', charset='utf8')
print('连接数据库')
print('开始数据查询')
# 执行方法
query_(db)
print('结束数据库查询')
# 关闭数据库连接
db.close()
print('关闭数据库')
# 查询
def query_(db):
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# sql查询语句
sql = "select user_info from user_info where user_id=1"
# 执行 SQL 查询, 返回受影响的行数
row_count = cursor.execute(sql)
# 获取数据
results_db = cursor.fetchall() # results_db 类型:元祖;eg:((字段1, 字段2, 字段。。。, 字段n), (), ... ())
# 转储至文件的结果集合
res_lst = []
if results_db:
# 计数
count = 0
# 遍历处理
for row in results_db:
# 计数自增
count += 1
# 处理逻辑
# 汇总至结果集
res_lst.append(row)
else:
print('数据库查询结果为空')
# 关闭查询
cursor.close()
2、fetchone():
# 连接数据库
def main():
# 连接数据库
db = pymysql.connect(host='192.168.11.1', port=3306, user='root',
password='root', db='user', charset='utf8')
print('连接数据库')
print('开始数据查询')
# 执行方法
query_(db)
print('结束数据库查询')
# 关闭数据库连接
db.close()
print('关闭数据库')
# 查询处理
def query_(db):
# 使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
# sql查询语句
sql = "select user_id from user_info where user_id=1"
# 执行 SQL 查询
row_count = cursor.execute(sql)
# 获取数据行数
print("查询到%d条数据:" % row_count)
with open("all_field_bak", 'w', encoding='utf8') as f:
writer = csv.writer(f)
for i in range(row_count):
# 获取查询结果
res = cursor.fetchone()
#print(res)
#print(type(res))
# 写入文件
writer.writerow(res)
# 关闭查询
cursor.close()