src=http___blog.robomongo.org_content_images_2017_02_set.png&refer=http___blog.robomongo.jpg

为什么要写这个函数?

回想MongoDB插入数据是如此的简单,而MySQL则需要构造SQL语句,主要是字段数量是固定的,有了新的字段,就需要加入对应的项和参数,非常的麻烦。

当我们把Mongo的数据同步到MySQL时,可以用到如下函数。

为什么不用ORM工具呢?

大而重,而且存在学习成本。

函数长这样

def dict2sql(table_name: str, table_data: dict):
    sql_express = f"INSERT INTO `{table_name}` ("
    for key in table_data.keys():
        sql_express += f"`{key}`, "
    sql_express = sql_express.rstrip(", ")
    sql_express += ") VALUE ("
    for val in table_data.values():
        sql_express += f"'{val}', "
    sql_express = sql_express.rstrip(", ")
    sql_express += ")"
    return sql_express

使用如下

接受两个参数:table_name:表名,table_data:要插入的此行数据

mydata = {'name': 'austin', 'age': 18, 'address': 'Copenhagen'}

print(dict2sql("person", mydata))

输出如下:

INSERT INTO `person` (`name`, `age`, `address`) VALUE ('austin', '18', 'Copenhagen')

小技巧,勿喷。

用于将Mongo的数据转存到MySQL还是挺方便的,至少不用再学习框架和构造SQL语句了。

标签: 数据库, Mongo, mysql, Python

分类: 所有文章

相关文章

2021.05.02   使代码更加Pythonic的6条建议

2021.01.29   Mongo 高级查询之使用管道,多条件、多集合联合查询

2020.07.27   MySQL——导入导出.sql文件

2020.06.25   pymysql.err.ProgrammingError | Python用pymysql操作mysql

2020.03.29   Centos 宝塔面板 给php7安装 mongodb扩展

仅有一条评论

  1. 欢迎各位留言

添加新评论