前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[快学Python3]PyMySQL库

[快学Python3]PyMySQL库

作者头像
苦叶子
发布2018-04-09 10:36:21
2.1K0
发布2018-04-09 10:36:21
举报
文章被收录于专栏:开源优测开源优测

概述

本文主要讲解如何使用pymysql库进行MySQL的管理操作。

主要讲解如何使用pymysql实现增删改查动作,并附上对应的示例。

安装pymysql

pip install PyMySQL

常用对象及API

在pymysql中提供了Connection和Cursor对象来管理操作MySQL。

常用对象
  • Connection

代表一个与MySQL Server的socket连接,使用connect方法来创建一个连接实例。

  • Cursor

代表一个与MySQL数据库交互对象,使用Connection.Cursor()在当前socket连接上的交互对象。

常用API

Connection对象常用的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()

小结

  • 对SQL要熟悉,才能更好的应用PyMySQL库
  • 其次要注意在构造sql时,最好构建成参数化方式,见示例
  • 多练习最重要
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-07-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源优测 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装pymysql
  • 常用对象及API
    • 常用对象
      • 常用API
      • 一个基本示例
      • 小结
      相关产品与服务
      云数据库 SQL Server
      腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档