向MySQL数据表插入数据通用的 INSERT INTO SQL语法:
INSERT INTO table_name ( field1, field2,...fieldN )
VALUES
( value1, value2,...valueN );
我写的例子:
INSERT INTO sys_agent_device_data ( eid, data,rec_time )
VALUES
( 3, '{"LDR": 5057, "temp": -1, "light": 54400, "rader": 1, "voice": 1}', 1578214975);
在data里面包含五个属性:
向MySQL数据表插入数据通用的 INSERT INTO SQL语法:INSERT INTO table_name ( field1, field2,...fieldN ) VALUES ( value1, value2,...valueN );我写的例子:INSERT INTO sys_ag...
在
MySQL
5.7.8之后开始支持一种可高效获取
JSON
文本中
数据
的原生
JSON
类型,该类型具有以下优点:
存储时自动验证,验证不通过将报错
更好的存储结构。采用一种针对告诉读取
JSON
文本元素的内部结构进行存储。新的服务器是以二进制的
格式
读取一个
JSON
文本,而不是以字符串
格式
读取然后进行转换。这种二进制
格式
允许服务器在文本中通过键或者数组索引获取其子对象(嵌套数组)而不需要读取全部值
另外,系统对
JSON
格式
做了一些限制:
JSON
文本的最大长度取决有系统常量:max_allowed_packet。该值仅在服务器进行存储的时候进行限制,在内存中进行计算的时候是允许超过该值的。
1.blob 类型
BLOB (binary large object)----二进制大对象,是一个可以存储二进制文件的容器。在计算机中,BLOB常常是
数据库
中用来存储二进制文件的字段类型。
BLOB是一个大文件,典型的BLOB是一张图片或一个声音文件,由于它们的尺寸,必须使用特殊的方式来处理(例如:上传、下载或者存放到一
我们在开发中也会遇到要我们把
json
格式
数据
解析好,然后保存到
数据库
中.方式方法有很多,小编觉得使用fast
json
,最容易实现.
二、依赖准备
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fast
json
</artifactId>
<version>1.2.69</version>
</dependency>
1、应用场景:
mysql
中某个
数据
字段包含换行符,导致前台解析
json
时报错
“Uncaught SyntaxError: Unexpected token in
JSON
at position 333”;
2、针对以上可将
数据
粘贴进notepad++查看,其中问题部分
json
如下所示
“info”:”
mysql
1,\r\n
mysql
2″
3、针对上述问题字段在
mysql
数据库
中进行查询,如下语句
select * from test where info like CONCAT(‘%’,char(10),’%’);
即可查询test表
mysql
自5.7.8版本开始,就支持了
json
结构的
数据
存储和查询,这表明了
mysql
也在不断的学习和增加nosql
数据库
的有点。但
mysql
毕竟是关系型
数据库
,在处理
json
这种非结构化的
数据
时,还是比较别扭的。
创建一个
JSON
字段的表
首先先创建一个表,这个表包含一个
json
格式
的字段:
CREATE TABLE table_name (
id INT NOT NULL AUTO_INCREMENT,
json
_col
JSON
,
PRIMARY K
从代码中的给定链接获取
json
格式
数据
。 您可以在get_data.py中输入链接。
create_
mysql
_tables.py
该文件包含执行不同SQL查询(例如创建
数据库
,表和
插入
数据
)的不同功能。 通常,这是
json
_to_
mysql
.py使用的实用程序文件
json
_to_
mysql
.py
这是主/驱动程序文件。 该文件从get_data.py中获取
json
格式
的
数据
,然后将其保存到
MySQL
数据库
中。
因为项目需要,存储字段存储成了
JSON
格式
,在项目中是将查询出来的值通过jackson转成相应的bean进行处理的,觉得不够简单方便。
MySQL
从5.7版本开始就支持
JSON
格式
的
数据
,操作用起来挺方便的。
在新建表时字段类型可以直接设置为
json
类型,比如我们创建一张表:
mysql
> CREATE TABLE `test_user`(`id` INT PRIMARY KEY AUTO_INCREMENT, `name` VARCHAR(50) NOT NULL, `info`
JSON
);
json
类型字段可以为NULL
插入
数据
:
mysql
> INSERT INTO
可以使用Python模块py
mysql
来实现,具体步骤如下:
1. 导入py
mysql
模块: import py
mysql
2. 创建连接对象:conn = py
mysql
.connect(host, user, password, database)
3. 创建游标对象:cursor = conn.cursor()
4. 使用cursor.execute()方法执行sql语句
5. 使用cursor.executemany()方法批量执行sql语句
6. 使用cursor.fetchall()方法获取执行结果
7. 关闭游标和连接:cursor.close(), conn.close()