必会技能:如何在Python中连接数据库获取数据
大家好,我是翔宇!
想要成为一名数据分析师,一个最基础的技能就是:提取数据。
数据是数据分析的基础。因此,掌握各种获取数据的技能一定是一个合格的数据分析师的必备技能。而我们的需要进行提取的数据通常是存储在数据库中(当然,也有不存储在数据库中的,这里不是探讨重点)。
而现在随着python语言的流行,加上Python强大的三方库和生态圈几乎让数据分析师完成整个数据分析工作,Python几乎成为了每一个数据分析师必会编程语言。自然,python有许多三方库能够连接数据库方便数据分析师从数据库提取数据已完成“一条龙服务”。那么,如何使用python连接数据数据库顺利提出数据呢?
我们这里使用MySQL数据库进行演示,因为实际上几乎所有的数据提取流程都是下面这个流程,所以能够用python连接MySQL数据库提取数据,那么,遇到需要连接其他数据库提取数据时都是“换汤不换药”。
Python连接数据库获取数据
1.建立连接
在python中连接MySQL数据库需要导入pymysql模块。
模块安装
pip install pymysql
补充:如果是在jupyter环境下请使用
!pip install pymysql
安装好之后就可以进行数据库的连接了。
#导入模块
import pymysql
#建立连接
conn = pymysql.connect(
user='root', # 用户名
password='123456', # 密码:这里一定要注意123456是字符串形式
host='localhost', # 指定访问的服务器,本地服务器指定“localhost”,远程服务器指定服务器的ip地址
database='school', # 数据库的名字
port=3306, # 指定端口号,范围在0-65535
charset='utf8mb4', # 数据库的编码方式
)
这样,python和MySQL的桥梁就架起来了。下面所要做的就是提取数据了。
2.使用pandas库进行数据读取
在python数据分析三大神器中的pandas很强大,不仅可以读取excel电子表格、csv、text等类型的数据文件,还直接提供了连接MySQl的功能。于是,我们使用pandas中的read_sql函数就可以直接提取数据了(这里我读取一个本地数据库school中的学生表的信息为例)
代码
# 导入pandas
import pandas as pd # 进行别名
# 一般只要需要指定两个主要的参数sql和con,sql是sql查询语句,con指定上面建立的连接
df = pd.read_sql('SELECT * FROM school.tb_student',con=conn)
df
到这里就轻松将数据库中的数据读取出来了,是不是超级简单呢?
最后,做事情要有始有终,得到数据后不要忘记关闭连接哦!
3.关闭连接
# 关闭连接
conn.close()
如果对你有帮助,可以到翔宇的公众号“数据分析者”阅读更多文章!
今天的内容就介绍到这里,我们下期再见!