文章目录

  • 前言
  • PyMySQL 安装
  • PyMySQL 使用
  • 数据库方面的准备
  • 图书管理系统代码

  
  
  

前言

  

上次写了用IO完成数据存储的图书管理系统,
这次更新一个用MySQL完成数据存储的图书管理系统。
  
但在这之前,需要先了解Python连接数据库的工具库 —— PyMySQL

  
  
  

PyMySQL 安装

  

方法1:打开cmd,输入 pip install pymysql。即可安装完毕。

方法2:在Pycharm里面下载该库。

具体步骤:

1.在左上角File中找到settings

2.在Python Interpreter中点+

3.在搜索栏中输入pymysql,再点Install Package,即可安装成功

  
  
  

PyMySQL 使用

  
0.先导包

import pymysql

  
1.打开数据库连接

db = pymysql.connect(host=‘localhost’, user=“root”, passwd=‘自己的数据库密码’, database=‘数据库名’)

  
2.使用cursor()方法获取操作游标

cursor = db.cursor()

  
3.写sql语句

sql = ‘想怎样操作数据库的sql语句’

  
4.执行sql语句

try:
  cursor.execute(sql % (这里面写参数))
  db.commit()
except:
  db.rollback()   # 发生错误时回滚

  
5.关闭数据库连接

db.close()

  
  
全代码演示:

import pymysql
db=pymysql.connect(host='localhost',user='root',passwd='密码',database='数据库名')
cursor = db.cursor()
sql = 'insert into allbooks(书名,作者,种类,数量,剩余) values("%s", "%s", "%s", "%d", "%d")'
try:cursor.execute(sql % (name_book, author_book, type_book, num_book, surplus_book))db.commit()
except:db.rollback()
db.close()

  
补充:connect 的参数和参数的作用

  1. host : 服务器的主机地址
  2. port :mysql数据库的端口号(不常用)
  3. user : 用户名
  4. password : 密码
  5. database :操作的数据库名
  6. charset : 操作数据库使用的编码个数(不常用)

  
  
  

数据库方面的准备

  

在 final_assignment 数据库下,创建 allbooks表

  
  
  

图书管理系统代码

  

在了解了 PyMySQL 的安装和使用后,接下来就能看懂代码了

import pymysql# 新增图书信息
def Add():name_book = input('请输入书名:')author_book = input('请输入作者:')type_book = input('请输入种类:')num_book = int(input('请输入数量:'))surplus_book = int(input('请输入剩余:'))db = pymysql.connect(host='localhost', user="root", passwd='MQ20201008', database='final_assignment')  # 打开数据库连接cursor = db.cursor()  # 使用cursor()方法获取操作游标sql = 'insert into allbooks(书名,作者,种类,数量,剩余) values("%s", "%s", "%s", "%d", "%d")'  # SQL 插入语句try:cursor.execute(sql % (name_book, author_book, type_book, num_book, surplus_book))  # 执行sql语句db.commit()except:db.rollback()  # 发生错误时回滚db.close()  # 关闭数据库连接# 删除图书信息
def Delete():del_num = int(input('请输入你要删除图书的编号:'))db = pymysql.connect(host='localhost', user="root", passwd='MQ20201008', database='final_assignment')cursor = db.cursor()sql = 'delete from allbooks where 编号 = "%d"'try:cursor.execute(sql % del_num)db.commit()except:db.rollback()db.close()# 修改图书信息
def Alter():alt_num = int(input('请输入你要修改图书的编号:'))a = input('请输入书名:')b = input('请输入作者:')c = input('请输入种类:')d = int(input('请输入数量:'))e = int(input('请输入剩余:'))db = pymysql.connect(host='localhost', user="root", passwd='MQ20201008', database='final_assignment')cursor = db.cursor()sql = 'update allbooks set 书名 = "%s",作者 = "%s",种类 = "%s",数量 = "%d",剩余 = "%d" where 编号 = "%d"'try:cursor.execute(sql % (a, b, c, d, e, alt_num))db.commit()except:db.rollback()db.close()# 查询图书信息
def Search():sea_num = int(input('请输入你要查找图书的编号:'))db = pymysql.connect(host='localhost', user="root", passwd='MQ20201008', database='final_assignment')cursor = db.cursor()sql = 'select * from allbooks where 编号 = "%d"'try:cursor.execute(sql % sea_num)f = cursor.fetchall()print(f)except:db.rollback()db.close()# 展示所有图书信息
def Show():db = pymysql.connect(host='localhost', user="root", passwd='MQ20201008', database='final_assignment')cursor = db.cursor()sql = 'select * from allbooks'try:cursor.execute(sql)f = cursor.fetchall()for i in f:print(i)except:db.rollback()db.close()# 选择菜单
def Menu():print('-----------------------------功能菜单-----------------------------')print('\t\t\t\t1.新增图书信息')print('\t\t\t\t2.删除图书信息')print('\t\t\t\t3.修改图书信息')print('\t\t\t\t4.查询图书信息')print('\t\t\t\t5.展示所有图书信息')print('\t\t\t\t0.退出')print('----------------------------------------------------------------')# 主程序
def main():print('=========================资料室图书管理系统=========================')while True:Menu()select = eval(input('请选择功能:'))if select == 1:Add()print('新增信息完成!')print('\n')elif select == 2:Delete()print('删除信息完成!')print('\n')elif select == 3:Alter()print('修改信息完成!')print('\n')elif select == 4:Search()print('\n')elif select == 5:Show()print('\n')elif select == 0:print('谢谢使用!')breakelse:print("输入错误!请重新输入!")if __name__ == '__main__':main()

  

  

