MST

星途 面试题库

面试题:Python从MySQL数据库导出数据的常见方法

请简述在Python中使用`pymysql`库将MySQL数据库中的某张表数据导出为CSV文件的主要步骤,并给出关键代码示例。
22.8万 热度难度
编程语言Python

知识考点

AI 面试

面试题答案

一键面试
  1. 主要步骤

    • 安装pymysql:如果尚未安装,使用pip install pymysql进行安装。
    • 连接MySQL数据库:使用pymysql.connect()方法连接到MySQL数据库,需要提供主机、用户名、密码、数据库名等信息。
    • 创建游标对象:通过连接对象的cursor()方法创建游标,用于执行SQL语句。
    • 执行SQL查询语句:使用游标执行SELECT语句来获取表中的数据。
    • 打开CSV文件:使用Python内置的csv模块,通过open()函数以写入模式打开一个CSV文件。
    • 写入CSV文件:将从数据库获取的数据逐行写入CSV文件。
    • 关闭游标和数据库连接:操作完成后,关闭游标和数据库连接,释放资源。
  2. 关键代码示例

import pymysql
import csv

# 连接数据库
conn = pymysql.connect(
    host='your_host',
    user='your_user',
    password='your_password',
    database='your_database',
    charset='utf8'
)

try:
    # 创建游标
    with conn.cursor() as cursor:
        # 执行SQL查询
        sql = "SELECT * FROM your_table"
        cursor.execute(sql)
        results = cursor.fetchall()

    # 打开CSV文件并写入数据
    with open('output.csv', 'w', newline='', encoding='utf8') as csvfile:
        csvwriter = csv.writer(csvfile)
        # 写入表头
        csvwriter.writerow([i[0] for i in cursor.description])
        # 写入数据行
        for row in results:
            csvwriter.writerow(row)

finally:
    # 关闭连接
    conn.close()