Python图书管理系统(二)
文章目录
- 前言
- 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 的参数和参数的作用
- host : 服务器的主机地址
- port :mysql数据库的端口号(不常用)
- user : 用户名
- password : 密码
- database :操作的数据库名
- 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图书管理系统(二)相关推荐
- 一个简单的基于python图书管理系统
一个简单的基于python图书管理系统 开发平台:pycharm 开发语言:python 数据库:mysql 登录界面 主界面 数据库文件 想要的联系丘丘:793064854.2R带走
- python毕业设计开题报告-基于Python图书管理系统开题报告
选题的背景.意义及研究现状: 研究背景及意义: 随着我国的教育产业的快速发展,各个学校的学生数量越来越多,在这种情况下的图书馆书籍管理和查询,以及读者的管理变得非常困难,使用计算机软件的图书管理系统来 ...
- python+图书管理系统
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.代码展示 总结 前言 运用Python编程语言,实现图书管藏书(书号.书名.出版社.作者.价格以及库存).学生信息 ...
- python 图书管理系统书写
题目:写一个简单的图书借阅系统 ...
- python图书管理系统
以下三个文件需在同一目录下.json文件格式不能更改 books-fxm.json [{"name": "图书管理","author": & ...
- Python图书管理系统(一)
最近在写一个项目--图书管理系统 在完成这个项目的道路上我写了2个基础的图书管理系统. ①用IO完成数据存储的图书管理系统 ②用MySQL完成数据存储的图书管理系统 今天先来更新第一个用IO操作 ...
- Python图书管理系统(课设)
基于python的tkinter,将图书管理系统的界面进行简单的开发,我在这里使用的方法比较简单理解,但是代码过于繁多.添加.删除及修改并未使用数据库,而是使用了csv文件的读取操作,从而替代数据库. ...
- python图书管理系统增删改查_图书管理系统---增删改查
此代码只考虑正确情况,未判断错误情况 package dboperate; import java.util.Scanner; import model.BookDB; import dboperat ...
- Python图书管理系统(终章)
文章目录 前言 总的项目布局 效果展示 全部代码 总结 前言 上次写了用MySQL完成数据存储的图书管理系统, 这次我将把各个模块划分为系统的各个功能,通过flask框架与前端 ...
最新文章
- node mysql 批量写入_请问如何使用node.js在MySQL中进行批量插入
- 这 4 款 MySQL 调优工具 yyds
- JAE京东云引擎Git上传管理代码教程和京东云数据库导入导出管理
- 关于ES、PES、PS以及TS码流
- 小白的.Net Core 2.0 ConsoleApp入门(keng)指南(一)
- hibernate EJBQL QBC QBE
- 考研【财经方向专场讲座】
- arm-linux-gcc 4.7.4 源码编译 手工制作
- 棱镜刘大澎:云时代的手游SDK接入
- 使用命令行工具mc上传模型训练数据到SAP云平台Leonardo机器学习服务的AWS存储
- update set操作 根据变量选择colum
- Linux 权限设置
- AndroMDA 4.x架构(2)
- System.Diagnostics.Process的常见用法
- brother打印机清零步骤_兄弟打印机清零方法兄弟打印机清零方法步骤
- 进政府网站要求IE8浏览器,IE8浏览器进不去,使用IE进政府机构网站提示非法进入提示不能直接使用URL进入网址,windows10安装IE8提示系统不支持【解决办法】
- error: metrics not available yet
- react-native 创建新的项目
- 常用的计算机病毒检测方法有哪些,计算机病毒检测方法有哪些呢
- Win8.1开始菜单Classic Shell 4.0上手