1、Python连接数据库
首先,确保已经安装好pandas、sqlalchemy、pymysql三个包
pip install pandas
pip install sqlalchemy
pip install pymysql
初始化数据库连接:
# 1.导入三个包
import pandas as pd
from sqlalchemy import create_engine
import pymysql
# 2.初始化数据库连接(按实际情况依次填写MySQL的用户名、密码、IP地址、端口、数据库名)
engine = create_engine('mysql+pymysql://root:123456@localhost:3306/mysql50')
# 这里“mysql+pymysql://”是指明通过pymysql这个包来连接数据库
# 如果觉得上方代码不够优雅也可以按下面的格式填写:
# engine = create_engine("mysql+pymysql://{}:{}@{}:{}/{}".format('用户名', '密码', 'IP地址', '端口号', '数据库名'))
2、Python读取数据库
写好查询语句并执行,将结果存入数据框DataFrame:
# 1.使用pandas的read_sql_query函数执行SQL语句,并存入DataFrame
sql_query = 'select * from student;' # sql查询语句
# 2.执行查询操作,并存入dataframe
query_result = pd.read_sql_query(sql_query,engine)
# 3.看下查出来的数据是怎样的
df_read.head()
3、Python写入数据库
# 1.新建DataFrame,将结构数据写入MySQL
df_write = pd.DataFrame({'id':[1,2,3],'name':['a','b','c'],'age':[111,112,113]})
# 2.查看即将写入的数据
df_write.head()
# 3.将df_write储存为MySQL中的表,不储存index列.这里也不用先在数据库创建表
df_write.to_sql('testtable',engine,index = False)
在MySQL中查看该表: