CRUD 和 SQL - 基础知识!
CRUD到底是什么?
在英国,它被用作礼貌的脏话,但在软件开发领域,它代表:
- 创造
- 读
- 更新
- 删除
它是许多软件的基础。
让我们来学习SQL中CRUD操作的基础知识:
介绍
为了便于理解,我们假设我们有一个人员名单及其电子邮件地址。
假设我们的数据库中已经有一个名为“contacts”的表,该表有4列:
- ID(主键,自动递增)
- 名
- 姓
- 电子邮件
该表中已有两条记录:
| ID | 名 | 姓 | 电子邮件 |
|---|---|---|---|
| 1 | 玛丽 | 西蒙斯 | mary.s@hotmail.com |
| 2 | 弗雷德 | 格里菲斯 | fredgriffith@protonmail.com |
让我们看看如何向表中添加一条记录(创建)
C - 创建
要在 SQL 中创建记录,我们使用以下INSERT命令。
假设我们已获得以下信息,需要将其添加到数据库中:
- 名字:约翰
- 姓氏:史密斯
- 电子邮件: JohnSmith@googlemail.com
我们可以使用以下 SQL 语句将其添加到数据库表中:
INSERT INTO `contacts` (firstName, lastName, email)
VALUES (‘John’, ‘Smith’, ‘JohnSmith@googlemail.com’);
让我们来详细分析一下:
**INSERT INTO**
命令允许我们在表中创建新行。
contacts
是我们想要插入数据的表。
(firstName、lastName、email)
是我们想要添加数据的列。
VALUES ('John', 'Smith', 'John....com');
是我们想要添加的数据。
请注意,第一组括号中有 3 列,它们对应于第二组括号中的值。
我们还可以这样做:
INSERT INTO `contacts` (lastName, email, firstName)
VALUES (‘Smith’, ‘JohnSmith@googlemail.com’, ‘John’);
而且这样做也行得通,因为第一部分中指定的列顺序仍然与第二部分中的数据相匹配。(请注意,将列的顺序与它们在表格中的显示顺序不同并不是一个好的做法,这只是为了演示目的。)
需要注意的是,我们的表格有 4 列,但我们只添加了 3 个值,ID 去哪儿了?
通常情况下(包括本例中),表中的 ID 会设置为“自动递增”。
这意味着它会自动在此处添加一个比表当前最大索引值大 1 的值。
事实上,我们现在可以使用 SQL 读取表数据来检查 INSERT 语句的结果。
R - 阅读
一旦表中有了数据,我们就需要能够检索这些数据。
为此,我们使用SELECTSQL。
最简单的语句如下SELECT所示:
SELECT * FROM `contacts`;
该*符号是“每一列”的简写。
这相当于:
SELECT id, firstName, lastName, email FROM `contacts`;
我们来看一下数据。
| ID | 名 | 姓 | 电子邮件 |
|---|---|---|---|
| 1 | 玛丽 | 西蒙斯 | mary.s@hotmail.com |
| 2 | 弗雷德 | 格里菲斯 | fredgriffith@protonmail.com |
| 3 | 约翰 | 史密斯 | JohnSmith@googlemail.com |
如果你还记得的话,我们在添加 John 的记录时没有指定 ID,但由于自动递增,我们自动为该行/记录分配了一个 ID 号。
就这样,我们已经成功地向表格中添加了一行并检索了信息!
但是,如果有人更改了电子邮件地址怎么办?我们如何更新记录?
U - 更新
我们刚刚发现弗雷德的电子邮件地址变成了freddy@gmail.com,所以我们需要修改一下!
要更改表中已有的记录,我们使用UPDATE命令。
现在,在我们能够有效地使用此命令之前,我们还必须引入第二个命令:WHERE。
WHERE用于为我们的查询设置一些条件。可以把它想象成一个过滤器。
在这种情况下,我们要更新 ID 为“2”的记录,因为那是 Fred 的记录。
因此,我们的 UPDATE 语句将如下所示:
UPDATE `contacts`
SET email = “freddy@gmail.com”
WHERE id = 2;
让我们来详细分析一下:
UPDATE 函数contacts
告诉数据库我们要更新哪个表。
SET field/column = “value”
告诉数据库我们要将某个列设置为新值。
WHERE
是我们另一个新命令,它允许我们指定我们只想更新 ID 为 2 的行中的列。
值得注意的是,如果我们发现弗雷德也更喜欢别人叫他“弗雷迪”,我们可以像这样同时更新这两列:
UPDATE
`contacts`
SET
firstName = “Freddy”,
email = “freddy@gmail.com”
WHERE
id = 2;
现在我们已经掌握了基本知识,WHERE我们还可以检查行是否已正确更新:
SELECT
*
FROM
`contacts`
WHERE
id = 2;
你瞧瞧:
| ID | 名 | 姓 | 电子邮件 |
|---|---|---|---|
| 2 | 弗雷迪 | 格里菲斯 | freddy@gmail.com |
所有内容均已更新!
现在是 CRUD 的最后一部分——删除!
D - 删除
删除只能在行级别进行(即,你不能直接删除firstName某人的记录……你需要使用一个变量UPDATE并将值设置为 true 才能执行此操作null)。
假设过了一段时间,弗雷迪决定不再保留在我们的联系人列表中,并希望删除他的数据。
我们把弗雷迪从桌子上移走吧。
删除语句非常简单明了:
DELETE FROM `contacts` WHERE id = 2;
让我们再来分析一下:
DELETE FROMcontacts
指定要从中删除内容的表。
WHERE id = 2
指定要删除的行。
这一次,事情就是这样了!
命令运行后,DELETE表格如下所示:
| ID | 名 | 姓 | 电子邮件 |
|---|---|---|---|
| 1 | 玛丽 | 西蒙斯 | mary.s@hotmail.com |
| 3 | 约翰 | 史密斯 | JohnSmith@googlemail.com |
请注意,ID 编号不会改变。还值得注意的是,如果我们插入一行新数据,该行的 ID 将被设置为 4,它始终来自数据库的当前索引(如果我们删除所有行并添加新行,其 ID 仍然是 4!)。
总结完毕。
CRUD 是许多软件应用程序的基础,学习像我们这里一样的基础知识可以让你受益匪浅!
我们显然没有涵盖 SQL 中的很多内容,例如JOIN……DISTINCT等等,但希望这能让你快速了解 SQL 和 CRUD 操作,足以构建你的第一个 CRUD 应用程序或 API。
新年快乐,也祝各位编程爱好者新年快乐!💪🏼💗
文章来源:https://dev.to/grahamthedev/crud-and-sql-the-basics-55j1




