python

关注公众号 jb51net

关闭
首页 > 脚本专栏 > python > Python MySQL编写信息管理系统

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

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

您可能感兴趣的文章:
阅读全文