iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >python+tkinter+mysql做简单数据库查询界面
  • 114
分享到

python+tkinter+mysql做简单数据库查询界面

2024-04-02 19:04:59 114人浏览 独家记忆
摘要

目录一、准备工作:二、代码:三、界面四、总结一、准备工作: 1、安装Mysql3.7,创建一个test数据库,创建student表,创建列:(列名看代码),创建几条数据 (以上工作直

一、准备工作:

1、安装Mysql3.7,创建一个test数据库,创建student表,创建列:(列名看代码),创建几条数据

(以上工作直接用navicat for mysql工具完成)

二、代码:

import sys
import tkinter as tk
import mysql.connector as sql

#--------------------查询函数---------------------------
def sql_connect():
    listbox_show.delete(0,'end') #初始化清空显示区
    m = listbox_name.curselection()[0]
    print('m=',m)
    list_name = listbox_name.get(m)[0]
    varlue = entry_varlue.get()
    print('list_name=',list_name)
    print('var=',varlue)

    while list_name == 'Student_ID':
        sql_sr = "select * from Student where student.student_id = " + "'" + varlue +"'"
        print(sql_sr)
        break
    while list_name == 'Name':
        sql_sr = "select * from Student where student.name = " + "'" + varlue +"'"
        print(sql_sr)
        break

    while list_name == 'Age':
        sql_sr = "select * from Student where student.age = " + "'" + varlue +"'"
        print(sql_sr)
        break
    while list_name == 'Sex':
        sql_sr = "select * from Student where student.sex = " + "'" + varlue +"'"
        print(sql_sr)
        break
    while list_name == 'Class':
        sql_sr = "select * from Student where student.class = " + "'" + varlue +"'"
        print(sql_sr)
        break

    mydb = sql.connect(host='localhost',user='root',passwd='123456',database='test')
    mycursor = mydb.cursor()
    mycursor.execute(sql_sr)
    myresult = mycursor.fetchall()
    for x in myresult:
        print (x)
        listbox_show.insert('end',x)
#--------------------------------------------------------


#------------界面初始化时加载选项列表--------------------
sql_n = "SELECT COLUMN_NAME FROM infORMation_schema.COLUMNS \
WHERE TABLE_SCHEMA = 'test' AND TABLE_NAME = 'student'"
mydb = sql.connect(host='localhost',user='root',passwd='123456',database='test')
mycursor = mydb.cursor()
mycursor.execute(sql_n)
myresult = mycursor.fetchall()

#--------------------------------------------------------

#----------窗体部分--------------------------------------
entry_list_name = tk.Entry()
entry_list_name.pack()

listbox_name = tk.Listbox()
listbox_name.pack()
for i in myresult:
    listbox_name.insert('end',i) #加载选项列表

entry_varlue = tk.Entry()
entry_varlue.pack()

button_select = tk.Button(text = '查找',command = sql_connect)
button_select.pack()

listbox_show = tk.Listbox()
listbox_show.pack()


root.mainloop()
#--------------------------------------------------------

三、界面

 好吧,是挺丑的,因为没调格式,将就吧。

四、总结

1、目的:自己这个菜鸟新手天天看基础教程觉得很抽象,各种运算结果只能打印在IDE窗口,不是我想象中的程序(有界面,有交互,有。。。总之很精彩),然后按教程的各种渐进学法感觉不太适合自己的风格,我喜欢有一个具体的东西,不断的添加功能,然后在添加的过程中碰到问题再寻求解决办法,在解决的过程中学习新知识,嗯,就是只学能用到的,很功利。。。然后就开始折腾这个小界面。

2、首先要有GUI界面就要用到GUI模块,本着方便原则就用python自带的tkinter(不用再折腾安装),一开始我想用所见即所得的方式,找到了一个可以拖放元件来生成界面的工具page Python,这也是个基于tkinter的工具,后来发现生成的py文件对我这个菜鸟来说还是有点深奥了,而且关于page的教程全网只有一两个(无语,估计高手都不屑吧),然后就转而直接研究tkinter,以下是几个有用的链接:https://www.jb51.net/article/197751.htm?pc

Https://www.jb51.net/article/234305.htm

3、先做好窗体部分的实现代码。

设计:按动按钮查询固定表里某一字段的某个匹配值的结果,显示在界面中。

元件:输入元件2个(1个字段,1个值),结果显示元件1个,按钮1个。

字段输入值直接获取表头列出选择,找不到下拉菜单,只能用listbox来做,界面初始化时就将表头读出列在listbox里。

匹配值输入使用entry输入框。

显示结果也是使用listbox。

交互动作使用按钮。

OK,视觉界面做好了,下面添加功能。

4、(字段输入值直接获取表头列出选择,找不到下拉菜单,只能用listbox来做,界面初始化时就将表头读出列在listbox里。)

要和mysql交互获取,需要登录数据库并实现查询。

我使用import mysql.connector模块来实现和mysql的通讯(python还有期它模块也能实现和mysql的通讯,当时为什么使用mysql.connector呢,我也记不清了,好像从哪个教程直接弄来用的,反正就是用了)

于是又去啃了sql的查询语句,这里还是挺齐全的https://www.jb51.net/w3school/sql/sql_select.htm,不过我是没学全的,没办法,学渣只能用到哪学到哪。重点说一下,sql语句里的 + 号就是将前后的值串起来,可以理解为and。可以将字符和变量串起来。

5、接下来就是按钮动作的交互代码了,这是逻辑的重头戏。

逻辑:在列出的字段中选择一个要查询的字段,输入要匹配的值,点击按钮查询,将结果显示在显示区。

获取listbox的光标值,将它取出来,比对字段生成相应的sql查询语句,和mysql交互得到返回值集,逐条取出展示在显示区。

好了,大功告成,虽然看起来很丑,想让它变美女就要加滤镜咯(调tkinter格式)。

到此这篇关于python+tkinter+mysql做简单数据库查询界面的文章就介绍到这了,更多相关tkinte mysql数据库查询界面内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: python+tkinter+mysql做简单数据库查询界面

本文链接: https://www.lsjlt.com/news/162153.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python+tkinter+mysql做简单数据库查询界面
    目录一、准备工作:二、代码:三、界面四、总结一、准备工作: 1、安装mysql3.7,创建一个test数据库,创建student表,创建列:(列名看代码),创建几条数据 (以上工作直...
    99+
    2024-04-02
  • 查询数据(数据库)——简单查询
    目录 1.最简单的查询 (1)查询指定列 (2)查询所有列 (3)查询计算列 (4)为列起别名 (5)使用DISTINCT关键字消除重复元组 2.查询满足条件的元组 (1) 比较大小 (2) 确定范围 (3) 确定集合 (4) 字符匹配 (...
    99+
    2023-10-11
    数据库 sql mysql
  • Python查询界面怎么做
    要设计一个Python查询界面,可以使用Python的GUI库来实现,比如Tkinter、PyQt等。以下是使用Tkinter库来设...
    99+
    2023-08-09
    python
  • MySQL数据查询(可视化界面 MySQL Workbench)
    一、SELECT语句 Select子句:指定要显示的列或表达式 From子句:指定查询数据来源的表或视图,可以指定一个表,也可以指定多个表 Where子句:指定选择行的条件 Group by子句:指定分组表达式 Havin...
    99+
    2023-09-04
    mysql 数据库 sql
  • 简单实现python tkinter制作用户登录界面
    这篇文章主要介绍“简单实现python tkinter制作用户登录界面”,在日常操作中,相信很多人在简单实现python tkinter制作用户登录界面问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”简单实现p...
    99+
    2023-06-14
  • python tkinter制作用户登录界面的简单实现
    本文只是几年前学习的tkinter的时候写的测试程序,十分之简陋,只是学习用,没什么其他用处。 学习一下莫烦Python的tkinter教程,根据教程制作了用户登录注册页。基本功能为...
    99+
    2024-04-02
  • Python + Tkinter连接本地MySQL数据库简单实现注册登录
    项目结构: 源代码: # -*- coding: utf-8 -*- """ @date:  2022/01/09 17:40 @author: Anker @python:...
    99+
    2024-04-02
  • MySQL数据库单表查询的示例
    这篇文章主要介绍MySQL数据库单表查询的示例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!一、 简单查询1.     Select语句Select [...
    99+
    2024-04-02
  • 数据库界面设计怎么做
    数据库界面设计的一般步骤如下:1. 确定需求:明确数据库界面的功能和目标,包括需要展示的数据、操作方式、用户角色等。2. 设计数据结...
    99+
    2023-08-25
    数据库
  • MySQL-查询数据库(一)
    有志者,事竟成 文章持续更新,可以微信搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。 ...
    99+
    2023-09-07
    mysql java 数据库
  • gitee可以做查询数据库吗
    gitee可以作为代码管理和协作平台,但不是数据库管理工具,也不能直接查询数据库。下面是更详细的解释:什么是gitee?Gitee是国内的一个开源代码托管平台,类似于GitHub。它是一个云端的Git代码仓库,用户可以使用它来托管自己的代码...
    99+
    2023-10-22
  • MySQL数据库简单指令
    MySQL数据库简单指令 1. 启动MySQL服务: net start mysql 2. 进入MySQL: mysql -u root -p 3. 查看MySQL信息: \s 4. 修改MySQL密码: ALTER USER roo...
    99+
    2023-08-16
    数据库 mysql 服务器
  • Mysql数据库时间查询
    1、查询当前时间  年月日时分秒 select now();   2、查询当前时间 前三小时 的时间点 select subdate(now(),interval 3 hour);   3、查询当前时间  前三天 的时间点 select...
    99+
    2023-09-10
    java sql 开发语言
  • 【MySQL数据库】- 多表查询
    🍁博客主页:👉@不会压弯的小飞侠 ✨欢迎关注:👉点赞👍收藏⭐留言✒ ✨系列专栏:👉MySQL数据库专栏 ✨欢迎加入社区: 👉不会压弯的小...
    99+
    2023-08-17
    数据库 mysql sql
  • MySql数据库单表查询与多表连接查询效率对比
    这段时间在做项目的过程中,遇到一个模块,数据之间的联系很复杂,在建表的时候就很纠结,到底该怎么去处理这些复杂的数据呢,是单表查询,然后在业务层去处理数据间的关系,还是直接通过多表连接...
    99+
    2024-04-02
  • c#数据库查询怎么做翻页
    非常抱歉,由于您没有提供文章标题,我无法为您生成一篇高质量的文章。请您提供文章标题,我将尽快为您生成一篇优质的文章。...
    99+
    2024-05-14
  • SQL Server2019数据库之简单子查询的具有方法
    子查询可以完成 SQL 查询中比较复杂的情况,本章主要介绍一些子查询的简单用法。 一、简单子查询 1、简单子查询 子查询是 SELECT 语句内的另外一条 SELECT 语句...
    99+
    2024-04-02
  • python怎么查询数据库数据
    在Python中查询数据库数据通常是使用SQL语句来实现的。首先需要连接到数据库,然后构造SQL查询语句,并执行查询操作。 以下是一...
    99+
    2024-03-12
    python 数据库
  • mysql数据库怎么查询数据的
    在 mysql 中查询数据,可以使用 select 语句,语法:select 列名from 表名where 条件;可选参数包括 distinct(去除重复记录)、li...
    99+
    2024-04-22
    mysql
  • 数据库MySQL简单操作(三)
    1.3 多表查询1.3.1连接查询:#内连接:自连接查询:#外连接左外连接(可以查询出表名1的所有记录,而表名2中只能查出匹配的记录)SELECT 属性名列表 FROM 表名1 LEFT JOIN ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作