首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >是否有方法将下面嵌套的json数据插入sql server中?

是否有方法将下面嵌套的json数据插入sql server中?
EN

Stack Overflow用户
提问于 2019-04-09 05:41:05
回答 1查看 892关注 0票数 3

我正在处理一个嵌套的JSON数据,需要将这些数据加载到SQL SERVER 2012中。嵌套的JSON包含两个根,即一个列和另一个行。我需要把值从行到列。请参阅结构如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "tables": [
        {
            "name": "PrimaryResult",
            "columns": [
                {
                    "name": "timestamp",
                    "type": "datetime"
                },
                {
                    "name": "id",
                    "type": "string"
                },
                {
                    "name": "name",
                    "type": "string"
                },
                {
                    "name": "url",
                    "type": "string"
                },
                {
                    "name": "duration",
                    "type": "real"
                }
            ],
            "rows": [
                [
                    "2019-04-08T13:09:52.871Z",
                    "244",
                    "Internal",
                    "https://google.com",
                    1245,

                ]
            ]
        }
    ]
}

结果:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
timestamp    id    name    url    duration
2019-04-08    244    Internal    https://google.com    1245

在这里,在sql server中,它应该从列中获取列名,并从行中获取每个列的值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-09 07:21:00

假设您将json存储到名为json.txt的文件中

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import json

with open('json.txt') as f:
    data = json.load(f)
    tableName = data['tables'][0]["name"]
    sqlCreateTable = 'CREATE TABLE ' + tableName + ' (\n'
    sqlInsertInto = 'INSERT INTO ' + tableName + ' ('
    for i in range(0,len(data['tables'][0]['columns'])):
        columnName = data['tables'][0]['columns'][i]['name']
        type = data['tables'][0]['columns'][i]['type']
        sqlCreateTable += columnName + " " + type + ',\n'
        sqlInsertInto += columnName + ', '

    sqlCreateTable = sqlCreateTable[:-2] + '\n);'
    sqlInsertInto = sqlInsertInto[:-2] + ')\nVALUES ('

    for value in data['tables'][0]['rows'][0]:
        sqlInsertInto += str(value) + ', '

    sqlInsertInto = sqlInsertInto[:-2] + ');'

    print(sqlCreateTable)
    print(sqlInsertInto)

create表的输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
CREATE TABLE PrimaryResult (
timestamp datetime,
id string,
name string,
url string,
duration real
);

