Python结合MySQL数据库编写简单信息管理系统完整实例

 更新时间:2023年06月12日 08:36:47   作者:不爱编程的python小白  
最近Python课堂上布置了综合实训,实验目标是设计一个信息管理系统,下面这篇文章主要给大家介绍了关于Python结合MySQL数据库编写简单信息管理系统的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下

1,项目整体逻辑及使用工具

1.1 项目整体逻辑

本项目主要是使用Python进行编写,利用Python中的pymysql库进行连接数据库,将信息存入MySQL数据库中,然后实现对信息进行增删改查等一系列操作。

1.2 使用工具

(1):使用pymysql库

(2):python 3.9

(3):MySQL 8.0

1.3 pymysql库的安装

pip install pymysql

2,数据库的搭建

2.1本项目为简单的信息管理系统的实现

创建数据库一个六个字段分如下:

2.2数据库搭建代码

create table if not exists information(
    pid int primary key AUTO_INCREMENT,    -- 主键
    users varchar(20) not null ,           -- 账号
    cod varchar(20),                       -- 密码
    name varchar(20),                      -- 姓名
    age int,                               -- 年龄
    mobile varchar(50)                    -- 电话号码
);

3,Python代码编写

3.1 使用pymysql进行连接数据库

import pymysql
 conn = pymysql.connect(
        host='127.0.0.1',
        port=3306,
        user='root',
        password='123456'
    )
    cus = conn.cursor()  # 创建游标
    sql=""              # 编写sql语句
    cus.execute(sql)    #使用游标执行sql语句
    conn.commit()       #进行提交
    cus.close()    #关闭游标
    conn.close()   #关闭数据库连接

3.2 系统界面进行编写

print('*' * 54)
print('【1】注册用户信息')
print('【2】删除用户信息')
print('【3】修改用户信息')
print('【4】查询用户信息')
print('【5】退出系统')
print('*' * 54)
n = input('请输入你要执行的命令')
if n == '1':
   register(cus,conn)
elif n == '2':
    strike(cus, conn)
elif n == '3':
     modify(cus, conn)
elif n == '4':
     inquiry(cus,conn)
elif n == '5':
      cus.close()    #关闭游标
      conn.close()   #关闭数据库连接
      break
else:
     print('输入错误请重新输入')

3.3 对用户注册模块进行编写

def register(cus,conn):      #  注册模块
    users=input('请输入用户账号')
    cod=input('请输入用户密码')
    name=input('请输入用户姓名')
    age=int(input('请输入用户年龄'))
    mobile=input('请输入用户的手机号')
    sql=f"insert into xinxi.information(users,cod,name,age,mobile) values ('{users}','{cod}','{name}',{age},'{mobile}')"
    cus.execute(sql)
    conn.commit()
    print('注册成功')
    pass

3.4 对用户信息删除模块进行编写

def strike(cus,conn):     #删除用户
    users = input('请输入需要删除的用户账号')
    cod = input('请输入密码')
    sql = f"select * from xinxi.information where users='{users}' and cod='{cod}'"
    n = cus.execute(sql)
    # conn.commit()   # 提交信息
    # print(n)
    if n:
        sql =f"delete from xinxi.information where users='{users}' and cod='{cod}'"
        cus.execute(sql)
        conn.commit()
        print('删除成功')
    else:
        print('查无此人')

3.5 对用户信息修改模块进行编写

def modify(cus,conn):  #修改信息
    users=input('请输入需要修改的用户账号')
    cod=input('请输入密码')
    sql=f"select * from xinxi.information where users='{users}' and cod='{cod}'"
    n=cus.execute(sql)
    #conn.commit()   # 提交信息
    #print(n)
    if n:
        users1 = input('请输入需要修改的用户账号')
        cod1 = input('请输入需要修改用户密码')
        name = input('请输入需要修改用户姓名')
        age = int(input('请输入需要修改用户年龄'))
        mobile = input('请输入需要修改用户的手机号')
        sql=f"update xinxi.information set users='{users1}',cod='{cod1}',name='{name}',age={age},mobile='{mobile}' where users='{users}' and cod='{cod}'"
        cus.execute(sql)
        conn.commit()
        print('修改成功')
    else:
        print('查无此人')

3.6 对用户信息查询模块进行编写

def inquiry(cus,conn):     #查询信息
    users = input('请输入需要查询的用户账号')
    cod = input('请输入密码')
    sql = f"select * from xinxi.information where users='{users}' and cod='{cod}'"
    n = cus.execute(sql)
    if n:
        sql = f"select name,age,mobile from xinxi.information where users='{users}' and cod='{cod}'"
        cus.execute(sql)      #接收数据
        u=cus.fetchall()
        #conn.commit()
        print('用户的姓名为:',u[0][0])
        print('用户的年龄为:',u[0][1])
        print('用户的电话为',u[0][2])
    else:
        print('查无此人')

4,系统整体代码

# 需求,登陆后会用户进行查询
import pymysql


def main():
    conn = pymysql.connect(
        host='127.0.0.1',
        port=3306,
        user='root',
        password='123456'
    )
    cus = conn.cursor()  # 创建
    while True:
        print('*' * 54)
        print('【1】注册用户信息')
        print('【2】删除用户信息')
        print('【3】修改用户信息')
        print('【4】查询用户信息')
        print('【5】退出系统')
        print('*' * 54)
        n = input('请输入你要执行的命令')
        if n == '1':
            register(cus,conn)
        elif n == '2':
            strike(cus, conn)
        elif n == '3':
            modify(cus, conn)
        elif n == '4':
            inquiry(cus,conn)
        elif n == '5':
            cus.close()    #关闭游标
            conn.close()   #关闭数据库连接
            break
        else:
            print('输入错误请重新输入')

