文章目录
- 一、连接数据库
- 二、插入数据
- 三、删除数据
- 四、修改数据
- 五、查询数据
- 六、断开数据库连接
python 的 pymysql 库连接 MySQL数据库,要先手动用 pip install 安装 pymysql 库。
注:以下增删改查操作都是对数据库中基本表 reader 的操作,属性有rno(学号),rpassword(密 码),rname(姓名),rsex(性别),rage(年龄)。
一、连接数据库
复制代码
1
2
3
4
5
6def 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
12def 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
4db = connectdb() # 调用连接数据库的函数 db_data = ['10003', '123', '吴军', '男', 21] # 要插入的数据 insertdb(db, db_data)
三、删除数据
复制代码
1
2
3
4
5
6
7
8
9
10def 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
3db = connectdb() # 调用连接数据库的函数 deletedb(db, rno='10003') # 删除学号为'10003'的读者
四、修改数据
复制代码
1
2
3
4
5
6
7
8
9
10
11
12def 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
4db = connectdb() # 调用连接数据库的函数 db_data = ['10003', '456', '吴军', '男', 25] # 要修改的数据 updatedb(db, db_data)
五、查询数据
- 普通查询:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18def 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
3db = connectdb() # 调用连接数据库的函数 data = querydb(db, rname='张三') # 查询所有姓名为'张三'的读者信息
- 模糊查询
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18def 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
3db = connectdb() # 调用连接数据库的函数 data = querydb(db, rname='张') # 查询所有姓'张'的读者的信息
六、断开数据库连接
复制代码
1
2
3
4def closedb(db): """ 断开数据库连接 """ db.close()
执行:
复制代码
1
2
3db = connectdb() # 调用连接数据库的函数 closedb(db) # 断开数据库连接
最后
以上就是务实火龙果最近收集整理的关于Python:用pymysql连接MySQL数据库的全部内容,更多相关Python内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复