表中插入的输出:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
INSERT INTO PrimaryResult (timestamp, id, name, url, duration)
VALUES (2019-04-08T13:09:52.871Z, 244, Internal, https://google.com, 1245);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55594306

复制
相关文章
使用扩展的JSON将SQL Server数据迁移到MongoDB
在评估数据库系统的价值的时候,一个重要的目标就是能将数据存储到已有的数据库,也能将从已存在的数据库中的数据取出来。这篇文章就是从SQL Server数据库中获取数据迁移到MongoDB中,反之亦然。
MongoDB中文社区
2019/04/22
3.6K0
使用扩展的JSON将SQL Server数据迁移到MongoDB
sql中的嵌套查询_sql的多表数据嵌套查询
测试的时候发现取出的是一条数据, 因为测试的时候是一天中的两条数据, 没有不同的日期,所以当日以为是正确的 ,然而第二天写入数据了,要取出数据,却发现没有数据, 返回空的行, 以为都是代码又有问题 了,找了半天都没有 ,仔细看看了存储过程中的代码,发现这样返回的数据的确是空的。
全栈程序员站长
2022/09/22
7.1K0
判断字符串是否有中文----SQL server
在工作中遇到了一个场景需要判断字符串中是否有中文,虽然之前也遇到过,但是没有记录。这次记录于此。
cultureSun
2023/07/08
1K0
sql server嵌套查询实验_exists嵌套查询
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169426.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
1.8K0
sql中对嵌套查询的处理原则_sql的多表数据嵌套查询
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/169416.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/22
5.7K0
SQL Server判断表中是否存在记录的SQL语句
SQL Server数据库判断记录是否存在,要不是语句不够简洁,要不就是性能有很大问题,简直就是忍无可忍!
跟着阿笨一起玩NET
2020/03/18
4.9K0
SQL Server 创建数据库有两种方法
SQL Server创建数据库的方法有两种:一种是通过运行 SQL 脚本;另一种是直接使用 SQL Server 管理套件即可创建数据库,在本节中我们使用的是后一种方法。
用户8965210
2021/09/02
1K0
SQL server 数据库基本插入、删除命令
一、实验素材:附加学生信息表(student) 二、实验要求: 1、 查询student表中所有学生的信息 select * from student 2、 查询student表中“姓名”“所在班
L宝宝聊IT
2018/06/20
1K0
SQL Server 分页+json分享
最近封装一个轻量级的ORM用到了分页,以前只知道使用Row_Number函数,现在发现sqlserver 新增的 {orderBy} offset {start} rows fetch next {pageSize} rows only 也挺好用的。
李明成
2020/07/03
1.4K0
sql嵌套查询例子_sql的多表数据嵌套查询
查询学生上课人数超过 “Eastern Heretic” 的任意一门课的学生人数的课程信息,请使用 ANY 操作符实现多行子查询。(Lintcode刷题记录)
全栈程序员站长
2022/09/22
3.1K0
将Session值储存于SQL Server中
一般情况下,我们喜欢使用Session储存我们的变量。Asp.Net提供了下面一些方法储存Session的值: InProc
Java架构师必看
2021/03/22
8450
Markdown中插入视频,嵌套网页
https://iot-me.club/upload/2020/05/hello_1.mp4
iot-me.club
2022/02/11
2.3K0
SQL SERVER将查询数据转为INSERT语句
1、在Sql Server数据库中创建存储过程 个人感觉挺有用,Mark一下。 CREATE PROC sp_Data2InsertSQL @TableName AS VARCHAR(100) AS DECLARE xCursor CURSOR FOR SELECT name,xusertype FROM syscolumns WHERE (id = OBJECT_ID(@TableName)) DECLARE @F1 VARCHAR(100) DECLARE @F2 integer DECLA
BrianLee
2022/05/30
1.9K0
SQL SERVER将查询数据转为INSERT语句
一种将虚拟物体插入到有透明物体的场景中的方法
在增强现实系统中,真实场景和虚拟物体之间的视觉一致性得到了广泛的研究,解决这个问题的关键在于估计真实场景中物体的光照和材质。现有的各种方法只关注在真实场景中只有不透明物体时插入虚拟物体,而没有考虑真实场景中透明物体对虚拟物体的影响。如下图所示,透明物体的不同折射率和粗糙度参数会给周围的物体带来不同的视觉效果。
用户1324186
2022/11/07
3.9K0
一种将虚拟物体插入到有透明物体的场景中的方法
mysql将大数据插入表中方法
1 数据量不是很大,有几千行数据.先用notepad对数据进行编辑,结果如下 insert into `web4399_vote`.`frxz2_hlwjhj_code` (active_code) values('s001asdf87mo'), ('s001sfsdfy5e'), ('dfsdfc3euv'), ('s0sdfsd6k4j6z'), ('s00dfsdfk59'), (asdfnth'), ('s00asdf246l'), ('s001sdfsdf1h'); 然后,
闵开慧
2018/03/30
1.7K0
java中sql如何嵌套查找_SQL 查询嵌套使用[通俗易懂]
id int primary key auto_increment, — 主键id
全栈程序员站长
2022/09/22
4.3K0
java中sql如何嵌套查找_SQL 查询嵌套使用[通俗易懂]
将数据从 SQL Server 导入 Azure Storage Table
最近有个需求要将数据存储从 SQL Server 数据库切换到 Azure Storage 中的 Table。然而不管是 SSMS 还是 Azure Portal 都没有提供直接的导入功能,是不是又想自己写程序去导数据了?其实不用!没有点过数据库天赋的我996了一个晚上,终于找到了点点鼠标就搞定的方法,今天分享给大家。
Edi Wang
2020/06/15
2K0
SQL Server 数据库清除日志的方法
SQLSERVER的数据库日志占用很大的空间,下面提供三种方法用于清除无用的数据库日志文件 方法一: 1、打开查询分析器,输入命令 BACKUP LOG database_name WITH NO_LOG 2、再打开企业管理器--右键要压缩的数据库--所有任务--收缩数据库--收缩文件--选择日志文件--在收缩方式里选择收缩至xxm,这里会给出一个允许收缩到的最小m数,直接输入这个数,确定就可以了。 方法二: 设置检查点,自动截断日志   一般情况下,SQL数据库的收缩并不能很大程度上减小数
逸鹏
2018/04/11
4.7K0
使用Navicat将SQL Server数据迁移到MySQL
在开发项目的时候,往往碰到的不同的需求情况,兼容不同类型的数据库是我们项目以不变应万变的举措之一,在底层能够兼容多种数据库会使得我们开发不同类型的项目得心应手,如果配合快速的框架支持,那更是锦上添花的举措。我开发的项目或者框架,采用了微软企业库Enterprise Library的模块,倾向于支持多种数据库,也为我们开发不同类型的项目提供非常方便、快速、统一的处理方式。一般常规的数据库包括MS Server、Oracle、MySQL、PostgreSQL、SQLite、DB2、国产达梦等数据库,本篇随笔主要介绍如何实现从MS SQLServer到Mysql数据库,并为不同数据库类型添加实现底层的解决思路。
星哥玩云
2022/08/17
4.3K0
使用Navicat将SQL Server数据迁移到MySQL
mysql批量插入数据,sql语句批量插入,sql语句循环插入
Power
2023/05/27
3.8K0

相似问题

将嵌套的JSON数据插入SQL

110

是否将海量数据插入SQL Server?

42

将嵌套的Json数据解析到SQL Server表中

119

是否有更快的方法使用python将数据插入到SQL?

18

将嵌套的JSON数据提取到SQL Server 2014

218
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文