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

SQL 为什么历经半个世纪却经久不衰?

1946 年,世界上第一台电脑诞生。经过半个多世纪的发展,互联网改变了世界。数不清的技术、产品不断地迭代前进,但有一门技术却跳出了历史周期律,经久不衰,那就是 SQL。

SQL 在2022求职排行榜上排名第一

SQL 是与数据直接打交道的一门语言。不论是前端还是后端,都需要了解如何又快又准确地提取自己想要的数据,可以说技术人员或多或少的都要用到SQL

原始SQL工具界面

而随着互联网下半场的到来,再到如今的“寒冬”。企业更加注重精细化运营,讲究每一分钱花在刀刃上,对从业人员的要求也越来越高。不仅是技术人员,很多业务人员,像产品经理、运营、财务人员,也开始学习写SQL。

关于SQL学习的讨论

特别是中小公司,员工工作没有螺丝钉化,更加需要员工掌握这些额外技能。比如市场部的员工能用SQL工具自己去查官网的访问数据,就无需借助研发人员的帮助。

市场员工用新SQL工具查询官网数据(可选SQL或者配置两种方式)

此外:SQL越来越火还离不开它低成本高回报的另外两个特点:变化小、入门易。

SQL越来越火的三个重要特点

  • 变化小

1974 年,IBM发布一篇揭开数据库技术的论文《SEQUEL:一门结构化的英语查询语言》。直到今天,这门结构化的查询语言也没有很大的变化,还遵循着 SQL92 和 SQL99,分别颁布于92年和99年的SQL标准,很多程序员应该那个时候还没有出生吧。

这就意味着SQL学习的后期投入极低,将自己的时间与精力投入这些不变且有用的技术身上获得更大的收益,成为了不少互联网非技术人员的共识。

  • 入门易:

"SQL还是太简单了。"

SQL 是为数不多的声明性语言,这种语言的特点就是,你只需要告诉计算机,你想从原始数据中获取什么样的数据结果即可,就好像是在用英语与数据库进行对话。

比如:

SELECT name,age FROM employees WHERE gender = '男'

意思就是想获取员工表中所有男性员工的名字和年龄。

从例子我们能看出:SQL不像其他语言,学习起来需要大量的程序语言基础和良好的编程逻辑思维。比如:要指定具体的执行步骤,先执行哪一步,再执行哪一步,在执行前考虑是否要检查满足什么条件等等

SQL 语言按照功能划分成以下的 4 个部分

DDL,英文叫做 Data Definition Language,也就是数据定义语言,它用来定义我们的数据库对象,包括数据库、数据表和列。通过使用 DDL,我们可以创建,删除和修改数据库和表结构。

DML,英文叫做 Data Manipulation Language,数据操作语言,我们用它操作和数据库相关的记录,比如增加、删除、修改数据表中的记录。

DCL,英文叫做 Data Control Language,数据控制语言,我们用它来定义访问权限和安全级别。

DQL,英文叫做 Data Query Language,数据查询语言,我们用它查询想要的记录,它是 SQL 语言的重中之重。在实际的业务中,我们绝大多数情况下都是在和查询打交道,因此学会编写正确且高效的查询语句,是学习的重点。

掌握基本的 DDL、DML、DCL 和 DQL 语法后,再了解不同数据库管理系统(DBMS)中SQL 的语法差异,我们就算入门了。

然后在实践中不断思考如何提升 SQL语句的效率,了解一些好用的SQL工具,就能更加熟练,并且事半功倍。比如:今年很受技术人员喜爱的web sql开发工具麦聪DaaS平台(可以协作开发、有完善的权限管理、使用体验佳....)

麦聪DaaS平台的SQL界面

总之:比起互联网那些更新快又难学的新技术,SQL算得上是金牌股票了。

不管是想进入互联网行业的新同学,还是互联网圈的老业务,都可以让自己的市场价值更进一层,市场竞争力脱颖而出。

2022年最受欢迎语言

SQL开发入门系列(二)“SQL为什么这么火”就介绍到这里了,如果大家满意的话点个关注呀,麦聪还将继续推出SQL系列内容,帮助大家在职场快人一步。

相关文章:

  • 【数据结构初阶】八大排序(三)——归并排序计数排序
  • VI 使用技巧
  • Disruptor生产和消费模式详解及高级应用(并行模式)
  • [算法周训 3] 字符串训练2
  • 判断月份所在的季节
  • 大数据毕设选题 - flask疫情数据可视化系统(python)
  • 记录第一次开源流计算框架Flink代码的贡献
  • 共码未来 | 助力实现事半功倍的前端开发体验
  • 客户端存储localStorage和sessionStorage以及Cookie
  • Python学习笔记:Jupyter Notebook快速入门案例:学习时间与成绩的关系
  • 嵌入式软件工程师面试题(三)
  • K8S搭建共享存储(以MySQL例)
  • 【C++】类和对象(中篇)(万字)
  • 虹科教您 | 虹科TSN配置软件RELY-TSN-Configurator基本操作指南
  • 【python基础】super是啥,你会用吗?
  • [笔记] php常见简单功能及函数
  • 【MySQL经典案例分析】 Waiting for table metadata lock
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • angular学习第一篇-----环境搭建
  • Apache Pulsar 2.1 重磅发布
  • CSS盒模型深入
  • js ES6 求数组的交集,并集,还有差集
  • PHP 7 修改了什么呢 -- 2
  • Python 反序列化安全问题(二)
  • ReactNativeweexDeviceOne对比
  • vue数据传递--我有特殊的实现技巧
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 学习ES6 变量的解构赋值
  • ionic异常记录
  • 大数据全解:定义、价值及挑战
  • ​卜东波研究员:高观点下的少儿计算思维
  • # centos7下FFmpeg环境部署记录
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • ###C语言程序设计-----C语言学习(6)#
  • #传输# #传输数据判断#
  • (003)SlickEdit Unity的补全
  • (10)Linux冯诺依曼结构操作系统的再次理解
  • (c语言版)滑动窗口 给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (多级缓存)多级缓存
  • (二)什么是Vite——Vite 和 Webpack 区别(冷启动)
  • (二十三)Flask之高频面试点
  • (一) storm的集群安装与配置
  • (一一四)第九章编程练习
  • .NET CORE 第一节 创建基本的 asp.net core
  • .NET 使用 XPath 来读写 XML 文件
  • .NET/ASP.NETMVC 深入剖析 Model元数据、HtmlHelper、自定义模板、模板的装饰者模式(二)...
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • .net对接阿里云CSB服务
  • .NET轻量级ORM组件Dapper葵花宝典
  • .py文件应该怎样打开?
  • @Responsebody与@RequestBody
  • [Arduino学习] ESP8266读取DHT11数字温湿度传感器数据