用python连接mysql的方法

如何将个人主机上的mysql服务发布到公网:frp内网穿透
 

用python连接mysql的方法

方法一:

1.设置清华镜像站:从国内下载安装包,提高下载和安装速度

pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple

报错:是因为pip版本太低了,更新修复一下pip的软件包

[root@python01 ~]# pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
ERROR: unknown command "config"
[root@python01 ~]# python3 -m pip install --upgrade pip

 

2.安装pandas数据分析工具:

pandas是知名的数据分析⼯具,pandas有完整的读取数据的⼯具,以及DateFrame数据框架,⽤

于保存从数据库中读取的数据

3.安装pymysql连接器

oracle为开发者提供的python管理mysql 的⼯具,通过这个⼯具,就恶意在不替原有代码的情况下,应对 数据库软件的升级

python连接mysql的工具:

pip3 install pymysql

pip3 install pandas

注意:

pip3 install pymysql 用于安装 Python 的 pymysql 库,pymysql 是一个用于在 Python 中连接和操作 MySQL 数据库的库。它提供了方便的接口和方法,让您能够执行数据库的查询、插入、更新和删除等操作。

例如,如果您要开发一个与 MySQL 数据库交互的 Python 应用程序,就可以使用 pymysql 来实现。

pip3 install pandas 则是安装 pandas 库。pandas 是 Python 的核心数据分析支持库,提供了快速、灵活、明确的数据结构,旨在简单、直观地处理关系型、标记型数据。

比如说,您可以使用 pandas 来读取和处理 CSV 文件、Excel 文件中的数据,进行数据清洗、数据分析等操作。

>>> 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=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

>>> res=cursor.fetchall()
>>> res
((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=res,columns=head)
   id  name gender
0   1    章三      男
1   2    李四      女
2   3   小凤仙      女
3   4  章丘铁锅      男
4   6   孙颖莎      女

方法二:

编写py脚本

和shell脚本一样python文件也可以称为py脚本,也是将python指令做一个集合

为了脚本更加的智能化和自动化,添加选择语句(智能)循环语句(自动化)

同时为了开发效率,可读性,做了方法,类,模块

这个脚本固定了mysql服务器的相关属性

这个脚本没有固定mysql服务器的相关属性

[root@python01 ~]# vim python_mysql_01.py
 

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)    

二进制可执行文件
1. python脚本完成并配置成功之后,将脚本部署为⼀个⼆进制的可执⾏⽂件
2. 因为py⽂件要被执⾏需要在linux中安装python环境
3. 但是⼆进制可执⾏⽂件,不要环境,在任何linux主机上都可以执⾏
4. 步骤

     安装pyinstaller

          pip3 install pyinstaller

     使⽤pyinstaller⽣成可执⾏⽂件

           pyinstaller --onefile xxx.py

          130  pyinstaller --onefile python_mysql_01.py
 

           # py⽂件中必须是有 if __name__=="__main__":
python模块 发布web服务:

python3 -m http.server 9971

  135  ls dist
  136  cd dist/
  138  ./python_mysql_01
  139  cd
  140  python3 -m http.server 8000

 
  • 21
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值