概述
文章目录
- 一、连接数据库
- 二、插入数据
- 三、删除数据
- 四、修改数据
- 五、查询数据
- 六、断开数据库连接
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)
五、查询数据
- 普通查询:
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='张三') # 查询所有姓名为'张三'的读者信息
- 模糊查询
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数据库所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复