使用Python对MySQL进行数据分析

 更新时间:2026年02月24日 09:05:29   作者:hhzz  
这篇文章主要介绍了如何在Python中搭建环境、连接MySQL数据库、执行基本的数据库操作,并使用Python实现统计昨天用户增长量的脚本,需要的朋友可以参考下

1,前期准备

1.1,Python环境搭建

  1. 执行如下命令,使用yum install命令安装Python的依赖包:
  1. 下载Python安装包,显示100%即为下载成功:
wget 'https://clouder-labfileapp.oss-cn-hangzhou.aliyuncs.com/database/Python-3.9.10.tar.xz'
  1. 编译安装,请依次执行以下命令
# 解压安装包
tar -xvJf Python-3.9.10.tar.xz

# 进入安装包目录
cd Python-3.9.10

# 配置安装目录
./configure prefix=/usr/local/python3

# 编译,make工程管理器就是一个“自动编译管理器”,这里的“自动”是指它能够根据文件时间戳自动发现更新过的文件而减少工作量,同时,他通过读入makefile文件的内容来执行大量编译工作。
make
#说明:此过程耗时较长,请您耐心等待。
#编译安装
make install

# 给Python和包管理器创建软连接
ln -fs /usr/local/python3/bin/python3 /usr/bin/python3
ln -fs /usr/local/python3/bin/pip3 /usr/bin/pip3

  1. 执行以下命令,安装Python虚拟环境。
#创建目录
mkdir -p /apps && cd $_

#创建虚拟环境
python3 -m venv venv
  1. 执行以下命令,应用Python虚拟环境。
# 通常情况下一个应用服务一个虚拟环境,每个虚拟环境可以安装不同版本的不同模块
source /apps/venv/bin/activate
  1. 执行以下命令,配置pip源。
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip config set install.trusted-host mirrors.aliyun.com
  1. 执行以下命令,安装python模块
# 1. 升级 pip
pip install --upgrade pip

# 2. 升级 setuptools 和 wheel
pip install --upgrade setuptools wheel

# 3. 安装 pandas(指定稍旧但稳定的版本)
pip install pandas==2.2.3

pip install pymysql sqlalchemy matplotlib pyyaml
  1. 执行以下命令,验证Python模块安装成功。
pip list

  1. 执行以下命令,验证Python安装成功。
python --version
  1. 执行以下命令,安装MySQL。
yum  install mysql -y

1.2,安装连接MySQL的Python模块:

pip install pymysql

安装完成以后,我们需要在服务器上创建一个Python文件,用于编写代码内容,代码里面的内容包括:连接MySQL,创建游标,通过游标执行SQL。

Python脚本代码:

#!/usr/bin/python
import pymysql


# 1、打开数据库连接
db = pymysql.connect(host='localhost',user='root',password='test123',database='goods')

# 2、使用 cursor() 方法创建一个游标对象 cursor
cursor = db.cursor()
 
# 3、使用 execute()  方法执行 SQL  
cursor.execute("SELECT VERSION()")

# 使用 fetchone() 方法获取单条数据.
data = cursor.fetchone()

# 打印结果
print(f"Database version : {data}")

# 4、关闭数据库连接
db.close()

2,Python操作数据库

2.1,Python连接MySQL数据库

我们借助Python的pymysql模块连接MSQL数据库,pymysql是一个用于Python编程的第三方模块,用于连接和操作MySQL数据库。它提供了一个简单而强大的接口,使开发者能够轻松地在Python程序中执行各种数据库操作,如查询、插入、更新和删除数据等。

导入模块

import pymysql

打开数据库连接

注意:这里已经假定存在数据库aliyun,db指定了连接的数据库,当然这个参数也可以没有

#打开数据库连接
#注意:这里已经假定存在数据库aliyun,db指定了连接的数据库,当然这个参数也可以没有
db = pymysql.connect(
host='127.0.0.1',  # mysql服务器地址
port=3306,         # mysql服务器端口号
user='root',       # 用户名
passwd='aliyun',     # 密码
db='aliyun',       # 数据库名称
charset='utf8')    # 连接编码,存在中文的时候,连接需要添加charset='utf8',否则中文显示乱码

创建游标对象cursor

#使用cursor方法创建一个游标
cursor = db.cursor()

2.2,数据库基本操作

使用execute()方法来实现对数据库的基本操作。
查询数据库版本

#查询数据库版本
cursor.execute("select version()")
data = cursor.fetchone()
print(f"Database version : {data}")

创建数据库

#创建数据库aliyun
cursor.execute("drop database if exists aliyun")  #如果数据库已经存在,

那么删除后重新创建

sql = "create database aliyun"
cursor.execute(sql)

创建数据表

#创建数据库表
cursor.execute("drop table if exists goods")  #如果数据表已经存在,那么删除后重新创建
sql = """
CREATE TABLE goods (
FIRST_NAME CHAR(20) NOT NULL,
LAST_NAME CHAR(20),
AGE INT,
SEX CHAR(1),
INCOME FLOAT )
"""
cursor.execute(sql)

查询操作

#查询数据表数据
sql = "select * from goods"
cursor.execute(sql)
data = cursor.fetchone()
print(data)

插入操作

#插入数据
sql = "insert into goods values ('小','明',20,'W',5000)"
cursor.execute(sql)
db.commit()
#查看插入后的结果
sql = "select * from goods"
cursor.execute(sql)
data = cursor.fetchone()
print(data)

指定条件查询数据

#指定条件查询数据表数据
sql = " select * from goods where income > '%d' " % (1000)
cursor.execute(sql)
data = cursor.fetchone()
print(data)

更新操作

#更新数据库
sql = " update goods set age = age+1 where sex = '%c' " % ('W')
cursor.execute(sql)
db.commit()
#查看更新后的结果
sql = "select * from goods"
cursor.execute(sql)
data = cursor.fetchone()
print(data)

删除操作

#删除数据
sql = " delete from goods where age > '%d' " % (30)
cursor.execute(sql)
db.commit()
#查看更新后的结果
sql = "select * from goods"
cursor.execute(sql)
data = cursor.fetchone()
print(data)

关闭数据库连接

db.close()

3,用Python实现统计昨天用户增长量

脚本内容如下:

#!/usr/bin/python3
from datetime import datetime, timedelta, date
from dateutil.relativedelta import relativedelta
import pymysql

# 今天、昨天日期
today = date.today()
yesterday = today - relativedelta(days=1)

# 将日期格式化为SQL中需要的格式
sf_today = datetime.strftime(today,"%Y-%m-%d")
sf_yesterday = datetime.strftime(yesterday,"%Y-%m-%d")

# 统计昨天、前天用户数量的SQL
sql_usercount_yesterday = f"SELECT COUNT(*) FROM `users` WHERE register_time<'{sf_today}'"
sql_usercount_yesterdaybefore = f"SELECT COUNT(*) FROM `users` WHERE register_time<'{sf_yesterday}'"

# 建立连接
conn = pymysql.connect(host="127.0.0.1", port=3306, user="root", passwd='test13579', db='goods',charset="utf8")

# 创建游标
cursor = conn.cursor()

# 执行SQL
cursor.execute(sql_usercount_yesterday)
usercount_yesterday = cursor.fetchone()

cursor.execute(sql_usercount_yesterdaybefore)
usercount_yesterdaybefore  = cursor.fetchone()

# SQL执行结果运算得到昨天用户增长数
print("昨天用户新增人数: ",usercount_yesterday[0] - usercount_yesterdaybefore[0])


# 关闭连接
conn.close()

注意:dateutil需要安装python-dateuti模块(pip install python-dateuti)。

到此这篇关于使用Python对MySQL进行数据分析的文章就介绍到这了,更多相关Python将Word转PDF内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python入门之Python中的循环语句

    Python入门之Python中的循环语句

    这段文章详细介绍了Python编程中的循环语句,包括while循环、for循环和嵌套循环,文章解释了while循环的条件控制机制,强调避免死循环的重要性,阐述了for循环的遍历特点和适用场景,并介绍了range函数句用于生成数字序列,最后通过示例展示了嵌套循环的应用
    2026-05-05
  • Python如何读取csv文件时添加表头/列名

    Python如何读取csv文件时添加表头/列名

    这篇文章主要介绍了Python如何读取csv文件时添加表头/列名,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-05-05
  • 8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

    8种快速易用的Python Matplotlib数据可视化方法汇总(附源码)

    你是否曾经面对一堆复杂的数据,却不知道如何让它们变得直观易懂?别慌,Python 的 Matplotlib 库是你数据可视化的最佳伙伴!它简单易用、功能强大,能将枯燥的数字变成引人入胜的图表,今天,我们将介绍 8 种快速且易用的 Matplotlib 数据可视化方法,每一种都附带代码示例
    2025-05-05
  • python绘制分组条形图的示例代码

    python绘制分组条形图的示例代码

    本文主要介绍了如何使用python绘制分组条形图,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-07-07
  • python实现隐马尔科夫模型HMM

    python实现隐马尔科夫模型HMM

    这篇文章主要为大家详细介绍了python实现隐马尔科夫模型HMM,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-03-03
  • 使用Python实现音频降噪功能

    使用Python实现音频降噪功能

    在音频处理领域,背景噪声是一个常见的问题,为了提高音频的质量,我们需要对音频进行降噪处理,本文将介绍如何使用 Python 实现音频降噪,文中通过代码示例讲解的非常详细,需要的朋友可以参考下
    2024-11-11
  • 在PyCharm中接入和使用Codex的全面指南

    在PyCharm中接入和使用Codex的全面指南

    本指南全面介绍如何在 PyCharm 中接入和使用 Codex——OpenAI 推出的新一代 AI 编程智能体,本文将覆盖从环境准备、安装配置、验证使用到常见问题排查的完整流程,需要的朋友可以参考下
    2026-05-05
  • Python如何在脚本中设置环境变量

    Python如何在脚本中设置环境变量

    环境变量是与系统进程交互的一种深入方式,它允许用户获得有关系统属性、路径和已经存在的变量的更详细信息,下面我们就来看看Python是如何通过脚本来设置环境变量的吧
    2023-10-10
  • python实现猜数字小游戏

    python实现猜数字小游戏

    这篇文章主要,具有一定的参考价值,感兴趣的小伙伴们可以参考一下介绍了Python实现猜数字小游戏,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • 对Python3中bytes和HexStr之间的转换详解

    对Python3中bytes和HexStr之间的转换详解

    今天小编就为大家分享一篇对Python3中bytes和HexStr之间的转换详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12

最新评论