• Python中如何使用pymysql工具包连接数据库
  • 发布于 1个月前
  • 45 热度
    0 评论
  • 望北海
  • 0 粉丝 16 篇博客
  •   
pymysql 是一个工具包,主要是在 Python 里面连接数据库然后直接在 Python 里面连接数据库进行操作,是 Python 的第三方包。
运行环境 Runtime environment
操作系统: Windos10  
IDE: pycharm 2021.3.1 x64  

语言: python v3.9.1


背景
能有啥背景,搞开发的,或多或少要接触 mysql 数据库吧?在这里主要是记录以后代码模板,方便以后自己拿来用。Python 3 还是推荐使用 pymysql

安装 pymysql
pip install pymysql
or
pip3 install pymysql
代码
import pymysql
// 堆代码 duidaima.com
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.102","root","root","raxianch")  # 初始化数据库句柄
commit("update cxy_nct_m_t set drug_id = 2 where id = nct123",db)
query("select * from cxy_nct_m_t",db)
注意
使用 pymysql 时,需要注意一个点。sql 语句如果使用 % s 符号的时候,千万避免带引号,这时种对 sql 带有特殊含义的符号

错误示范
...
sql = "update cxy_nct_m_t set drug_id = '%s' where id = '%s' %" ("2", "nct123")
...
# 使用execute方法执行时会直接报错
cursor.execute(sql)
正确示范
...
sql = "update cxy_nct_m_t set drug_id = %s where id = %s %" 
...
# 去除掉%s旁边的单引号,然后使用元组或列表往execute方法传参,让execute方法自己转义特殊符号。
cursor.execute(sql,("2", "nct123"))

总结
pymysql 是常用模块,但是执行细节还是需要平时的积累。
用户评论