我是靠谱客的博主 务实火龙果,这篇文章主要介绍Python:用pymysql连接MySQL数据库,现在分享给大家,希望可以做个参考。

文章目录

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


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

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

一、连接数据库

复制代码
1
2
3
4
5
6
def connectdb(): print("连接SQL服务器") db = pymysql.connect("localhost", "zxw", "1719122486", "library_manage") print("连接上了!") return db

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


二、插入数据

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
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() # 发生错误,回滚

执行:

复制代码
1
2
3
4
db = connectdb() # 调用连接数据库的函数 db_data = ['10003', '123', '吴军', '男', 21] # 要插入的数据 insertdb(db, db_data)

三、删除数据

复制代码
1
2
3
4
5
6
7
8
9
10
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() # 发生错误回滚

执行:

复制代码
1
2
3
db = connectdb() # 调用连接数据库的函数 deletedb(db, rno='10003') # 删除学号为'10003'的读者

四、修改数据

复制代码
1
2
3
4
5
6
7
8
9
10
11
12
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()

执行:

复制代码
1
2
3
4
db = connectdb() # 调用连接数据库的函数 db_data = ['10003', '456', '吴军', '男', 25] # 要修改的数据 updatedb(db, db_data)

五、查询数据

  1. 普通查询:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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() # 发生错误,回滚

执行:

复制代码
1
2
3
db = connectdb() # 调用连接数据库的函数 data = querydb(db, rname='张三') # 查询所有姓名为'张三'的读者信息
  1. 模糊查询
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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() # 发生错误,回滚

执行:

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

六、断开数据库连接

复制代码
1
2
3
4
def closedb(db): """ 断开数据库连接 """ db.close()

执行:

复制代码
1
2
3
db = connectdb() # 调用连接数据库的函数 closedb(db) # 断开数据库连接

最后

以上就是务实火龙果最近收集整理的关于Python:用pymysql连接MySQL数据库的全部内容,更多相关Python内容请搜索靠谱客的其他文章。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部