当前位置: 首页 > news >正文

彩票网站开发合法吗方便做流程图的网站

彩票网站开发合法吗,方便做流程图的网站,wordpress 织梦,网页制作素材库哪个网站随着 NoSQL 数据库的兴起#xff0c;JSON 作为一种轻量级的数据交换格式受到了广泛的关注。为了满足现代应用程序的需求#xff0c;MySQL 8引入了原生的 JSON 数据类型#xff0c;提供了一系列强大的 JSON 函数来处理和查询 JSON 数据。本文将深入探讨 MySQL 8 中JSON 类型的… 随着 NoSQL 数据库的兴起JSON 作为一种轻量级的数据交换格式受到了广泛的关注。为了满足现代应用程序的需求MySQL 8引入了原生的 JSON 数据类型提供了一系列强大的 JSON 函数来处理和查询 JSON 数据。本文将深入探讨 MySQL 8 中JSON 类型的特性、函数、索引以及实际应用场景。 1. 引言 在早期的 MySQL 版本中开发者通常将 JSON 数据以字符串的形式存储在数据库中这导致了查询效率低下和数据处理复杂。为了解决这个问题MySQL 8 引入了原生的 JSON 数据类型允许开发者以结构化的方式存储和查询 JSON 数据。 2. JSON 数据类型特性 验证当插入或更新 JSON 列时MySQL 会自动验证数据的 JSON 格式确保数据的完整性。优化存储JSON 数据类型以二进制格式存储相比纯文本存储更加高效。灵活性JSON 列可以存储数组、对象、嵌套结构等为数据的表示提供了极大的灵活性。 3. JSON 函数 MySQL 8 提供了一系列内置函数来操作和查询 JSON 数据 提取数据使用 JSON_EXTRACT() 函数可以从 JSON 文档中提取指定的数据片段。修改数据JSON_INSERT()、JSON_REPLACE() 和 JSON_REMOVE() 函数允许你向 JSON 文档中添加、替换或删除数据。创建 JSONJSON_ARRAY() 和 JSON_OBJECT() 函数用于创建 JSON 数组和对象。查询功能JSON_LENGTH()、JSON_KEYS()、JSON_VALID() 等函数用于获取 JSON 数据的长度、键或验证 JSON 数据的有效性。其他函数如 JSON_QUOTE(), JSON_UNQUOTE(), JSON_CONTAINS(), JSON_CONTAINS_PATH(), JSON_ARRAY_APPEND(), JSON_ARRAY_INSERT() 等等。 下面的例子看看每个函数的具体使用方法 首先我们创建一个名为 json_example 的表并插入一条 JSON 数据 CREATE TABLE json_example ( id INT AUTO_INCREMENT PRIMARY KEY, data JSON ); INSERT INTO json_example (data) VALUES ( { name: John Doe, age: 30, address: { street: 123 Main St, city: Anytown, zip: 12345 }, phoneNumbers: [123-456-7890, 987-654-3210], isActive: true } );表 json_example 中有一条包含 JSON 数据的记录。接下来我们将使用不同的 JSON 函数来查询和修改这个数据. 3.1 JSON_EXTRACT() 提取 JSON 数据中的特定部分 -- 提取 name 字段的值 SELECT JSON_EXTRACT(data, $.name) AS extracted_name FROM json_example; -- 结果: John Doe -- 提取 address 对象的 city 字段的值 SELECT JSON_EXTRACT(data, $.address.city) AS city FROM json_example; -- 结果: Anytown3.2 JSON_INSERT() 向 JSON 数据中插入新的部分如果路径已存在则不会替换。 -- 在 phoneNumbers 数组后面插入一个新的电话号码 UPDATE json_example SET data JSON_INSERT(data, $.phoneNumbers[2], 555-123-4567); -- 此时 phoneNumbers 变为 [123-456-7890, 987-654-3210, 555-123-4567]3.3 JSON_REPLACE() 替换 JSON 数据中的部分如果路径不存在则不会添加。 -- 替换 name 字段的值 UPDATE json_example SET data JSON_REPLACE(data, $.name, Jane Smith); -- 此时 name 变为 Jane Smith3.4 JSON_REMOVE() 从 JSON 数据中移除指定的部分。 -- 移除 phoneNumbers 数组中的第一个电话号码 UPDATE json_example SET data JSON_REMOVE(data, $.phoneNumbers[0]); -- 此时 phoneNumbers 变为 [987-654-3210, 555-123-4567]3.5 JSON_ARRAY() 和 JSON_OBJECT() 创建 JSON 数组和对象 -- 创建一个新的 JSON 数组 SELECT JSON_ARRAY(a, 1, TRUE); -- 结果: [a, 1, true] -- 创建一个新的 JSON 对象 SELECT JSON_OBJECT(key1, value1, key2, 2); -- 结果: {key1: value1, key2: 2} JSON_LENGTH() - 获取 JSON 文档或数组的长度。 sql -- 获取 phoneNumbers 数组的长度 SELECT JSON_LENGTH(data-$.phoneNumbers) AS phone_numbers_length FROM json_example; -- 结果: 2 (因为 phoneNumbers 数组现在有两个元素)3.6 JSON_KEYS() 获取 JSON 对象的所有键 -- 获取 JSON 对象的所有键 SELECT JSON_KEYS(data) AS object_keys FROM json_example; -- 结果: [name, age, address, phoneNumbers, isActive]3.7 JSON_VALID() 验证 JSON 数据的有效性。 -- 验证 data 列是否包含有效的 JSON SELECT JSON_VALID(data) AS is_valid_json FROM json_example; -- 结果: 1 (表示 true因为 data 列包含有效的 JSON)3.8 JSON_QUOTE() 和 JSON_UNQUOTE() 将字符串转换为 JSON 格式的字符串以及反向操作。 假设json_example 表中存在这样一条数据 INSERT INTO json_example (data) VALUES ( { name: John, interests: [reading, music], friends: [ {name: Alice, age: 28}, {name: Bob, age: 32} ] } );现在我们将使用上述函数对这条数据进行操作 -- 使用 JSON_QUOTE 将普通字符串转换为 JSON 字符串 SELECT JSON_QUOTE(Hello, World!) AS quoted_string; -- 结果: Hello, World! -- 使用 JSON_UNQUOTE 将 JSON 字符串转换回普通字符串 SELECT JSON_UNQUOTE(Hello, World!) AS unquoted_string; -- 结果: Hello, World!请注意在实际的数据列上使用这些函数时你通常会对已存储的 JSON 值或要插入的值进行操作。 3.9 JSON_CONTAINS() 检查 JSON 文档是否包含指定的值。 -- 检查 interests 数组是否包含 reading SELECT JSON_CONTAINS(data-$.interests, reading) AS contains_reading FROM json_example; -- 结果: 1 (表示 true因为 interests 数组包含 reading)注意因为 JSON 中的字符串是被双引号包围的所以我们在查询时也需要对搜索的字符串值加上双引号。 3.9 JSON_CONTAINS_PATH() 检查 JSON 文档是否包含指定的路径。 -- 检查是否存在 friends 数组中的对象的 name 路径 SELECT JSON_CONTAINS_PATH(data, one, $.friends[*].name) AS contains_path FROM json_example; -- 结果: 1 (表示 true因为存在该路径)3.10 JSON_ARRAY_APPEND() 向 JSON 数组追加元素。 -- 向 interests 数组追加 traveling UPDATE json_example SET data JSON_SET(data, $.interests[2], traveling); -- 注意这里使用了 JSON_SET因为 JSON_ARRAY_APPEND 需要指定路径到具体数组 -- 在 MySQL 8.0.17 及更高版本中可以使用 JSON_ARRAY_APPEND 正确地追加元素 -- 例如: JSON_ARRAY_APPEND(data, $.interests, traveling)注意上面的例子中使用了 JSON_SET 而不是 JSON_ARRAY_APPEND因为在 MySQL 8.0.17 之前JSON_ARRAY_APPEND 的语法有些不同它要求指定路径到一个具体的数组元素。从 8.0.17 开始JSON_ARRAY_APPEND 可以正确地追加到数组末尾。 正确的 JSON_ARRAY_APPEND 用法如下 -- 向 interests 数组追加 traveling适用于 MySQL 8.0.17 及更高版本 UPDATE json_example SET data JSON_ARRAY_APPEND(data, $.interests, traveling); 3.11 JSON_ARRAY_INSERT() 在 JSON 数组的指定位置插入元素。 -- 在 interests 数组的第一个位置插入 gaming UPDATE json_example SET data JSON_ARRAY_INSERT(data, $.interests[0], gaming); -- 结果: interests 数组现在是 [gaming, reading, music, traveling]4. JSON 索引 为了提高查询性能MySQL 8 支持为 JSON 列创建索引。但由于 JSON 数据的灵活性直接对整个 JSON 文档创建索引并不高效。因此MySQL 引入了虚拟列Virtual Columns的概念。 虚拟列虚拟列允许你根据 JSON 列中的值生成一个新的列并为这个新列创建索引。这样当你根据 JSON 数据中的某个字段进行查询时MySQL 可以使用索引来加速查询。关于虚拟列我将在之后的文章详解创建索引通过结合使用 JSON_EXTRACT() 函数和虚拟列你可以轻松地为 JSON 数据中的特定字段创建索引。 基于上面的json_example 表我们来看下为json字段创建索引 4.1 添加虚拟列 我们将添加一个名为 first_interest 的虚拟列该列将存储 interests 数组的第一个元素。 ALTER TABLE json_example ADD first_interest VARCHAR(255) GENERATED ALWAYS AS (JSON_UNQUOTE(JSON_EXTRACT(data, $.interests[0]))) VIRTUAL;在这里我们使用了 JSON_EXTRACT() 来获取 interests 数组的第一个元素并用 JSON_UNQUOTE() 去除引号因为 JSON_EXTRACT() 返回的是 JSON 格式的字符串。 4.2 为虚拟列创建索引 CREATE INDEX idx_first_interest ON json_example(first_interest);现在我们为 first_interest 列创建了一个索引这将加速基于该列的查询。 4.3 查询优化 现在我们可以基于 first_interest 列进行查询并利用索引来加速查询过程。 SELECT * FROM json_example WHERE first_interest reading;由于我们为 first_interest 创建了索引这个查询将会更加高效。但是请注意这种方法仅适用于查询 interests 数组的第一个元素。如果你需要查询数组中的其他元素你可能需要采用其他策略比如使用全文搜索、倒排索引或者将 JSON 数据规范化到关系型结构中。 5. 实际应用场景 配置文件存储应用程序的配置信息通常以 JSON 格式表示。使用 MySQL 8 的 JSON 数据类型你可以轻松地将这些配置信息存储在数据库中并使用 JSON 函数进行查询和修改。日志记录日志条目通常以结构化的格式存储JSON 是一个理想的选择。通过将日志数据存储在 JSON 列中你可以轻松地分析和查询日志数据。与前端集成使用 JSON 与后端进行数据交换。使用 MySQL 8 的 JSON 支持你可以简化数据库与前端之间的数据交互。 6. 注意事项 性能虽然 MySQL 8 提供了对 JSON 的支持但与传统的关系型数据相比JSON 查询可能仍然不够高效。数据验证虽然 MySQL 会验证 JSON 数据的格式但它不会验证数据的业务规则或完整性。复杂性JSON 数据的结构可能比传统的关系型数据更复杂这可能会增加查询和维护的难度。 7. 结论 MySQL 8 的 JSON 数据类型为存储和查询 JSON 数据提供了强大的支持。通过内置的 JSON 函数和虚拟列索引开发者可以高效地处理 JSON 数据满足现代应用程序的需求。如果你正在开发需要存储和查询 JSON 数据的应用程序不妨考虑使用 MySQL 8 的 JSON 功能来简化你的工作。
文章转载自:
http://www.morning.jynzb.cn.gov.cn.jynzb.cn
http://www.morning.zgnng.cn.gov.cn.zgnng.cn
http://www.morning.wmhlz.cn.gov.cn.wmhlz.cn
http://www.morning.baohum.com.gov.cn.baohum.com
http://www.morning.sgfgz.cn.gov.cn.sgfgz.cn
http://www.morning.klyyd.cn.gov.cn.klyyd.cn
http://www.morning.kqlrl.cn.gov.cn.kqlrl.cn
http://www.morning.wlddq.cn.gov.cn.wlddq.cn
http://www.morning.cbynh.cn.gov.cn.cbynh.cn
http://www.morning.jmnfh.cn.gov.cn.jmnfh.cn
http://www.morning.dnphd.cn.gov.cn.dnphd.cn
http://www.morning.ygztf.cn.gov.cn.ygztf.cn
http://www.morning.tbqbd.cn.gov.cn.tbqbd.cn
http://www.morning.rqnzh.cn.gov.cn.rqnzh.cn
http://www.morning.gczzm.cn.gov.cn.gczzm.cn
http://www.morning.ybgcn.cn.gov.cn.ybgcn.cn
http://www.morning.nsmyj.cn.gov.cn.nsmyj.cn
http://www.morning.zpkfb.cn.gov.cn.zpkfb.cn
http://www.morning.mlyq.cn.gov.cn.mlyq.cn
http://www.morning.kbntl.cn.gov.cn.kbntl.cn
http://www.morning.crfjj.cn.gov.cn.crfjj.cn
http://www.morning.blxor.com.gov.cn.blxor.com
http://www.morning.mnjyf.cn.gov.cn.mnjyf.cn
http://www.morning.mgwpy.cn.gov.cn.mgwpy.cn
http://www.morning.yrccw.cn.gov.cn.yrccw.cn
http://www.morning.rtspr.cn.gov.cn.rtspr.cn
http://www.morning.gbhsz.cn.gov.cn.gbhsz.cn
http://www.morning.litao4.cn.gov.cn.litao4.cn
http://www.morning.qphdp.cn.gov.cn.qphdp.cn
http://www.morning.bqqzg.cn.gov.cn.bqqzg.cn
http://www.morning.rwpfb.cn.gov.cn.rwpfb.cn
http://www.morning.zkpwk.cn.gov.cn.zkpwk.cn
http://www.morning.sfdsn.cn.gov.cn.sfdsn.cn
http://www.morning.mingjiangds.com.gov.cn.mingjiangds.com
http://www.morning.drnfc.cn.gov.cn.drnfc.cn
http://www.morning.ffbp.cn.gov.cn.ffbp.cn
http://www.morning.nlbw.cn.gov.cn.nlbw.cn
http://www.morning.wanjia-sd.com.gov.cn.wanjia-sd.com
http://www.morning.kjmws.cn.gov.cn.kjmws.cn
http://www.morning.jzsgn.cn.gov.cn.jzsgn.cn
http://www.morning.fndfn.cn.gov.cn.fndfn.cn
http://www.morning.fkrzx.cn.gov.cn.fkrzx.cn
http://www.morning.gskzy.cn.gov.cn.gskzy.cn
http://www.morning.jjzrh.cn.gov.cn.jjzrh.cn
http://www.morning.hrzhg.cn.gov.cn.hrzhg.cn
http://www.morning.kntsd.cn.gov.cn.kntsd.cn
http://www.morning.sbqrm.cn.gov.cn.sbqrm.cn
http://www.morning.qmncj.cn.gov.cn.qmncj.cn
http://www.morning.twwts.com.gov.cn.twwts.com
http://www.morning.mhfbp.cn.gov.cn.mhfbp.cn
http://www.morning.zhnyj.cn.gov.cn.zhnyj.cn
http://www.morning.nfccq.cn.gov.cn.nfccq.cn
http://www.morning.tbjb.cn.gov.cn.tbjb.cn
http://www.morning.hghhy.cn.gov.cn.hghhy.cn
http://www.morning.zqfjn.cn.gov.cn.zqfjn.cn
http://www.morning.ampingdu.com.gov.cn.ampingdu.com
http://www.morning.rlwcs.cn.gov.cn.rlwcs.cn
http://www.morning.bqppr.cn.gov.cn.bqppr.cn
http://www.morning.szoptic.com.gov.cn.szoptic.com
http://www.morning.fnhxp.cn.gov.cn.fnhxp.cn
http://www.morning.rbhqz.cn.gov.cn.rbhqz.cn
http://www.morning.lssfd.cn.gov.cn.lssfd.cn
http://www.morning.nhgfz.cn.gov.cn.nhgfz.cn
http://www.morning.mlpch.cn.gov.cn.mlpch.cn
http://www.morning.wmyqw.com.gov.cn.wmyqw.com
http://www.morning.rxnl.cn.gov.cn.rxnl.cn
http://www.morning.gbfuy28.cn.gov.cn.gbfuy28.cn
http://www.morning.bjndc.com.gov.cn.bjndc.com
http://www.morning.xhlpn.cn.gov.cn.xhlpn.cn
http://www.morning.rlns.cn.gov.cn.rlns.cn
http://www.morning.qlxgc.cn.gov.cn.qlxgc.cn
http://www.morning.dwkfx.cn.gov.cn.dwkfx.cn
http://www.morning.xjmyq.com.gov.cn.xjmyq.com
http://www.morning.gqfjb.cn.gov.cn.gqfjb.cn
http://www.morning.xprq.cn.gov.cn.xprq.cn
http://www.morning.gediba.com.gov.cn.gediba.com
http://www.morning.pfntr.cn.gov.cn.pfntr.cn
http://www.morning.jfgmx.cn.gov.cn.jfgmx.cn
http://www.morning.ygmw.cn.gov.cn.ygmw.cn
http://www.morning.rqqmd.cn.gov.cn.rqqmd.cn
http://www.tj-hxxt.cn/news/254087.html

