MySQL JSON 操作

一、MySQL 操作题

MySQL 是一个流行的关系型数据库管理系统,用于存储和管理数据。在进行 MySQL JSON 操作之前,需要先了解 MySQL 基础操作。

1.创建数据库


CREATE DATABASE test_db;

2.选择数据库


USE test_db;

3.创建表


CREATE TABLE users(
    id INT NOT NULL,
    name VARCHAR(30) NOT NULL,
    age INT NOT NULL,
    PRIMARY KEY (id)
);

4.插入数据


INSERT INTO users (id, name, age) VALUES (1, 'Lucy', 20);
INSERT INTO users (id, name, age) VALUES (2, 'Lily', 22);
INSERT INTO users (id, name, age) VALUES (3, 'Tom', 25);

二、MySQL 的 JSON 操作

MySQL 5.7 及以上版本支持 JSON 类型,可以将 JSON 数据存储在 MySQL 数据库中,并且可以对 JSON 数据进行操作。

1.创建 JSON 字段


CREATE TABLE products(
    id INT NOT NULL,
    name VARCHAR(50) NOT NULL,
    detail JSON,
    PRIMARY KEY (id)
);

2.插入 JSON 数据


INSERT INTO products (id, name, detail) VALUES (1, 'computer', '{"brand":"Apple","color":"silver"}');
INSERT INTO products (id, name, detail) VALUES (2, 'car', '{"brand":"BMW","color":"white"}');
INSERT INTO products (id, name, detail) VALUES (3, 'phone', '{"brand":"Samsung","color":"black"}');

3.查询 JSON 数据


SELECT * FROM products WHERE detail->>'$.brand' = 'Apple';

4.更新 JSON 数据


UPDATE products SET detail = JSON_REPLACE(detail, '$.color', 'rose gold') WHERE id = 1;

5.删除 JSON 数据


UPDATE products SET detail = JSON_REMOVE(detail, '$.brand') WHERE id = 3;

三、MySQL 操作

MySQL 还提供了其他重要的操作,如数据导入导出和指定行、列的筛选。

1.导出数据为 CSV 文件


SELECT *
FROM products
INTO OUTFILE '/path/to/file/products.csv'
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

2.导入 CSV 文件到数据库


LOAD DATA INFILE '/path/to/file/products.csv'
INTO TABLE products
FIELDS TERMINATED BY ','
ENCLOSED BY '"'
LINES TERMINATED BY '\n';

3.指定行、列筛选


SELECT name, age FROM users WHERE age > 21;

四、MySQL 操作 Excel

MySQL 还支持将 Excel 文件中的数据导入到数据库,并且可以进行 SQL 查询。

1.创建新表用于存储 Excel 数据


CREATE TABLE excel_data(
    name VARCHAR(50) NOT NULL,
    age INT,
    address VARCHAR(255)
);

2.导入 Excel 数据到数据库


LOAD DATA INFILE '/path/to/file/excel_data.xls'
IGNORE INTO TABLE excel_data
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\r\n'
IGNORE 1 ROWS;

3.查询 Excel 数据


SELECT name, age FROM excel_data WHERE age > 21;

五、MySQL JSON 字段坏处

MySQL JSON 字段虽然提供了操作 JSON 数据的便利性,但也存在一些坏处。

1.不支持索引

由于 JSON 数据的不规则性,MySQL 不支持在 JSON 字段上创建索引。这可能导致查询效率降低。

2.难以调试

在 JSON 字段上进行复杂查询时,很难调试 SQL 语句,尤其是在 JSON 数据存在多层嵌套时。

3.存储空间

JSON 数据通常比字符串类型数据占用更多的存储空间,这会增加数据库的存储开销。

以上是对 MySQL JSON 操作的详细阐述,其中涉及基础操作、JSON 操作、数据导入导出和 Excel 操作等多个方面。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/256495.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-15 12:41
下一篇 2024-12-15 12:41

相关推荐

  • 如何修改mysql的端口号

    本文将介绍如何修改mysql的端口号,方便开发者根据实际需求配置对应端口号。 一、为什么需要修改mysql端口号 默认情况下,mysql使用的端口号是3306。在某些情况下,我们需…

    编程 2025-04-29
  • Python栈操作用法介绍

    如果你是一位Python开发工程师,那么你必须掌握Python中的栈操作。在Python中,栈是一个容器,提供后进先出(LIFO)的原则。这篇文章将通过多个方面详细地阐述Pytho…

    编程 2025-04-29
  • Python操作数组

    本文将从多个方面详细介绍如何使用Python操作5个数组成的列表。 一、数组的定义 数组是一种用于存储相同类型数据的数据结构。Python中的数组是通过列表来实现的,列表中可以存放…

    编程 2025-04-29
  • Python操作MySQL

    本文将从以下几个方面对Python操作MySQL进行详细阐述: 一、连接MySQL数据库 在使用Python操作MySQL之前,我们需要先连接MySQL数据库。在Python中,我…

    编程 2025-04-29
  • Python代码实现回文数最少操作次数

    本文将介绍如何使用Python解决一道经典的回文数问题:给定一个数n,按照一定规则对它进行若干次操作,使得n成为回文数,求最少的操作次数。 一、问题分析 首先,我们需要了解回文数的…

    编程 2025-04-29
  • Python磁盘操作全方位解析

    本篇文章将从多个方面对Python磁盘操作进行详细阐述,包括文件读写、文件夹创建、删除、文件搜索与遍历、文件重命名、移动、复制、文件权限修改等常用操作。 一、文件读写操作 文件读写…

    编程 2025-04-29
  • JSON的MD5

    在Web开发过程中,JSON(JavaScript Object Notation)是最常用的数据格式之一。MD5(Message-Digest Algorithm 5)是一种常用…

    编程 2025-04-29
  • 使用Java将JSON写入HDFS

    本篇文章将从以下几个方面详细阐述Java将JSON写入HDFS的方法: 一、HDFS简介 首先,先来了解一下Hadoop分布式文件系统(HDFS)。HDFS是一个可扩展性高的分布式…

    编程 2025-04-29
  • MySQL递归函数的用法

    本文将从多个方面对MySQL递归函数的用法做详细的阐述,包括函数的定义、使用方法、示例及注意事项。 一、递归函数的定义 递归函数是指在函数内部调用自身的函数。MySQL提供了CRE…

    编程 2025-04-29
  • Python元祖操作用法介绍

    本文将从多个方面对Python元祖的操作进行详细阐述。包括:元祖定义及初始化、元祖遍历、元祖切片、元祖合并及比较、元祖解包等内容。 一、元祖定义及初始化 元祖在Python中属于序…

    编程 2025-04-29

发表回复

登录后才能评论