简体中文 登录 / 注册
我的项目
×
经验为什么一定要掌握 SQL -- 为非专业开发者和初学者释疑
Lambda 4年前
sql

近期受“低代码“概念的影响,越来越多的非专业开发者,在尝试了市面上各种低代码开发开发工具之后,接触到了无远开发平台。认为平台虽然强大,产出物能满足各种业务需求,但是需要懂 SQL 才能使用,在不清楚 SQL 的必要性以及相关学习成本情况下,觉得有心无力。本帖目的就是为各位非专业开发者或初学者解答这些疑惑。

1. SQL 是什么?

SQL 是结构化查询语言(Structured Query Language)的简称,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。

2. 为什么要掌握 SQL 才能开发系统?

如果我们的目标只是用来管理一些简单的、相互之间无关联、无者约束的数据表格,只需单机单人使用,并且不考虑数据量太大的问题,那么最有效廉价的方案应该是使用 Excel;如果我们的目标是要实现一个完整的一致的不同终端设备可访问使用的,支持多角色协同操作的业务系统,那么 SQL 一定是必需的。 我们现在所使用的各种业务系统,不论大小,不论前端表象及中间业务多么复杂,最终到数据库层面,本质上都是 SQL 的执行(见下图):

如果一款工具宣称,不用写 SQL 就能完成专业完整的业务系统,那么,它所提供的逻辑运算能力和数据处理能力要与SQL的能力基本相当,并且用法上比 SQL 还简单,才能替代 书写 SQL,并满足数据库层面的执行要求。但是SQL语言在专业开发者看来已经足够简单(后文解释如何简单),并且过去四十年无可替代。由此可知,

无代码无SQL工具在逻辑完备上必定有缺失。这就好像一套运算法则,只有加减法,没有乘除法、开方运算一样,无论如何努力也无法解出一元二次方程。

3. SQL 的普及性与基础性

SQL 是大学计算机相关专业的必修课程,更是专业系统开发人员的必备知识,以往需要的技术栈是这样的:

很明显,相对于常规开发所要求的相关技术知识,无远开发平台已经将这种要求降低到只需要掌握 SQL 即可。但是对于非专业开发的同学来说,学 SQL 依然是一个技术门槛。然而,0 基础用户不能开发出一个完整可用的系统,首要问题不是在于开发语言或者工具使用难度有多大,而是在观念里,不知道如何叫做一个完整的系统;反过来,如果一名用户愿意花一些时间,系统地学习并掌握 SQL,那么他一定是知道,开发一个完整的系统,应该是怎样的,即便他不用无远开发平台。我们认为,如果您真的有非常强烈的意愿开发业务系统解决自身企业信息化的问题,那么花几天时间掌握一下 SQL 是非常必要的。

4. SQL 是否很难学?

我们快速看一下 SQL 的基本操作语句:

创建一张表:
CREATE TABLE user (
  id INT UNSIGNED PRIMARY KEY, -- 编号
  name VARCHAR(40), -- 姓名
  email  VARCHAR(120), -- 邮箱
  phone VARCHAR(20), -- 手机号
  address VARCHAR(200) -- 地址
);

插入一条数据:
INSERT INTO user(id, name, email, phone) VALUES(123, '张三', 'zhangsan@wuyuan.io', '13800010001');

更新一条数据:
UPDATE user SET address = '北京市朝阳区西直门大街1200号' WHERE name = '张三';

删除一条数据:
DELETE FROM user WHERE id = 123;

查询数据:
SELECT id, name, address FROM user WHERE phone = '13800010001';

可以看到, SQL 语句的英文含义本身已经表明它要做的事情的内容,由于我们身处于汉语环境,所以在首次接触时,可能会觉得有些突兀,实际上,它已经非常接近自然语言,而这个差距感受,仅仅是对英文单词句法不熟练造成的,而非高深的技术门槛。揭开这个英文单词符号生疏的表象,你会发现 SQL 语言真的很简单。

5. 学习 SQL 的其他好处

不论是否使用无远开发平台,掌握 SQL 都将是一门很有用的技能, 可以用在很广泛的业务领域。在各种开发、生产环境中,绕开业务系统,直接操作数据库,拿 SQL 做数据处理、数据分析、数据展示的业务场景比比皆是。另一方面,通过学习掌握 SQL 也提高了自身的数据化思维,为企业信息化建设和经营打下科学的数据思维基础。

6. SQL 入门学习推荐资料

建议采用 mysql 作为入门学习数据库。

结语

无远开发平台的诞生,并非是为了迎合 “低代码”概念,甚至或者说,当时都没有这样的概念;而是为了解决开发领域的核心问题,即如何更简单,更快速,更低成本地开发和维护系统。在确保实现功能完备的情况下,以 SQL + 配置的方式快速实现开发,是无远总结出来的最佳实践。而现在流行但因功能太弱而被不断质疑的“低代码”概念,反而一定程度上造成初学者对无远开发平台的误解。“低代码”并不是无远的初衷,我们坚信,任何开发框架、工具和平台,不论采用了何种模式和方法,切实解决实际问题,才会更有生命力!

最佳答案
评论列表
我的回答
预览 上传图片
立即发布