相关文章:

  • 网站高端设计公司企业文化vi设计
  • 哪些网站设计好娄底住房和城乡建设部网站
  • 江苏华柯建设发展有限公司网站wordpress主题 反盗版
  • 西安网站建设sd2w网站 ftp信息
  • 最新互联网项目平台网站手机销售网站建设项目书
  • 网站备案全国合作拍照点梧州论坛红豆社区
  • 免费的图库网站专门做美食的视频网站有哪些
  • 做设计的一般用什么网站找素材阜宁住房和城乡建设局网站
  • 大连模板建站软件辽宁省建设银行招聘网站
  • 建设银行兴安支行网站wp风格网站
  • 图片网站怎样选择虚拟主机wordpress主题中英文
  • 阜新网站建设单位wordpress 地理定位
  • 怎么做视频还有网站吗小程序游戏搭建
  • 网站架构设计图网站搜索功能设计
  • 搭建网站需要注意什么设计说明模板
  • 成网站建设深圳网站的做网站公司
  • 高校网站建设建议微信朋友圈投放广告怎么收费
  • 宝安网站建设哪家便宜福建住房与城乡建设网站
  • 网站域名查询网址app运营成本估算
  • 微网站设计网站后台上传不了图片
  • 做什麽网站有前景如何做好网站宣传
  • 上海企业建站公司排名南通网站建设方法
  • 门户网站内容管理系统企业logo设计创意
  • 南宁网站开发公司60平方旧房翻新装修要多少钱
  • 山东住房城乡建设厅官方网站郑州企业网站建设
  • 建英文网站有用吗netcore网站开发实战
  • 汽车网站模板下载黄页模式
  • 建设部网站查询注册岩土工程师凡科女装
  • 网站片头动画用什么软件做的基于wordpress 小程序
  • 网站建设方案文本模板wordpress 种子搜索引擎