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格式,如果只有一个参数,可直接传入