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编写信息管理系统内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python re模块findall()函数实例解析

    python re模块findall()函数实例解析

    这篇文章主要介绍了python re模块findall()函数实例解析,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • Python实现列表索引批量删除的5种方法

    Python实现列表索引批量删除的5种方法

    这篇文章主要介绍了Python实现列表索引批量删除的5种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • python手机号前7位归属地爬虫代码实例

    python手机号前7位归属地爬虫代码实例

    这篇文章主要介绍了python手机号前7位归属地爬虫代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-03-03
  • Python中的枚举类型示例介绍

    Python中的枚举类型示例介绍

    这篇文章主要给大家介绍了关于Python中枚举类型的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • python的mysql数据库建立表与插入数据操作示例

    python的mysql数据库建立表与插入数据操作示例

    这篇文章主要介绍了python的mysql数据库建立表与插入数据操作,结合实例形式分析了python操作mysql数据库建立表与插入数据相关实现技巧,需要的朋友可以参考下
    2019-09-09
  • Python实现带GUI界面的手写数字识别

    Python实现带GUI界面的手写数字识别

    这篇文章主要介绍了如何通过Python实现带GUI界面的手写数字识别,文中的示例代码讲解详细,对我们学习Python有一定的帮助,感兴趣的可以了解一下
    2022-01-01
  • Pycharm通过SSH、SFTP连接远程服务器实践

    Pycharm通过SSH、SFTP连接远程服务器实践

    本文介绍在PyCharm专业版中配置SSH/SFTP连接远程服务器实现代码编辑调试的步骤,包括新建项目选择已有解释器、设置服务器参数、配置Rootpath与文件映射、启用自动上传下载功能,确保远程开发环境与本地同步
    2025-07-07
  • Python中创建包和增添包的路径(sys.path.append())

    Python中创建包和增添包的路径(sys.path.append())

    本文主要介绍了Python中创建包和增添包的路径(sys.path.append()),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-01-01
  • python3.6使用pymysql连接Mysql数据库

    python3.6使用pymysql连接Mysql数据库

    这篇文章主要为大家详细介绍了python3.6使用pymysql连接Mysql数据库,以及简单的增删改查操作,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-05-05
  • Python中 pickle 模块的 dump() 和 load() 方法详解

    Python中 pickle 模块的 dump() 和 load()&

    Python 的 pickle 模块用于实现二进制序列化和反序列化,一个对象可以被序列化到文件中,然后可以从文件中恢复,这篇文章主要介绍了Python中 pickle 模块的 dump() 和 load() 方法详解,需要的朋友可以参考下
    2022-12-12

最新评论