为什么要写这个函数?
回想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语句了。
版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
作者: Austin 发表日期:2021-06-22 17:54
欢迎各位留言