PyMySQL使用

Author Avatar
kdwycz 3月 29, 2016
  • 在其它设备中阅读本文章

Python操作Mysql最常用的库是MySQLdb,然而这个库不支持Python3,所以就有了今天介绍的主角

前些天做数据库操作玩崩了,需要从备份库把数据导入到线上库.话说之前只用过Django的ORM操作数据库.而自己玩的环境是Python3,强迫症促使我找到了这个库~

PyMySQL的性能和MySQLdb几乎相当,看起来性能是可以接受的

连接数据库

配置好参数即可~一开始看官方文档获取到的中文数据乱码,后来发现要制定字符集

import pymysql

config = {
          'host':'127.0.0.1',
          'port':3306,
          'user':'root',
          'password':'',
          'db':'meeting',
          'charset':'utf8mb4',
          }

# Connect to the database
connection = pymysql.connect(**config)

取数据

from pymysql import cursors

# 执行sql语句
try:
    with connection.cursor() as cursor:
        # 执行sql语句,进行查询
        sql = 'SELECT id, username, phone FROM users WHERE is_enable = 1'
        cursor.execute(sql)
        # 获取查询结果
        result = cursor.fetchone()
        print(result)
finally:
    connection.close();

其他操作

# 执行sql语句
try:
    with connection.cursor() as cursor:
        # 执行sql语句,插入记录
        sql = 'INSERT INTO employees (first_name, last_name, hire_date, gender, birth_date) VALUES (%s, %s, %s, %s, %s)'
        cursor.execute(sql, ('Robin', 'Zhyea', tomorrow, 'M', date(1989, 6, 14)));
    # 没有设置默认自动提交,需要主动提交,以保存所执行的语句
    connection.commit()

finally:
    connection.close();

本站所有原创内容均以 署名-非商业性使用-相同方式共享 4.0 (CC BY-NC-SA 4.0) 协议授权
本文链接:https://blog.kdwycz.com/archives/pymysql/