python管理mysql

news2024/11/26 0:52:42

[root@server1 ~]# pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple            //这是设置清华镜像站,提高下载安装速度,如果报错提示找不到config,这是因为版本低,临时使用清华镜像站来升级 pip: python3 -m pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --upgrade pip       升级后再执行上述命令
[root@server1 ~]# pip3 install pymysql              //安装pymysql连接器(oracle为开发者提供的python管理mysql 的⼯具,通过这个⼯具,就恶意在不替原有代码的情况下,应对 数据库软件的升级)
[root@server1 ~]# pip3 install pandas            //安装pandas数据分析⼯具(pandas是知名的数据分析⼯具, pandas有完整的读取数据的⼯具,以及DateFrame数据框架,⽤ 于保存从数据库中读取的数据)
[root@server1 ~]# python3
Python 3.6.8 (default, Nov 14 2023, 16:29:52) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux
Type "help", "copyright", "credits" or "license" for more information.567777777777777777777777777777777777777777=5
>>> import pymysql
>>> import pandas
>>> pymysql
<module 'pymysql' from '/usr/local/lib/python3.6/site-packages/pymysql/__init__.py'>
>>> pandas
<module 'pandas' from '/usr/local/lib64/python3.6/site-packages/pandas/__init__.py'>
>>> import pymysql as pm             //作别名
>>> import pandas as pd
>>> pm
<module 'pymysql' from '/usr/local/lib/python3.6/site-packages/pymysql/__init__.py'>
>>> pd
<module 'pandas' from '/usr/local/lib64/python3.6/site-packages/pandas/__init__.py'>
>>> conn=pm.connect(
... host='123.249.27.70',
... user='abcd',
... password='abcd',
... database='test',
... port=3306);
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/pymysql/connections.py", line 614, in connect
    (self.host, self.port), self.connect_timeout, **kwargs
  File "/usr/lib64/python3.6/socket.py", line 724, in create_connection
    raise err
  File "/usr/lib64/python3.6/socket.py", line 713, in create_connection
    sock.connect(sa)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 6, in <module>
  File "/usr/local/lib/python3.6/site-packages/pymysql/connections.py", line 353, in __init__
    self.connect()
  File "/usr/local/lib/python3.6/site-packages/pymysql/connections.py", line 664, in connect
    raise exc
pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '123.249.27.70' (timed out)")
>>> conn=pm.connect(
... host='123.249.27.70',
... user='abcd',
... password='abcd',
... database='test',
... port=6001);
>>> conn
<pymysql.connections.Connection object at 0x7faaaa7463c8>
>>> cursor=conn.cursor()
>>> cursor
<pymysql.cursors.Cursor object at 0x7faaaa79bbe0>
>>> sql="select * from student"
>>> sql
'select * from student'
>>> cursor.execute(sql)
5
>>> cursor.fetchall()
((1, '章三', '男'), (2, '李四', '女'), (3, '小凤仙', '女'), (4, '章丘铁锅', '男'), (6, '孙颖莎', '女'))
>>> cursor.description
(('id', 3, None, 11, 11, 0, False), ('name', 253, None, 180, 180, 0, False), ('gender', 253, None, 16, 16, 0, False))
>>> head=[]
>>> desc=cursor.description
>>> for var in desc:
...     print(var[0])
... 
id
name
gender
>>> for var in desc:
...     head.append(var[0]
... 
... 
... )
... 
>>> head
['id', 'name', 'gender']
>>> pd.DataFrame(data=cursor.fetchall(),columns=head)
Empty DataFrame
Columns: [id, name, gender]
Index: []
>>> pd.DataFrame(cursor.fetchall(),columns=head)
Empty DataFrame
Columns: [id, name, gender]
Index: []
>>> cursor.fetchall()
()
>>> cursor.execute(sql)
5
>>> res=cursor.fetchall()
>>> res
((1, '章三', '男'), (2, '李四', '女'), (3, '小凤仙', '女'), (4, '章丘铁锅', '男'), (6, '孙颖莎', '女'))
>>> head
['id', 'name', 'gender']
>>> pd.DataFrame(data=res,columns=head)
   id  name gender
0   1    章三      男
1   2    李四      女
2   3   小凤仙      女
3   4  章丘铁锅      男
4   6   孙颖莎      女

[root@zmysql ~]# vim python_mysql_01.py              //编写python脚本
import pymysql
import pandas

class Python_Mysql_01(object):

    def __init__(self):
        print("======================")

    def getConn(self):
        conn=pymysql.connect(
            host=input("sign host_ip|name:"),
            user=input("sign database username:"),
            password=input("sign database password:"),
            database=input("sign database name:"),
            port=int(input("sign port no "))
        )
#        print(conn)
        return conn

    def getRes(self,cursor,sql):
        cursor.execute(sql)

        # 获得查询的数据
        data=cursor.fetchall()

        # 表头
        head=[item[0] for item in cursor.description]
                
        # 组成pandas数据框 DataFrame
        return pandas.DataFrame(data=data,columns=head)

