本文主要演示,在python中如何使用pymysql模块,链接MySQL数据库,实现多种条件,用户信息查询功能的小案例。
查询功能:
1、查询所有用户信息
2、查询所有用户姓名
3、查询单个用户工资
4、查询有奖金用户
5、查询工资高于100工资的员工
6、根据姓查名字(模糊查询)
7、退出系统
数据库基础信息
数据库地址='localhost'数据库用户名='root'数据库密码='root'数据库名称='test'数据库表名='user'
数据库内容
python代码:
import pymysql.cursorsimport 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=namecurses = 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_namecurses = 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()passelif value=='3':query_name=input('请输入查询姓名:')user_op.user_salary(query_name)passelif 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')
如果本文对您有帮助,记得点个赞 ↓↓↓↓