我是靠谱客的博主 务实火龙果,最近开发中收集的这篇文章主要介绍Python:用pymysql连接MySQL数据库,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

      • 一、连接数据库
      • 二、插入数据
      • 三、删除数据
      • 四、修改数据
      • 五、查询数据
      • 六、断开数据库连接


python 的 pymysql 库连接 MySQL数据库,要先手动用 pip install 安装 pymysql 库。

注:以下增删改查操作都是对数据库中基本表 reader 的操作,属性有rno(学号),rpassword(密 码),rname(姓名),rsex(性别),rage(年龄)。

一、连接数据库

def connectdb():
    print("连接SQL服务器")
    db = pymysql.connect("localhost", "zxw", "1719122486", "library_manage")
    print("连接上了!")
    return db

第一个参数我的是本地连接,用“localhost”;第二个参数是用户名;第三个参数是用户密码;第四个参数是所连数据库的名字。


二、插入数据

def insertdb(db, db_data):
    """ 插入数据 """
    cursor = db.cursor()	# 游标
    sql = """insert into reader(rno, rpassword, rname, rsex, rage)
            VALUES('%s', '%s', '%s', '%s', '%s')""" % (
        db_data[0], db_data[1], db_data[2], db_data[3], db_data[4])
    try:
        cursor.execute(sql)		# 执行sql语句
        db.commit()		# 执行成功,提交
    except Exception:
        db.rollback()	# 发生错误,回滚

执行:

db = connectdb()	# 调用连接数据库的函数
db_data = ['10003', '123', '吴军', '男', 21]	# 要插入的数据
insertdb(db, db_data)

三、删除数据

def deletedb(db, rno=''):
    """ 删除数据 """
    cursor = db.cursor()
    sql = "delete from reader where rno = '%s'" % rno
    try:
        cursor.execute(sql)
        db.commit()    # 执行成功,提交
    except Exception:
        db.rollback()  # 发生错误回滚

执行:

db = connectdb()	# 调用连接数据库的函数
deletedb(db, rno='10003')	# 删除学号为'10003'的读者

四、修改数据

def updatedb(db, db_data):
    """ 修改数据 """
    cursor = db.cursor()
    sql = "update reader set rpassword = '%s', rname = '%s', rsex = '%s', 
            rage = '%s' where rno = '%s'" % (
        db_data[1], db_data[2], db_data[3], db_data[4], db_data[0])
    try:
        cursor.execute(sql)
        db.commit()
    except Exception:
        db.rollback()

执行:

db = connectdb()	# 调用连接数据库的函数
db_data = ['10003', '456', '吴军', '男', 25]	# 要修改的数据
updatedb(db, db_data)

五、查询数据

  1. 普通查询:
def querydb(db, rname=''):
    """ 查询读者 """
    cursor = db.cursor()
    sql = "select * from reader where rname = '%s'" % (rname)
    data = {}
    val = []
    i = 0
    try:
        cursor.execute(sql)
        results = cursor.fetchall()     # 获取全部行
        for row in results:
            val = list(row)     # 获取的每行是一个元组,转换成列表
            data[i] = val       # 用字典存储每个元组
            i += 1
        return data		# 返回查询结果
    except Exception:
        db.rollback()  # 发生错误,回滚

执行:

db = connectdb()	# 调用连接数据库的函数
data = querydb(db, rname='张三')		# 查询所有姓名为'张三'的读者信息
  1. 模糊查询
def querydbdb(db, rname=''):
    """ 查询读者 """
    cursor = db.cursor()
    sql = "select * from reader where rname like '%%%%%s%%%%' " % (rname)
    data = {}
    val = []
    i = 0
    try:
        cursor.execute(sql)
        results = cursor.fetchall()		# 获取全部行
        for row in results:
            val = list(row)		# 获取的每行是一个元组,转换成列表
            data[i] = val		# 用字典存储每个元组
            i += 1
        return data		# 返回查询结果
    except Exception:
        db.rollback()  # 发生错误,回滚

执行:

db = connectdb()	# 调用连接数据库的函数
data = querydb(db, rname='张')		# 查询所有姓'张'的读者的信息

六、断开数据库连接

def closedb(db):
    """ 断开数据库连接 """
    db.close()

执行:

db = connectdb()	# 调用连接数据库的函数
closedb(db)		# 断开数据库连接

最后

以上就是务实火龙果为你收集整理的Python:用pymysql连接MySQL数据库的全部内容,希望文章能够帮你解决Python:用pymysql连接MySQL数据库所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部