if __name__=="__main__":
    # 初始化Python_Mysql_01类,创建实例,pmp,之后所有的方法都可以在实例中调用
    pmp=Python_Mysql_01()
    # 获得conn
    conn=pmp.getConn()

    #获得游标    
    cursor=conn.cursor()
#    print(cursor)
    tablename=input("sign tablename")
    df=pmp.getRes(cursor,"select * from "+tablename)
    print(df)    
[root@zmysql ~]# python3 python_mysql_01.py               //运行脚本
======================
sign host_ip|name:123.249.27.70
sign database username:abcd
sign database password:abcd
sign database name:test
sign port no 6001
sign tablenamestudent
   id  name gender
0   1    章三      男
1   2    李四      女
2   3   小凤仙      女
3   4  章丘铁锅      男
4   6   孙颖莎      女

[root@zmysql ~]# pip3 install pyinstaller              //安装pyinstaller
[root@zmysql ~]# which pyinstaller 
/usr/local/bin/pyinstaller
[root@zmysql ~]# pyinstaller --onefile python_mysql_01.py          //使⽤pyinstaller⽣成可执⾏⽂件
[root@zmysql ~]# cd dist/
[root@zmysql dist]# ls
python_mysql_01
[root@zmysql dist]# ./python_mysql_01 
======================
sign host_ip|name:123.249.27.70
sign database username:abcd
sign database password:abcd
sign database name:test
sign port no 6001
sign tablenamestduent
   id  name gender
0   1    章三      男
1   2    李四      女
2   3   小凤仙      女
3   4  章丘铁锅      男
4   6   孙颖莎      女
[root@zmysql ~]# cd
[root@zmysql ~]# setenforce 0
[root@zmysql ~]# systemctl stop firewalld.service 
[root@zmysql ~]# python3 -m http.server 9000            //发布web服务
浏览器访问:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2035705.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

愤怒的江小白,这几年怎么了?

近日&#xff0c;东方甄选和江小白的纠纷引发了广泛关注。 8月8日晚间&#xff0c;东方甄选直播间中&#xff0c;主播天权在带货某款白酒产品时突然对比点评江小白产品&#xff0c;称江小白“不是白酒”&#xff1a;“你现在去看江小白的包装&#xff0c;上面是没有‘白酒’这…

1Panel 部署 爱影CMS

前言 本文以 爱影CMS 为例提供了一种在 1Panel 面板中在 docker 内运行二进制程序的一种思路。符合 1Panel 基于容器管理并部署应用&#xff0c;实现最小的漏洞暴露面的思路。 环境准备 完整的 1Panel 环境&#xff08;1Panel 如何安装&#xff1f; / 1Panel Pro 优惠购)服务…

软件测试学习搭子抱团取暖(已有400+)

希望优秀的测试人都聚齐在一起&#xff0c;大家一起解决面试难题&#xff0c;工作上的问题&#xff0c;在解决问题的同时自己也能提升&#xff0c;同时相互交流分享资料等测试面试经验&#xff0c;一起讨论交流呀。定个小目标2000。

除了知云文献翻译外,这几款翻译工具值得推荐!

近年来&#xff0c;市面上涌现出众多优秀的文献翻译工具&#xff0c;其中知云文献翻译凭借其强大的功能受到了广泛好评。然而&#xff0c;除了知云文献翻译外&#xff0c;还有几款翻译工具同样值得推荐。今天&#xff0c;就让我们一起来了解一下&#xff01; Foxit在线翻译 链…

【Qt】控件介绍

控件概念 一个图形化界面上的内容&#xff0c;在编写代码的时候不需要全部从零开始实现。Qt种已经提供了很多内置的控件&#xff08;按钮、文本框、单选按钮、复选按钮、下拉框等等&#xff09;&#xff0c;直接进行使用即可。 控件&#xff0c;英文名称widget&#xff0c;控件…

企业源代码加密软件有哪些?2024最好用的十款源代码加密软件

在当今快速发展的技术环境中&#xff0c;企业源代码的安全性至关重要。源代码不仅包含着企业的核心知识产权&#xff0c;还可能涉及敏感的商业数据。因此&#xff0c;选择一款合适的源代码加密软件&#xff0c;对于保护企业资产和避免数据泄露风险至关重要。随着安全技术的不断…

(回溯) LeetCode 47. 全排列||

原题链接 建议先练习&#xff1a;全排列| 一. 题目描述 给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,2] 输出&#xff1a; [[1,1,2],[1,2,1],[2,1,1]]示例 2&#xff1a; 输入&a…

【JavaEE初阶】线程池

目录 &#x1f4d5; 引言 &#x1f333; 概念 &#x1f340;ThreadPoolExecutor 类 &#x1f6a9; int corePoolSize与int maximumPoolSize&#xff1a; &#x1f6a9; long keepAliveTime与TimeUnit nuit&#xff1a; &#x1f6a9; BlockingQueue workQueue&#xff1a…