def register(cus,conn):      #  注册模块
    users=input('请输入用户账号')
    cod=input('请输入用户密码')
    name=input('请输入用户姓名')
    age=int(input('请输入用户年龄'))
    mobile=input('请输入用户的手机号')
    sql=f"insert into xinxi.information(users,cod,name,age,mobile) values ('{users}','{cod}','{name}',{age},'{mobile}')"
    cus.execute(sql)
    conn.commit()
    print('注册成功')
    pass

def strike(cus,conn):     #删除用户
    users = input('请输入需要删除的用户账号')
    cod = input('请输入密码')
    sql = f"select * from xinxi.information where users='{users}' and cod='{cod}'"
    n = cus.execute(sql)
    # conn.commit()   # 提交信息
    # print(n)
    if n:
        sql =f"delete from xinxi.information where users='{users}' and cod='{cod}'"
        cus.execute(sql)
        conn.commit()
        print('删除成功')
    else:
        print('查无此人')

def modify(cus,conn):  #修改信息
    users=input('请输入需要修改的用户账号')
    cod=input('请输入密码')
    sql=f"select * from xinxi.information where users='{users}' and cod='{cod}'"
    n=cus.execute(sql)
    #conn.commit()   # 提交信息
    #print(n)
    if n:
        users1 = input('请输入需要修改的用户账号')
        cod1 = input('请输入需要修改用户密码')
        name = input('请输入需要修改用户姓名')
        age = int(input('请输入需要修改用户年龄'))
        mobile = input('请输入需要修改用户的手机号')
        sql=f"update xinxi.information set users='{users1}',cod='{cod1}',name='{name}',age={age},mobile='{mobile}' where users='{users}' and cod='{cod}'"
        cus.execute(sql)
        conn.commit()
        print('修改成功')
    else:
        print('查无此人')

def inquiry(cus,conn):     #查询信息
    users = input('请输入需要查询的用户账号')
    cod = input('请输入密码')
    sql = f"select * from xinxi.information where users='{users}' and cod='{cod}'"
    n = cus.execute(sql)
    if n:
        sql = f"select name,age,mobile from xinxi.information where users='{users}' and cod='{cod}'"
        cus.execute(sql)      #接收数据
        u=cus.fetchall()
        #conn.commit()
        print('用户的姓名为:',u[0][0])
        print('用户的年龄为:',u[0][1])
        print('用户的电话为',u[0][2])
    else:
        print('查无此人')

if __name__ == '__main__':
    main()

使用本程序需要安装MySQL数据库并创建数据库。

总结

到此这篇关于Python结合MySQL数据库编写简单信息管理系统的文章就介绍到这了,更多相关Python MySQL编写信息管理系统内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • pandas数据聚合与分组运算的实现

    pandas数据聚合与分组运算的实现

    本文主要介绍了pandas数据聚合与分组运算的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • 使用Python实现压缩pptx的功能

    使用Python实现压缩pptx的功能

    当处理大型PPTX文件时,其中包含许多高分辨率照片时,文件大小可能会显著增加,为了解决这个问题,我们可以使用Python编程语言和python-pptx库来压缩PPTX文件中的照片,下面我们就来看看具体操作吧
    2024-02-02
  • python中matplotlib实现最小二乘法拟合的过程详解

    python中matplotlib实现最小二乘法拟合的过程详解

    这篇文章主要给大家介绍了关于python中matplotlib实现最小二乘法拟合的相关资料,文中通过示例代码详细介绍了关于最小二乘法拟合直线和最小二乘法拟合曲线的实现过程,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-07-07
  • PyTorch使用GPU训练的两种方法实例

    PyTorch使用GPU训练的两种方法实例

    pytorch是一个非常优秀的深度学习的框架,具有速度快,代码简洁,可读性强的优点,下面这篇文章主要给大家介绍了关于PyTorch使用GPU训练的两种方法,需要的朋友可以参考下
    2022-05-05
  • 使用python绘制二元函数图像的实例

    使用python绘制二元函数图像的实例

    今天小编就为大家分享一篇使用python绘制二元函数图像的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-02-02
  • 一文教你利用Python制作一个生日提醒

    一文教你利用Python制作一个生日提醒

    在国内,大部分人都是过农历生日,然后借助日历工具获取农历日期对应的阳历日期,以这一天来过生!这里还有一个痛点,即:每一年的农历生日对应的阳历日期都不一样,本篇文章将教你利用 Python 制作一个简单的生日提醒,需要的可以参考一下
    2022-12-12
  • Python 日志记录模块的综合指南

    Python 日志记录模块的综合指南

    这篇文章主要为大家介绍了Python 日志记录模块的综合指南,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • python实现简易通讯录修改版

    python实现简易通讯录修改版

    这篇文章主要为大家详细介绍了python实现简易通讯录的修改版,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • Python调用Windows命令打印文件

    Python调用Windows命令打印文件

    Windows命令行打印文件使用print 命令,具体用法可使用help print查看,下面是使用Python调用print指令执行打印文件功能的代码,需要的朋友可以参考下
    2020-02-02
  • python计算机视觉opencv矩形轮廓顶点位置确定

    python计算机视觉opencv矩形轮廓顶点位置确定

    这篇文章主要为大家介绍了python计算机视觉opencv矩形轮廓顶点位置确定,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05

最新评论