运行效果:

  

展示所有图书信息

  

新增图书信息


  

修改图书信息


  

删除图书信息


  

查询图书信息

  

退出


这就是代码的全部功能了

  
小提示:

在展示数据时,数据堆在一起,没有注重美观。是因为美观问题可以留到和前端数据交互时再做,这里只要能把正确的数据取出即可。

                  

Python图书管理系统(二)相关推荐

  1. 一个简单的基于python图书管理系统

    一个简单的基于python图书管理系统 开发平台:pycharm 开发语言:python 数据库:mysql 登录界面 主界面 数据库文件 想要的联系丘丘:793064854.2R带走

  2. python毕业设计开题报告-基于Python图书管理系统开题报告

    选题的背景.意义及研究现状: 研究背景及意义: 随着我国的教育产业的快速发展,各个学校的学生数量越来越多,在这种情况下的图书馆书籍管理和查询,以及读者的管理变得非常困难,使用计算机软件的图书管理系统来 ...

  3. python+图书管理系统

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.代码展示 总结 前言 运用Python编程语言,实现图书管藏书(书号.书名.出版社.作者.价格以及库存).学生信息 ...

  4. python 图书管理系统书写

    题目:写一个简单的图书借阅系统‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‪‬‪‬‪‬‪ ...

  5. python图书管理系统

    以下三个文件需在同一目录下.json文件格式不能更改 books-fxm.json [{"name": "图书管理","author": & ...

  6. Python图书管理系统(一)

    最近在写一个项目--图书管理系统 在完成这个项目的道路上我写了2个基础的图书管理系统. ①用IO完成数据存储的图书管理系统 ②用MySQL完成数据存储的图书管理系统    今天先来更新第一个用IO操作 ...

  7. Python图书管理系统(课设)

    基于python的tkinter,将图书管理系统的界面进行简单的开发,我在这里使用的方法比较简单理解,但是代码过于繁多.添加.删除及修改并未使用数据库,而是使用了csv文件的读取操作,从而替代数据库. ...

  8. python图书管理系统增删改查_图书管理系统---增删改查

    此代码只考虑正确情况,未判断错误情况 package dboperate; import java.util.Scanner; import model.BookDB; import dboperat ...

  9. Python图书管理系统(终章)

    文章目录 前言 总的项目布局 效果展示 全部代码 总结          前言    上次写了用MySQL完成数据存储的图书管理系统, 这次我将把各个模块划分为系统的各个功能,通过flask框架与前端 ...

最新文章

  1. node mysql 批量写入_请问如何使用node.js在MySQL中进行批量插入
  2. 这 4 款 MySQL 调优工具 yyds
  3. JAE京东云引擎Git上传管理代码教程和京东云数据库导入导出管理
  4. 关于ES、PES、PS以及TS码流
  5. 小白的.Net Core 2.0 ConsoleApp入门(keng)指南(一)
  6. hibernate EJBQL QBC QBE
  7. 考研【财经方向专场讲座】
  8. arm-linux-gcc 4.7.4 源码编译 手工制作
  9. 棱镜刘大澎:云时代的手游SDK接入
  10. 使用命令行工具mc上传模型训练数据到SAP云平台Leonardo机器学习服务的AWS存储
  11. update set操作 根据变量选择colum
  12. Linux 权限设置
  13. AndroMDA 4.x架构(2)
  14. System.Diagnostics.Process的常见用法
  15. brother打印机清零步骤_兄弟打印机清零方法兄弟打印机清零方法步骤
  16. 进政府网站要求IE8浏览器,IE8浏览器进不去,使用IE进政府机构网站提示非法进入提示不能直接使用URL进入网址,windows10安装IE8提示系统不支持【解决办法】
  17. error: metrics not available yet
  18. react-native 创建新的项目
  19. 常用的计算机病毒检测方法有哪些,计算机病毒检测方法有哪些呢
  20. Win8.1开始菜单Classic Shell 4.0上手

热门文章

  1. 算法学习--排序算法
  2. NFT元宇宙链游系统开发应用分析及源码部署
  3. 利用kubeadm安装kubernetes1.21.2单节点集群
  4. 8Manage:电子寻源采购管理指南
  5. Linux忘记root密码及设置root密码的图文操作方法
  6. 【JAVA基础】初学者指南--两万字知识点总结--零基础,超详细 。
  7. 通过session保存数据
  8. 站在本领域技术人员的角度看小i机器人是否被清楚完整公开
  9. HTTP 206和HTTP 502
  10. 手机在线抓娃娃:600亿的「直播+物联网」爆发市场,会有你的份吗?