C# 序列化与反序列化指南:将对象数据写入/读取到XML文件

文章目录 1. XML 文件的基本概念以及为何使用 XML 文件进行数据序列化2. C# 中的 XML 文件序列化使用 XmlSerializer 类进行操作的详细步骤3. 创建一个自定义对象并序列化对象数据到 XML 文件的示例代码4. 读取 XML 文件并反序列化&#xff08;将 XML 数据转换为对象数据&#…

【Redis】Redis 初探:特性、应用场景与高并发架构演进之路

目录 初识 Redis关于 Redis服务端高并发分布式结构演进之路概述常⻅概念基本概念应⽤&#xff08;Application&#xff09;/ 系统&#xff08;System&#xff09;模块&#xff08;Module&#xff09;/ 组件&#xff08;Component&#xff09;分布式&#xff08;Distributed&…

LVS 、DR模式

lvs --环境 主机名IP地址功能web1192.168.1.17 rs web2192.168.1.18realservenat 内&#xff1a;192.168.1.16 外&#xff1a;192.168.1.102 directorserver,ntpdns192.168.1.12dns --web1、web2 yum -y install nginxecho "xx" > /usr/share/nginx/html/index.…

系统编程 day10 进程2

进程创建之后&#xff1a; 1.任务-----子进程与父进程干的活差不多 2.父进程创建出子进程之后&#xff0c;子进程做的与父进程完全不同 shell程序-----bash----- 以上为进程运行的过程中&#xff0c;典型的两种应用场景 能够改变子进程的执行效果的函数是exec函数族 l和v&a…

【2024】k8s集群 图文详细 部署安装使用(两万字)

目录&#x1f4bb; 一、前言二、下载依赖配置环境1、配置系统环境1.1、配置桥接网络1.1.1、parallels desktop配置1.1.2、VMware配置 1.2、配置root用户登陆 2、环境配置安装下载2.1、安装ipset和ipvsadm2.2、关闭SWAP分区 3、配置Containerd容器3.1、下载安装Containerd3.2、创…

数据结构之线性表(单链表的实现)

目录 一、单链表的原理 二、单链表的实现 1.单链表的定义 2.单链表的初始化 3.清空单链表 4.单链表是否为空 5.单链表的长度 6.获取指定位置 i 的元素 7.获取指定元素 e 的位置 8.向链表中插入指定位置的元素 9.向链表中删除指定位置的元素 10.遍历链表中的元素 …

zdppy+vue3+onlyoffice开发文档管理系统实战 20240813登录功能中Python生成验证码校验的研究

遗留的问题 1、登录功能 5、设计登录的接口 6、前后端联调&#xff0c;实现登录功能 7、要记录登录的Token和用户名&#xff0c;跳转到首页 2、注册功能 3、用户管理 4、角色管理 5、权限管理 6、分享功能 tb_user拆成基本信息和详细信息两张表。 6、前后端联调&#xff0c…

设计模式-标识映射(Identity Map)

概念 通过在映射中保存每个已经加载的对象&#xff0c;确保每个对象只加载一次。当要访问对象的时候&#xff0c;通过映射来查找他们。 从数据库加载对象时&#xff0c;对象与其映射的一致性、重复加载&#xff0c;这些都是需要得到保证的。 标识映射记录在一个业务事务中从数…

2024年中国AI大模型场景应用趋势解读

引言 >> 近年来&#xff0c;随着人工智能技术的飞速发展&#xff0c;AI大模型逐渐成为推动各行业数字化转型的重要驱动力。本文从行业现状、应用痛点、发展趋势以及投资机会等方面进行详细解读&#xff0c;探讨AI大模型在未来的广泛应用前景。 一、AI大模型行业应用现状…

【LLM大模型】Llama3.1 部署本地知识库应用

一. 环境介绍 高性能应用服务 HAI 拥有丰富的预装应用&#xff0c;可以将开源社区的前沿模型快速转化为您专有的部署实践&#xff0c;一键拉起&#xff0c;即开即用。现已支持在HAI购买页的社区应用中&#xff0c;找到Llama 3.1等应用的入口&#xff0c;简单选型后&#xff0c…

【MySQL 05】数据类型

&#x1f308; 一、数据类型的作用 如果向 MySQL 特定的类型中插入不合法的数据&#xff0c;MySQL 一般会将本次操作直接拦截。反过来讲&#xff0c;能被成功插入到 MySQL 中的数据一定合法。在 MySQL 中&#xff0c;数据类型本身也是一种约束&#xff0c;这种约束约束的是使用…

一篇文章教会你如何使用Haproxy,内含大量实战案例

1. Haproxy 介绍 HAProxy是法国开发者 威利塔罗&#xff08;Willy Tarreau&#xff09; 使用C语言编写的自由及开放源代码软件&#xff0c;是一款具备高并发&#xff08;万级以上&#xff09;、高性能的TCP和HTTP应用程序代理. HAProxy运行在当前的硬件上&#xff0c;可以支持…