Python查询MySQL数据库并输出相应信息

2023-11-19

场景描述

将fork的编号与ip信息存储在了MySQL中,数据库为forklift,数据表名为fork_info,存储格式为id+num+ip,那么如何用python去查询这些信息呢?

分析

根据提供的MySQL表结构,想从名为fork_info的数据库表中检索信息,该表有三个列:Auto_ID(整数),fork_num(整数)和fork_ip(文本类型)。

为了查询MySQL数据库并获取所需的信息,可以使用以下Python代码:

import pymysql

def connect_database(host, port, user, password, db_name):
    conn = pymysql.connect(
        host=host,
        port=port,
        user=user,
        password=password,
        db=db_name
    )
    return conn

def fetch_fork_info(conn):
    try:
        cursor = conn.cursor()
        query = "SELECT Auto_ID, fork_num, fork_ip FROM fork_info WHERE fork_ip != '-1' LIMIT 1;"
        cursor.execute(query)
        result = cursor.fetchone()
        cursor.close()
        return result
    except Exception as e:
        print("查询错误:", e)
        return None

if __name__ == "__main__":
    host = 'YOUR_HOST'
    port = 3306
    user = 'YOUR_USERNAME'
    password = 'YOUR_PASSWORD'
    db_name = 'forklift'

    try:
        # 连接数据库
        conn = connect_database(host, port, user, password, db_name)
    except Exception as e:
        print("连接错误:", e)
        exit()

    # 获取所需信息
    fork_info = fetch_fork_info(conn)
    if fork_info:
        print(f"Auto_ID: {fork_info[0]}, fork_num: {fork_info[1]}, fork_ip: {fork_info[2]}")
    else:
        print("未找到有效信息。")

    # 关闭数据库连接
    conn.close()

确保将'YOUR_HOST''YOUR_USERNAME''YOUR_PASSWORD'替换为实际的数据库连接信息。
这段代码将连接到数据库,执行SQL查询以获取fork_ip不等于-1的第一行数据,并将检索到的信息打印出来。如果没有找到有效信息,将相应打印一条提示信息。

运行结果

E:\software\python\python.exe E:/projects/Forklift/Server/fork_info_access.py

Auto_ID:1,fork_num:155599,fork_ip:198.17.12.25

 

Process finished with exit code 0

优化升级

如何输出所有不重复的数据呢?

如果想返回所有不重复的结果,而不仅仅是第一个不重复的结果,可以使用fetchall()方法来获取所有满足条件的行。修改fetch_fork_info函数如下:

def fetch_all_fork_info(conn):
    try:
        cursor = conn.cursor()
        query = "SELECT Auto_ID, fork_num, fork_ip FROM fork_info WHERE fork_ip != '-1';"
        cursor.execute(query)
        result = cursor.fetchall()
        cursor.close()
        return result
    except Exception as e:
        print("查询错误:", e)
        return None

在主函数中调用fetch_all_fork_info函数,然后使用一个循环来打印所有结果:

if __name__ == "__main__":
    host = 'YOUR_HOST'
    port = 3306
    user = 'YOUR_USERNAME'
    password = 'YOUR_PASSWORD'
    db_name = 'forklift'

    try:
        # 连接数据库
        conn = connect_database(host, port, user, password, db_name)
    except Exception as e:
        print("连接错误:", e)
        exit()

    # 获取所有不重复的信息
    all_fork_info = fetch_all_fork_info(conn)
    if all_fork_info:
        for row in all_fork_info:
            print(f"Auto_ID: {row[0]}, fork_num: {row[1]}, fork_ip: {row[2]}")
    else:
        print("未找到有效信息。")

    # 关闭数据库连接
    conn.close()

这样,它将会返回数据库中所有满足fork_ip != '-1'条件的行,并打印出每一行的Auto_IDfork_numfork_ip值。如果没有找到有效信息,它将打印相应的提示信息。记得替换'YOUR_HOST''YOUR_USERNAME''YOUR_PASSWORD'为实际的数据库连接信息。

运行结果

E:\software\python\python.exe E:/projects/Forklift/Server/fork_info_access_02.py

Auto_ID: 1, fork_num:155599,fork_ip:198.17.12.25

Auto_ID: 2, fork_num:155597,fork_ip:198.17.12.24
 

Process finished with exit code 0
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python查询MySQL数据库并输出相应信息 的相关文章

