300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > 如何使用python连接MYsql数据库 实现信息查询小案例

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

时间:2019-11-28 04:59:58

相关推荐

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

本文主要演示,在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')

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。