python - 需要使用 Python 3x 从 JSON 文件转换为 DDL 语句
问题描述
我的任务是使用 Python 从 JSON 文件生成 DDL 语句。
这是JSON代码,
{
"root": {
"columns": [
{
"src_name": "",
"target_name": "id",
"target_type": {
"datatype": "int",
"width": 14
},
"target_options": {
"nullable": false,
"autoincrement": true
}
},
{
"src_name": "source primary key",
"target_name": "src_pkey",
"target_type": {
"datatype": "varchar",
"width": 250
},
"target_options": {
"nullable": false
}
},
{
"src_name": "vendor name",
"target_name": "vendor_name",
"target_type": {
"datatype": "varchar",
"width": 250
},
"target_options": {
"nullable": false
}
},
{
"src_name": "create date",
"target_name": "create_dt",
"target_type": {
"datatype": "timestamp",
"fractional": 0
},
"target_options": {
"nullable": false,
"default": "CURRENT_TIMESTAMP"
}
},
{
"src_name": "create date",
"target_name": "create_dt",
"target_type": {
"datatype": "timestamp",
"fractional": 0
},
"target_options": {
"nullable": false,
"default": "CURRENT_TIMESTAMP"
}
}
],
"target_primaryKey": {
"columns": [
{
"column": "id"
}
]
},
"target_uniqueKeys": [
{
"columns": [
{
"column": "vendor_name"
}
],
"name": "unq_name"
}
],
"target_options": {
"comment": "All system users",
"engine": "MyISAM"
}
}
}
我需要为 JSON 文件生成一个 CREATE TABLE 语句。
示例 SQL 应该是这样的,
CREATE TABLE TABLE_NAME (
id int(14) NOT NULL AUTO_INCREMENT,
src_pkey varchar(250) NOT NULL,
vendor_name varchar(250) NOT NULL,
create_dt timestamp DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id)
);
我尝试过其他参考,例如,使用 Python 从 JSON 创建数据结构
但是,无法理解。
PS:我刚开始学习Python,所以对这门语言了解不多。
解决方案
推荐阅读
- sql - 每月前 N 项 - BIGQUERY
- java - 如何将 WebView 添加到片段之一
- xcode - 如何以编程方式获取 Xcode 显示的线程名称
- python - 如何处理马尔可夫链的转移矩阵的负稳态概率?
- sql - SQL中根据包含字符的记录数据从两个表中选择数据
- c++ - C++ - 即使在突然断电的情况下,如何将应用程序日志写入磁盘
- python - 如何在sqlalchemy中的值更改后触发事件
- postgresql - 无法连接到 postgres docker 容器(本地主机)
- javascript - 如何将消息转换为 utf-8
- python - ImportError:无法从部分初始化的模块“电报”导入名称“机器人”