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数据库并创建数据库。

物联沃分享整理
物联沃-IOTWORD物联网 » Python与MySQL结合,打造高效信息管理系统

发表评论