如何使用python连接MYsql数据库,实现信息查询小案例

本文主要演示,在python中如何使用pymysql模块,链接MySQL数据库,实现多种条件,用户信息查询功能的小案例。

查询功能:

1、查询所有用户信息

2、查询所有用户姓名

3、查询单个用户工资

4、查询有奖金用户

5、查询工资高于100工资的员工

6、根据姓查名字(模糊查询)

7、退出系统

数据库基础信息

数据库地址='localhost'
数据库用户名='root'
数据库密码='root'
数据库名称='test'
数据库表名='user'

数据库内容

如何使用python连接MYsql数据库,实现信息查询小案例_第1张图片

python代码:

import pymysql.cursors
import sys

# 数据库链接信息
db = pymysql.connect(host='localhost',
                     user='root',
                     password='root',
                     database='test')

class UserSql:

    def __init__(self):
        print('正在执行请求..')

    def user_all(self):
        #查看所有用户信息
        curses=db.cursor()
        sql='select * from user'
        curses.execute(sql)
        user_return=curses.fetchall()
        print('【所有用户详细信息】')
        print(' ID   姓名    工资    奖金   VIP')
        for i in  user_return:
            print(i)


    def user_name_all(self):
        #查看所有用户姓名
        curses=db.cursor()
        sql='select name from user'
        curses.execute(sql)
        name_list=curses.fetchall()
        print('【所有用户姓名】')
        print(' 姓名')
        for i in name_list:
            print(i)
    def user_salary(self,name):
        #查询某用户的工资信息
        self.name=name
        curses = db.cursor()
        sql='select name,gongzi from user where name=%s'
        curses.execute(sql,self.name)
        data_return=curses.fetchall()
        if data_return==():
            print('[警告]数据库中没有此用户')
        else:
            print(f'【您查询的{self.name}的工资信息】')
            print(' 姓名    工资')
            print(data_return)

    def bonus_yes(self):
        #查询有奖金用户信息
        curses = db.cursor()
        sql='select * from user where jiangjin is not NULL'
        curses.execute(sql)
        yes_list=curses.fetchall()
        print('【有奖金的用户】')
        print(' ID   姓名    工资    奖金   VIP')
        for i in yes_list:
            print(i)
    def range_salary(self):
        #根据工资范围查询员工信息
        curses = db.cursor()
        sql='select * from user where gongzi>=100 and gongzi<=200'
        curses.execute(sql)
        range_gongzi =curses.fetchall()
        print('工资大于等于100且小于等于300的用户信息如下')
        for i in range_gongzi:
            print(i)
    def fuzzy_query(self,sur_name):
        #姓模糊查询
        self.sur_name=sur_name
        curses = db.cursor()
        sql="select * from user where name like '%s'" % f'%{self.sur_name}%'
        curses.execute(sql)
        USER_surname=curses.fetchall()
        if USER_surname==():
            print(f'[警告]数据库中没有包含【{self.sur_name}】姓氏用户')
        else:
            print(f'【包含姓【{self.sur_name}】的员工信息】')
            for i in USER_surname:
                print(i)


def command(value):
    if value=='1':
        user_op.user_all()
    elif value=='2':
        user_op.user_name_all()
        pass
    elif value=='3':
        query_name=input('请输入查询姓名:')
        user_op.user_salary(query_name)
        pass
    elif value=='4':
        user_op.bonus_yes()
    elif value=='5':
        user_op.range_salary()

    elif value=='6':
        sur_name=input('请输入您需要查询的姓氏:')
        user_op.fuzzy_query(sur_name)
    elif value=='7':
        print('您退出了管理系统')
        sys.exit(0)
    else:
        print('您输入错误,请输入正确的命令序号。')


while True:
    print('1、查询所有用户信息 2、查询所有用户姓名 3、查询单个用户工资 '
          '4、查询有奖金用户 5、查询工资高于100工资的员工 '
          '6、根据姓查名字(模糊查询) 7、退出系统')
    user_input=input('请选择输入操作命令:')
    user_op=UserSql()
    command(user_input)
db.close()

执行结果

此处只演示,查询所有用户信息展示结果。

【所有用户详细信息】
 ID   姓名    工资    奖金   VIP
(1, '张三', '100', None, '0')
(2, '李四', '200', '1000', '1')
(3, '王二麻子', '300', '2000', '1')
(4, '李骄阳', '400', None, '0')

 如果本文对您有帮助,记得点个赞                          ↓↓↓↓

你可能感兴趣的:(MySQL,Python案例,mysql,python,数据库)