简单的MYSQL与REDIS储存和OSS保存


前言

本文浅用MYSQL和REDIS储存信息,然后保存至XLSL格式文件内

本次实验使用的第三方库以及版本信息如下:

python         3.8

oss2         2.15.0

openpyxl         3.0.5

mysql         0.0.3

redis         4.0.2

一.引入库

# coding=utf-8
import oss2
import openpyxl
import MySQLdb
import redis

其中 # coding=utf-8 为中文编码要求,在所有代码前加上,确保代码里面的中文字符也可以识别

二.MYSQL库的使用与储存

1.MYSQL库的连接

#mysql连接
conn = MySQLdb.connect("192.168.xxx.xxx", "xxx", "xxx", db='xxx',charset='utf8')
cur = conn.cursor()

连接mysql数据库前请确保mysql服务开启,而且允许远程登录,具体教程参考:

https://jingyan.baidu.com/article/647f01151bbf617f2148a8d8.html

然后connect连接选项中

第一个参数为mysql数据库所在IP地址

第二个参数为mysql数据库用户名

第三个参数为mysql数据库密码

第四个参数为连接mysql数据库的名字(*如没有需要在mysql中create一个)

第五个参数为中文识别符

如经常出现计算机积极拒绝访问可以自己上网搜索答案,错误方法不固定,都尝试一下

2.向MYSQL中写入数据

#创建表格
# sql="""create table poet (
#        title VARCHAR(30) ,
#        name VARCHAR(20),
#        content VARCHAR(1000)
#      )"""
# cur.execute(sql)

#插入数据
# cur.execute("insert into poet (title,name,content) values('Bird collection','Tagore','Let life be beautiful like summer flowers')")
# conn.commit()

#查询数据
sql = "select * from poet"

#执行SQL语句
cur.execute(sql)

# 获取所有记录列表
results = cur.fetchall()
for row in results:
    title = row[0]
    name = row[1]
    content = row[2]
    # 打印结果
    # print (title, name, content)

#删除表格
# cur.execute("drop table poet")
# conn.commit()

这里展示了如何使用python向mysql中插入一段内容,这里以泰戈尔的诗句为例子。

*这里注释掉是因为防止重复插入相同的数据,污染数据库内容*

3.xlsx表格的创建与MYSQL数据的写入

#创建xlsx表格
# wb = openpyxl.Workbook()

#此处为创建页,如sheet1等
# wb.create_sheet('xxx')

#此处为保存到指定的文件中
# wb.save('xxx.xlsx')

#xlsx表格写入数据
# wb = openpyxl.load_workbook('xxx.xlsx')
# mysheet = wb['xxx']
# mysheet['A1'] = 'title:'
# mysheet['A2'] = 'name:'
# mysheet['A3'] = 'content:'

#mysql数据写入
# results = cur.fetchall()
# for row in results:
#     mysheet['B1'] = row[0]
#     mysheet['B2'] = row[1]
#     mysheet['B3'] = row[2]
# wb.save('xxx.xlsx')

 此处的xxx均为自己数值,需要自己看情况处理,没有的就创建

由于学识尚浅,此处的操作均为对单元格单个格子进行操作,可以自行改善

4.REDIS库的连接与简单写入

#redis连接
conn = redis.Redis(host='192.168.xxx.xxx',password=xxx, port=xxx)
# conn.set('poet2', 'death like autumn leaves')
# print(str(conn.get('poet2')).split("'")[1])

连接redis数据库前请确保redis服务开启,而且允许远程登录,具体教程参考:

https://www.cnblogs.com/liuxiutianxia/p/11057120.html

然后connect连接选项中

第一个参数为redis数据库所在IP地址

第二个参数为redis数据库密码

第三个参数为redis数据库端口号

同时,计算机积极拒绝访问的方式也是多种多样,需要自行排查。

5.REDIS库数据的写出

#redis数据写出
wb = openpyxl.load_workbook('xxx.xlsx')
mysheet = wb['poet1']
new_poet = str(mysheet.cell(3, 2).value)+' and '+str(conn.get('poet2')).split("'")[1]
mysheet['B3']= new_poet
print(new_poet)
wb.save('xxx.xlsx')

 其中的数据写入文本文档是符合了自己的数据要求,如需要其他数据的写入写出,需要自行的修改,本文只展示了简单的实现

6.OSS的保存

#OSS信息
#根据自己的oss账号的信息填写下列信息
AccessKeyID = 'xxx'
AccessKeySecret = 'xxx'
EndPoint = 'xxx'
BucketName = 'xxx'

#Oss上传
def Oss(img_name, img_path):
    auth = oss2.Auth(AccessKeyID, AccessKeySecret)
    bucket = oss2.Bucket(auth, EndPoint, BucketName)
    bucket.put_object_from_file(img_name, img_path)


if __name__=="__main__":
    #此处为需要上传的文件地址
    img_path = 'xxx'

    #此处为需要上传的文件的名字
    img_name = 'xxx'

    Oss(img_name, img_path)

 此处使用的是阿里云的OSS储存,具体使用方法可以上官网的帮助手册里面可以查询:

https://help.aliyun.com/document_detail/31893.html

自此就完成了将MYSQL和REDIS的数据保存上传到OSS中


总结

以上为新手对MYSQL,REDIS,OSS,XLSL互相使用的一点自我理解,希望可以帮到更多的正在学习的人

你可能感兴趣的:(python,后端,redis,mysql,数据库)