MySQL 8.0版本说明
MySQL 8.0源代码文档10bet官方网站
在MySQL中,一个表可以包含传统的关系数据、JSON值,或者两者都包含。您可以将传统数据与JSON文档结合起来,方法是将文档存储在具有本机的列中JSON
数据类型。
实例中的城市表world_x
模式。
城市表有五列(或字段)。
+---------------+------------+-------+-------+---------+------------------+ | 字段默认零关键| | | | |类型多 | +---------------+------------+-------+-------+---------+------------------+ | | int ID (11) | | PRI零| | auto_increment | | | char(35) |没有名称 | | | | | CountryCode | char(3) |不 | | | | | 区| char(20) |不 | | | | | json信息| |是| | null | | +---------------+------------+-------+-------+---------+------------------+
方法将文档插入到表的列中值()
方法以正确的顺序生成格式良好的JSON文档。在下面的示例中,文档作为要插入到Info列中的最终值传递。
mysql-js > db.city.insert()。values(无,"旧金山","美国","加利福尼亚","{"人口":830000}')
可以发出带有搜索条件的查询,该搜索条件计算表达式中的文档值。
mysql-js > db.city。选择([“ID”、“名称”、“CountryCode”,“区”,“信息”)。where("国家代码=:国家和信息->'$。人口“> 100万”)。bind(“国家”、“美国 ') +------+----------------+-------------+----------------+-----------------------------+ | ID |名称| CountryCode | |信息 | +------+----------------+-------------+----------------+-----------------------------+ | 纽约美国纽约3793 | | | |{“人口”:8008278}| | 3794 | |美国洛杉矶加州| |{“人口”:3694820}| | 3795 | |美国芝加哥伊利诺斯州| |{“人口”:2896016}| | 3796 | | |美国德克萨斯州休斯顿|{“人口”:1953631} | | 3797 | | | |美国宾夕法尼亚州的费城{“人口”:1517550}| | 3798 | | |美国亚利桑那州凤凰城|{“人口”:1321045}| | 3799 | |圣地亚哥加州美国| |{“人口”:1223400}| | 3800 | | |美国德克萨斯州达拉斯|{“人口”:1188580}| | 3801 | | |美国德州圣安东尼奥|{“人口”:1144646 } | +------+----------------+-------------+----------------+-----------------------------+ 9行集(0.01秒)
看到使用关系表和文档获取更多信息。
看到第11.5节“JSON数据类型”有关数据类型的详细说明。