发布于 2026-01-06 2 阅读
0

CRUD 和 SQL - 基础知识!

CRUD 和 SQL - 基础知识!

CRUD到底是什么?

在英国,它被用作礼貌的脏话,但在软件开发领域,它代表:

  • 创造
  • 更新
  • 删除

它是许多软件的基础。

让我们来学习SQL中CRUD操作的基础知识:

介绍

CRUD——这到底是什么?图示包含 4 个图标,分别代表创建、读取、更新和删除,采用霓虹粉、黄、红、绿配色方案和风格。

为了便于理解,我们假设我们有一个人员名单及其电子邮件地址。

假设我们的数据库中已经有一个名为“contacts”的表,该表有4列:

  • ID(主键,自动递增)
  • 电子邮件

该表中已有两条记录:

ID 电子邮件
1 玛丽 西蒙斯 mary.s@hotmail.com
2 弗雷德 格里菲斯 fredgriffith@protonmail.com

让我们看看如何向表中添加一条记录(创建)

C - 创建

创建(INSERT)——向表中添加数据。图示包含一条 SQL 插入语句,下方是一个包含 3 条记录的数据表,采用霓虹粉、黄、红、绿配色方案。最后一行旁边有一个加号。

要在 SQL 中创建记录,我们使用以下INSERT命令。

假设我们已获得以下信息,需要将其添加到数据库中:

我们可以使用以下 SQL 语句将其添加到数据库表中:

INSERT INTO `contacts` (firstName, lastName, email)
VALUES (John, Smith, JohnSmith@googlemail.com);
Enter fullscreen mode Exit fullscreen mode

让我们来详细分析一下:

**INSERT INTO**
命令允许我们在表中创建新行。

contacts
是我们想要插入数据的表。

(firstName、lastName、email)
是我们想要添加数据的列。

VALUES ('John', 'Smith', 'John....com');
是我们想要添加的数据。

请注意,第一组括号中有 3 列,它们对应于第二组括号中的值。

我们还可以这样做:

INSERT INTO `contacts` (lastName, email, firstName)
VALUES (Smith, JohnSmith@googlemail.com, John);
Enter fullscreen mode Exit fullscreen mode

而且这样做也行得通,因为第一部分中指定的列顺序仍然与第二部分中的数据相匹配。(请注意,将列的顺序与它们在表格中的显示顺序不同并不是一个好的做法,这只是为了演示目的。)

需要注意的是,我们的表格有 4 列,但我们只添加了 3 个值,ID 去哪儿了?

通常情况下(包括本例中),表中的 ID 会设置为“自动递增”。

这意味着它会自动在此处添加一个比表当前最大索引值大 1 的值。

事实上,我们现在可以使用 SQL 读取表数据来检查 INSERT 语句的结果。

R - 阅读

读取(SELECT)——从表中检索数据。图示包含一条 SQL SELECT 语句和一个数据表,表格下方显示 3 条记录,每条记录上方都有一个放大镜图标。配色方案和风格采用霓虹粉、黄、红、绿。

一旦表中有了数据,我们就需要能够检索这些数据。

为此,我们使用SELECTSQL。

最简单的语句如下SELECT所示:

SELECT * FROM `contacts`;
Enter fullscreen mode Exit fullscreen mode

*符号是“每一列”的简写。

这相当于:

SELECT id, firstName, lastName, email FROM `contacts`;
Enter fullscreen mode Exit fullscreen mode

我们来看一下数据。

ID 电子邮件
1 玛丽 西蒙斯 mary.s@hotmail.com
2 弗雷德 格里菲斯 fredgriffith@protonmail.com
3 约翰 史密斯 JohnSmith@googlemail.com

如果你还记得的话,我们在添加 John 的记录时没有指定 ID,但由于自动递增,我们自动为该行/记录分配了一个 ID 号。

就这样,我们已经成功地向表格中添加了一行并检索了信息!

但是,如果有人更改了电子邮件地址怎么办?我们如何更新记录?

U - 更新

更新 - 表格数据更新图示,包含 SQL 更新语句和下方的数据表,表格包含 3 条记录,指针指向第二行,并高亮显示两个字段。配色方案和样式采用霓虹粉、黄、红、绿。

我们刚刚发现弗雷德的电子邮件地址变成了freddy@gmail.com,所以我们需要修改一下!

要更改表中已有的记录,我们使用UPDATE命令。

现在,在我们能够有效地使用此命令之前,我们还必须引入第二个命令:WHERE

WHERE用于为我们的查询设置一些条件。可以把它想象成一个过滤器。

在这种情况下,我们要更新 ID 为“2”的记录,因为那是 Fred 的记录。

因此,我们的 UPDATE 语句将如下所示:

UPDATE `contacts`
SET email = freddy@gmail.com
WHERE id = 2;
Enter fullscreen mode Exit fullscreen mode

让我们来详细分析一下:

UPDATE 函数contacts
告诉数据库我们要更新哪个表。

SET field/column = “value”
告诉数据库我们要将某个列设置为新值。

WHERE
是我们另一个新命令,它允许我们指定我们只想更新 ID 为 2 的行中的列。

值得注意的是,如果我们发现弗雷德也更喜欢别人叫他“弗雷迪”,我们可以像这样同时更新这两列:

UPDATE 
  `contacts`
SET 
  firstName = Freddy,
  email = freddy@gmail.com
WHERE 
  id = 2;
Enter fullscreen mode Exit fullscreen mode

现在我们已经掌握了基本知识,WHERE我们还可以检查行是否已正确更新:

SELECT 
  * 
FROM 
  `contacts`
WHERE
  id = 2;
Enter fullscreen mode Exit fullscreen mode

你瞧瞧:

ID 电子邮件
2 弗雷迪 格里菲斯 freddy@gmail.com

所有内容均已更新!

现在是 CRUD 的最后一部分——删除!

D - 删除

删除 - 从表中删除数据。图示包含一条 SQL 删除语句和一个包含 3 条记录的数据表。第二行旁边有一个叉号和删除线,并以红色突出显示。配色方案和风格采用霓虹粉、黄、红和绿色。

删除只能在行级别进行(即,你不能直接删除firstName某人的记录……你需要使用一个变量UPDATE并将值设置为 true 才能执行此操作null)。

假设过了一段时间,弗雷迪决定不再保留在我们的联系人列表中,并希望删除他的数据。

我们把弗雷迪从桌子上移走吧。

删除语句非常简单明了:

DELETE FROM `contacts` WHERE id = 2;
Enter fullscreen mode Exit fullscreen mode

让我们再来分析一下:

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