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()