数据库数据读取和保存
参考:https://editor.csdn.net/md/?articleId=104669941
数据库环境的库pymysql、sqlalchemy
参考:https://www.cnblogs.com/zhming26/p/5627207.html
建立连接:
create_engine(“数据库类型+数据库驱动://数据库用户名:数据库密码@IP地址:端口/数据库”,其他参数)
需要注意的是,对于本地数据库需要创建之后才能,通过这种方式访问
下面例子中,已经在root用户下创建了mar_database数据库
将列表写入数据库,to_sql (‘to_add’,con=conn,index=False,if_exists=‘replace’)
写入的数据库必须有写入权限,否则不会被写入
to_sql(‘表名’,con=链接,index=不写入,if_exists=存在时执行)
index=False表示不写入索引,
if_exists = ‘append’or’replace’or’fail’:分别表示:表存在时,追加,替代和默认的什么都不做
import pandas as pd
import numpy as np
import pymysql
from sqlalchemy import create_engine
#("数据库类型+数据库驱动://数据库用户名:数据库密码@IP地址:端口/数据库",其他参数)
#为了建立数据库连接
conn=create_engine('mysql+pymysql://root:password@localhost:3306/mar_database')
sql='select * from mar_table'#这个是数据库中列表显示的sql语句
df1=pd.read_sql(sql,conn)#通过数据库和列表的读取
print(df1)
df2=pd.read_csv(r'my_csv.csv',encoding='gbk') #把表中的内容写入到变量,通过变量将数据写入数据库
df2.to_sql('to_add',con=conn,index=False,if_exists='replace')
'''
num name sex age
0 1 小红 女 20
1 2 小绿 女 20
'''
'''下面的不是显示出来的,是数据库里边改变的
mysql> show tables; #通过程序添加了一个数据表to_add
+------------------------+
| Tables_in_mar_database |
+------------------------+
| mar_table |
| to_add |
+------------------------+
mysql> select * from to_add; #显示被添加的表的内容
+------+------+------+
| 姓名 | 年龄 | 性别 |
+------+------+------+
| 王贵 | 24 | 男 |
| 狗子 | 35 | 男 |
| 黑蛋 | 23 | 女 |
| 小五 | 5 | 男 |
| 李四 | 6 | 男 |
| 小红 | 4 | 女 |
+------+------+------+
'''