Python连接MySQL数据库

Python连接MySQL数据库

本篇文章介绍了如何使用python操作MySQL数据库中的数据,主要思想是将数据库中的数据文件转化为Pandas数据框的形式,方便之后使用python语言进行数据分析。

目录


操作环境

macOS 10.13.4、python3.6.5、mysql5.7.20、MySQL Workbench

1. 开启MySQL数据库服务

此处不赘述MySQL的安装过程了,可以直接从网络上搜索安装教程。 —— [ Mac安装MySQL ]

  • 进入系统偏好设置
  • 点击mysql
    开启MySQL数据库服务
  • 开启mysql服务
    点击按钮
    开启mysql服务
    打开后界面上红色的部分会变成绿色的running。
    开启

2. 在MySQL上连接sql文件

这里使用MySQL Workbench建立数据库并连接到sql文件:
- 建立数据库
打开 MySQL Workbench 软件后,点击左上方的 “+” ,会出现一个弹窗。
第一步
如图所示,填写必要的信息。 UsernamePassword 根据实际情况设置并记住。
第二步
- 测试是否连接成功
点击 Test Connection 测试是否连接成功,会出现弹窗,输入刚才设置的密码即可。
第三步
出现下面的弹窗表示已经成功建立连接了。
第四步
返回先前打开的界面后进入数据库,如图所示:
第五步
- 新建一个schema
这里起名为 JD_comment
schema
可以看到 JD_comment 内的tableviewsroutines 等选项都是没有任何内容的。
内容
- 导入.sql 文件
如图所示操作,打开需要导入的.sql 文件(此处使用的sql文件仅供此次讲解使用,仅包含1000行数据)。
sql
【关键步骤】在打开的文件当中,在正文部分的开头添加一行代码,use schema名 ,然后点击小闪电标志,执行代码。
ok

3. 使用Python操作数据库

3.1 安装pymysql库

什么是 PyMySQL?
PyMySQL 是在 Python3.x 版本中用于连接 MySQL 服务器的一个库,Python2中则使用mysqldb。
此处不赘述PyMySQL的安装过程了,可以直接从网络上搜索安装教程。 —— [安装pymysql库 ]

3.2 实现连接的代码

  • 导入必要的库
#-*- coding: utf-8 -*-
import pymysql
import pandas as pd
  • 打开数据库连接
# 打开数据库连接
db = pymysql.connect(
    host='127.0.0.1', # MySQL服务器地址,也可以写成localhost,根据之前的设置来写
    port=3306,        # MySQL服务器端口号,根据之前的设置来写
    user='root',      # 用户名(自己设置的)
    passwd='root',    # 密码(自己设置的)
    db='JD_comment',  # 数据库名称
    charset='utf8')   # 连接编码,选用utf8是防止中文出现乱码
  • 执行sql语句,获取需要的数据
# 使用cursor()方法获取操作游标 
cursor = db.cursor()
# 使用execute方法执行SQL语句,获取需要的数据
cursor.execute("SELECT `id`, `商品编号`, `京享值`, `会员等级`, `评论内容`, `年月日` FROM JD_comment.冰箱评价")
# 使用 fetchall() 方法获取所有数据
data = cursor.fetchall()
  • 使用Pandas建立DataFrame数据框
# 将原数据转化为list数据格式
data = list(data)
# 识别sql文件中的字段名,将作为数据框的列名
name_list = [tuple[0] for tuple in cursor.description]
# 使用pandas建立dataframe数据框,方便后续的数据处理
data_comment = pd.DataFrame(data, columns=name_list)
data_comment.head()

output:
pymysql

完整代码

#-*- coding: utf-8 -*-
import pymysql
import pandas as pd

# 打开数据库连接
db = pymysql.connect(
    host='127.0.0.1', # MySQL服务器地址,也可以写成localhost,根据之前的设置来写
    port=3306,        # MySQL服务器端口号,根据之前的设置来写
    user='root',      # 用户名(自己设置的)
    passwd='root',    # 密码(自己设置的)
    db='JD_comment',  # 数据库名称
    charset='utf8')   # 连接编码,选用utf8是防止中文出现乱码

# 使用cursor()方法获取操作游标 
cursor = db.cursor()
# 使用execute方法执行SQL语句,获取需要的数据
cursor.execute("SELECT `id`, `商品编号`, `京享值`, `会员等级`, `评论内容`, `年月日` FROM JD_comment.冰箱评价")
# 使用 fetchall() 方法获取所有数据
data = cursor.fetchall()

# 将原数据转化为list数据格式
data = list(data)
# 识别sql文件中的字段名,将作为数据框的列名
name_list = [tuple[0] for tuple in cursor.description]
# 使用pandas建立dataframe数据框,方便后续的数据处理
data_comment = pd.DataFrame(data, columns=name_list)
data_comment.head()

1.参考: https://blog.csdn.net/u010801439/article/details/78762387
2.参考: http://www.runoob.com/python3/python3-mysql.html

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值