概述本文主要讲解如何使用pymysql库进行MySQL的管理操作。 主要讲解如何使用pymysql实现增删改查动作,并附上对应的示例。 安装pymysqlpip install PyMySQL 常用对象及API在pymysql中提供了Connection和Cursor对象来管理操作MySQL。 常用对象代表一个与MySQL Server的socket连接,使用connect方法来创建一个连接实例。 代表一个与MySQL数据库交互对象,使用Connection.Cursor()在当前socket连接上的交互对象。 常用APIConnection对象常用的API: connect() 创建一个数据库连接实例 begin() 开始一个事务 close() 发送一个退出消息,并关闭连接 commit() 提交修改至数据库 cursor() 创建一个cursor(游标)实例 ping() 检测服务器是否在运行 rollback() 回滚当前事务 select_db(db) 设置当前db show_warnings() 显示警告信息 Cursor对象常用API: close() 关闭当前cursor execute() 执行一个sql语句 executemany() 执行批量sql语句 fetchall() 取所有数据 fetchone() 取一条数据 一个基本示例下面我们看一个基本的示例,让大家感受下pymysql库的能力。 基本前提,假设你在本地已经安装了MySQL服务或是你拥有远程访问某个MySQL服务的权限。 用下列sql创建一个数据表,以便下面的示例演示: # -*- coding:utf-8 -*-
import pymysql
import random
__author__ = '苦叶子'
if __name__ == "__main__": print("PyMySQL基本示例")
# 创建一个连接实例
conn = pymysql.connect(
host="10.68.3.88", # mysql服务ip地址,若服务在本机则用localhost
port=3306, # mysql服务端口
user="liyiming", # 访问mysql的用户名
password="liyiming", # 访问mysql的密码
db="zzb_pro", # 默认连接到的数据库
charset="utf8" # 连接字符集
)
try: # 创建用于交互的cursor对象
cursor = conn.cursor() # 先插入10条测试数据
# 构建插入数据的sql
sql = "INSERT INTO `users` (`email`, `password`) VALUES (%s, %s)"
# 生成10条测试数据
sql_data = [] for index in range(0, 10):
email = "%.10f@126.com" % random.random()
password = random.random()
sql_data.append((email, password)) # 执行sql,进行批量插入数据
cursor.executemany(sql, sql_data) # 提交至数据库
conn.commit() # 查询5条数据
sql = "SELECT * FROM `users` LIMIT 5"
# 执行sql
cursor.execute(sql) # 取查询到的所有数据
all_data = cursor.fetchall()
# 遍历打印出来
print("取所有查询到的数据") for data in all_data: print("id: %d email: %s password: %s" % (data[0], data[1], data[2])) # 取1条数据
# cursor.execute(sql)
one_data = cursor.fetchone() print("\n取1条数据") print("id: %d email: %s password: %s" % (one_data[0], one_data[1], one_data[2]))
finally: # 最后把数据库连接关闭
conn.close() 小结
|