pymysql 实操

时间:2019-11-11
本文章向大家介绍pymysql 实操,主要包括pymysql 实操使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

简介

pymysql是一个工具包,主要是在Python里面连接数据库然后直接在Python里面连接数据库进行操作,是Python的第三方包。

首先在Python里面进行安装

pip install pymysql
pip3 install pymysql

嗯~版本不同可能会差别,随便选择一种安装即可

pymysql的主要操作其实和mysql是一样的,主要是运行pymysql的语句在Python里面对数据库进行操作,现在让我们来看一下简单的一串代码,你可以复制运行,前提是你得有跟我一样的数据库和表名

其中里面对应的窗口句柄,其实指的就是这样的一个句柄,因为我们查询的语句就是在查询里面写的嘛。

"""
    pymysql工具箱
"""
import pymysql

def query():
    """
        pymysql查询mysql数据库
    """
    """
        这里我们构建一个字典,存放对应的信息
    """
    dbinfo = {
        "host": "192.168.1.104",   # mysql主机ip或域名
        "user": "root",            # mysql用户名
        "password": "root",        # mysql密码
        "db": "cheney"             # 要连接的数据库
    }
    
    db = pymysql.connect(**dbinfo)      # 把数据传给db 连接数据库 你也可以理解为用pymysql这个语句连接上对应的数据库了
    cursor = db.cursor()                # 获取游标,查询窗口,并返回一个窗口句柄
    
    sql = "select * from student"   # 这里选择你想要写的sql语句
    cursor.execute(sql)             # 在这个窗口执行sql语句
    res = cursor.fetchall()         # 获取窗口sql的返回值
    return res                      # 返回这个返回值

if __name__ == "__main__":
    a = query()            # 获取查询的返回值
    print(a)               # 打印这个值

优化

 除了查询,我们还会又增删改的操作,这里我们只需要写两个方法去概括就可以

import pymysql

def init(host,user,password,db):
    db = pymysql.connect(host,user,password,db)
    return db

"""
    查询操作
"""
def query(sql,db):
    """
        创建一个对数据库进行查询的方法
    """
    cursor = db.cursor()  # 获取游标窗口
    try:
        cursor.execute(sql)  # 执行sql语句
        res = cursor.fetchall()  # 获取返回值
        db.close()  # 关闭数据库
        print(res)
    except:
        print("sql语句错误")

def commit(sql,db):
    """
        对表进行增加,删除,修改都可以
    """
    cursor = db.cursor()
    try:
        cursor.execute(sql)  # 执行sql语句
        db.commit()          # 对数据进行保存
    except:
        print("sql语句错误")

db = init("192.168.1.104","root","root","cheney")  # 初始化数据库句柄
commit("update student set class = 2 where id = 1001",db)
query("select * from student",db)

原文地址:https://www.cnblogs.com/cheneyboon/p/11825660.html