随机推荐

  • ctfshow-网络迷踪-初学再练( 一座雕像判断军事基地名称)

    ctf show 网络迷踪第4关 题目中只有一座雕像 需要根据雕像提交军事基地的名称 推荐使用谷歌识图 溯源到一篇博客 答案就在文章标题中 给了一座雕像 看样子不像是国内的风格 扔谷歌识图找找线索 访问谷歌识图 根据图片搜索 https w
  • kubernetes常见异常处理

    一 kubernetes常见Pod异常状态的处理 一 一般排查方式 无论 Pod 处于什么异常状态 都可以执行以下命令来查看 Pod 的状态 kubectl get pod
  • 拉格朗日乘数法

    拉格朗日乘数法
  • attention(注意力机制)原理和pytorch demo

    目录 说明 RNN的局限性 注意力机制原理 注意力机制实现 第一步 编码 第二步 第0次打分并解码 第三步 第1次打分并解码 Demo链接和结果分析 总结 改进 说明 demo源自吴恩达老师的课程 从tensorflow修改为pytorch
  • Selenium成长之路-01如何开始学习

    为什么最近要写selenium 是因为最近有不少同事问我关于selenium的问题 所以觉得有必要来写一篇selenium 从环境搭建到框架构成都写出来 也分享一下我的selenium的点点经验 有不足之处 欢迎吐槽 学习selenium之
  • 区块链技术是如何应用到版权维护上?

    随着视频和音乐行业的迅速发展 数字出版已经形成完整的产业链 带来一些可观的收入 但是也伴随侵权的现象发生 那么区块链技术怎么运用到作品版权保护上呢 1 时间戳 我们知道区块链有一个 时间戳 这个可信时间戳由权威机构签发 能证明数据电文在一个
  • 我的百度经验目录

    百度经验目录 进一步了解基于Mathematica的图像特征检测方法 http jingyan baidu com article a501d80c44a372ec630f5eb4 html 怎么把python代码打包成exe文件 http
  • Obsidian入门

    这里讲一下Obsidian 一款支持markdown语法的笔记软件 软件上手没有难度 会基本的markdown语法可以直接使用 但是Obsidian第三方库插件社区提供了近千种插件以及各种各样的主题 可以帮助用户更好的使用它 相信很多人都跟
  • Python 导出保存 MongoDB上数据到Excel(.xls和.csv)文件

    Python 中使用MongoDB存储数据 若需要导出数据到文件 可以使用pandas或xlwings导出到Excel xls和 csv 文件 本文主要介绍Python 中导出保存MongoDB上数据到Excel xls和 csv 文件的方
  • CVPR17(backbone) - ResNeXt : 引入网络设计中的新维度cardinality

    文章目录 原文地址 论文阅读方法 初识 相知 回顾 代码 论文全称 Aggregated Residual Transformations for Deep Neural Network 原文地址 原文地址 论文阅读方法 三遍论文法 初识
  • 《一个操作系统的实现》读书笔记-- 第一章--最小的“操作系统”

    一 最简单的 操作系统 最最简单的 操作系统 就是一个最最简单的引导扇区 Boot Sector 虽然它不具有任何功能 但是它却能够直接在裸机上运行 不依赖其他软件 一个引导扇区是512个字节 并且以0xAA55为结束标识的扇区 下面就是那
  • EIoU和Focal-EIoU Loss

    1 论文 论文题目 Focal and Efficient IOU Loss for Accurate Bounding Box Regression 2 引言 CIoU Loss虽然考虑了边界框回归的重叠面积 中心点距离 高宽比 但是其公
  • 第一章:宇宙第一IDE--Visual Studio

    数据结构 是指一种计算机存储 组织数据的方式 IDE Integrated Development Environment 的缩写 表示 集成开发环境 它是一种用于提供程序开发环境的应用程序 一般包括代码编辑器 编译器 调试工具和图形化用户
  • Java调用exe程序

    String exePath D Xftp6 Xftp exe BufferedReader br null BufferedReader brError String line null try String cmd D Xftp6 Xf
  • MATLAB函数句柄

    1 何为函数句柄 函数句柄也是MATLAB中的一种常见的数据类型 它的地位类似于其它计算机语言里的函数对象 Javascript Python 函数指针 C 或者函数引用 Perl 它的作用是将一个函数封装成一个变量 使其能够像其它变量一样
  • 【NLP】自然语言处理技术在自动生成足球比赛战报上的应用

    1 背景介绍 自动生成新闻看似是一个很成熟的技术 很多年前就有各种应用 但是深入了解后我们可以发现机器自动生成的文章一般都是复述一些数字和简单的趋势变化 所以自动生成新闻的技术广泛应用在金融 体育领域 原因就是这类报道需要基于一定的事实 而
  • 模型调参之网格搜索与随机搜索

    模型调参之网格搜索与随机搜索 网格搜索法 GridSearchCV GridSearchCV GridSearchCV可以拆分成GridSearch和CV两部分 即网格搜素和交叉验证 GridSearch系统地遍历多种参数组合 通过交叉验证
  • 一文讲透彻!RobotFramwork测试框架教程(全能)

    Robot Framwork在业界早已名声大振 有很多刚学自动化测试的伙伴问我 有没有不需要编程就可以玩自动化的方法 有吗 有的 Robot Framwork 我们今天就一篇文章 把它讲得明明白白 一 Robot Framwork简述 Ro
  • 宅男福利!程序员周末看片神器,关键还开源

    本文源自自公众号开源最前线 ID OpenSourceTop 猿妹整理 别人眼中的程序员一定是这样的 每天有接不完的需求 写不完的代码 改不完的Bug 但大多数程序员偶尔也是有周末的 你是否有出现这种情况 连续加了好几天的班 好不容易迎来一
  • Python查询MySQL数据库并输出相应信息

    场景描述 将fork的编号与ip信息存储在了MySQL中 数据库为forklift 数据表名为fork info 存储格式为id num ip 那么如何用python去查询这些信息呢 分析 根据提供的MySQL表结构 想从名为fork in