竹笋

首页 » 问答 » 环境 » 乘风破浪的SQLCSDN
TUhjnbcbe - 2024/12/31 10:35:00

作者

不剪发的Tony老师,已获授权

责编

屠敏

头图

CSDN下载自东方IC

出品

CSDN博客

大家好,我是只谈技术不剪发的Tony老师。最近有一个非常火的综艺节目叫做《乘风破浪的姐姐》,邀请了30位年龄在30岁以上的女艺人,通过封闭式训练和考核,最终由全民投票选出5位成员组成全新女团。

看了这个节目之后,最有感触的不是姐姐们的多才多艺,而是她们面对人生的态度和敢于挑战自我的勇气和自信。只是对于我来说,她们当中很多人应该不是姐姐而是妹妹(一不小心暴露了年龄)。

那么,这和SQL语言有什么关系呢?SQL由IBM于上世纪70年代创建,如今已经成为了使用最广泛的数据库查询语言。不过,相信很多人对于SQL的理解就是关系数据库,就是增删改查;实际上,SQL在经历了四十而不惑之后就像“姐姐们”一样成熟而有魅力,同时它又敢于在不断变化的产业需求和各种非关系模型的冲击之下实现自我突破。因此,本文就给大家介绍一下最近几年SQL如何在各个领域乘风破浪!

如果你认为SQL就是简单的增删改查(INSERT、SELECT、UPDATE、DELETE),那么你了解的仅仅是年的SQL。

如果你了解通用表表达式(CTE)和递归查询、用户定义类型或者OLAP功能,那么你使用的是年的SQL。

如果你接触过窗口函数(分析函数)、MERGE(UPSERT)语句或者XML数据类型,应该知道这些不过是年的SQL。

年的SQL已经定义了SQL操作XML的规范,支持使用XQuery同时访问SQL数据和XML文档。年又增加了TRUNCATETABLE语句、INSTEADOF触发器以及FETCH子句等功能。

年SQL最主要的新功能之一就是增强了对时态数据库(Temporaldatabase)的支持,可以用于记录那些随着时间而变化的历史数据值,应用领域包括金融、保险、预订系统、医疗信息管理系统等。目前,MariaDB、Oracle、PostgreSQL、MicrosoftSQLServer在一定程度上实现了某些时态表功能,国内的腾讯TDSQL是一个全时态数据库系统。

时间来到了年,SQL标准又增加了几个重要的功能,首先就是对JSON文档的支持。

SQL与文档数据库

文档数据库属于NoSQL的一种,具有模式自由的存储特性,通常采用JSON格式进程数据的存储。常用的文档数据库包括MongoDB、CouchDB等。

实际上,年SQL标准就已经增加了JSON功能的支持,包括:

JSON对象的存储与检索;将JSON对象表示成SQL数据;将SQL数据表示成JSON对象。这些功能可以表示为以下示意图:

如今,主流的关系数据库也都增加了原生JSON数据类型和相关函数的支持,包括Oracle、MySQL、SQLServer、PostgreSQL等。

我们以MySQL为例,演示一下如何使用SQL查询JSON数据。

selectemp_id,emp_info,emp_info-$.emp_nameemp_name,emp_info-$.sexsex,emp_info-$.in

1
查看完整版本: 乘风破浪的SQLCSDN