【Python】Pymyql模块的execute()总结

Pymysql模块用于驱动在Python中驱动mysql数据库。

通过此模块可以直接写sql语句运行


基本用法

#! python3
# @Project:  mysite - sqlhelper.py
# @Info   :  提取sql的基本方法
import pymysql


def get_connection():
    """连接数据库"""
    # 连接数据库
    connect = pymysql.Connect(
        host='localhost',
        port=3306,
        user='root',
        passwd='123456',
        db='test1',
        charset='utf8'
    )
    # 获取游标(指定获取的数据格式,这里设定返回dict格式)
    return connect, connect.cursor(cursor=pymysql.cursors.DictCursor)


def select_all(sql, args=None):
    """查询所有"""
    conn, cursor = get_connection()
    cursor.execute(sql, args)
    results = cursor.fetchall()
    cursor.close()
    conn.close()
    return results


def select_one(sql, args):
    """查询一个"""
    conn, cursor = get_connection()
    cursor.execute(sql, args)
    result = cursor.fetchone()
    cursor.close()
    conn.close()
    return result


def update(sql, args):
    """修改数据"""
    conn, cursor = get_connection()
    cursor.execute(sql, args)
    conn.commit()
    cursor.close()
    conn.close()


def create(sql, args):
    """新增数据"""
    conn, cursor = get_connection()
    cursor.execute(sql, args)
    conn.commit()
    cursor.close()
    conn.close()


def delete(sql, args):
    """删除数据"""
    conn, cursor = get_connection()
    cursor.execute(sql, args)
    conn.commit()
    cursor.close()
    conn.close()


execute(sql,args)方法注意事项:

1、execute方法中sql语句占位符是%s,与mysql中的?不同。

2、%s必须用括号包裹,如:

insert into teacher(name) values (%s) 正确
insert into teacher(name) values %s 报错

3、args一般是list或tuple格式,如果只有一个参数,可直接传入

你可能感兴趣的:(学习心得)