文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


22.2 文档存储概念

本节解释了将 MySQL 用作文档存储时引入的概念。

JSON 文档

JSON 文档是由键值对组成的数据结构,是将 MySQL 用作文档存储的基本结构。例如,world_x 模式(将在本章后面安装)包含以下文档

{
    "GNP": 4834,
    "_id": "00005de917d80000000000000023",
    "Code": "BWA",
    "Name": "Botswana",
    "IndepYear": 1966,
    "geography": {
        "Region": "Southern Africa",
        "Continent": "Africa",
        "SurfaceArea": 581730
    },
    "government": {
        "HeadOfState": "Festus G. Mogae",
        "GovernmentForm": "Republic"
    },
    "demographics": {
        "Population": 1622000,
        "LifeExpectancy": 39.29999923706055
    }
}

此文档显示键的值可以是简单数据类型,例如整数或字符串,但也可以包含其他文档、数组和文档列表。例如,geography 键的值由多个键值对组成。JSON 文档在内部使用 MySQL 二进制 JSON 对象表示,通过 JSON MySQL 数据类型。

文档和传统关系数据库中已知的表之间最重要的区别在于,文档的结构不必预先定义,并且集合可以包含多个结构不同的文档。另一方面,关系表要求定义其结构,并且表中的所有行都必须包含相同的列。

集合

集合是一个容器,用于在 MySQL 数据库中存储 JSON 文档。应用程序通常针对文档集合运行操作,例如查找特定文档。

CRUD 操作

可以针对集合发出的四个基本操作是创建、读取、更新和删除 (CRUD)。就 MySQL 而言,这意味着

  • 创建新文档(插入或添加)

  • 读取一个或多个文档(查询)

  • 更新一个或多个文档

  • 删除一个或多个文档