数据库logo

数据库设计

由Rikky提供

所有类别:

数据库基础 (文章图片)

数据库基础

用简单的术语设计数据库

数据库恢复 (文章图片)

数据库恢复

修复常见错误而不丢失数据

SQL 查询示例 (文章图片)

SQL 查询示例

用简单的话语讲解 SQL 基础,SQL 操作符

数据库示例 (文章图片)

数据库示例

通过流行示例分析数据库架构。

项目新闻 (文章图片)

项目新闻

更新、新功能和其他事件。

如何在SQL中修改表记录中的数据:SQL更新查询

更新 SQL 记录,如何编写 SQL 命令以更改表中的行?

我解释了如何用简单的词、没有水分的方式编辑 SQL 数据库中的数据元组。UPDATE SET 命令很简单!适用于 MySQL、PostgresQL、MS SQL、SQLite、Oracle、MariaDB 和其他 SQL 数据库管理系统。

SQL 中的 UPDATE 命令用于修改表中的现有数据

它允许更新一行或多行,以及选定记录中的一个或多个字段。SQL 更新 SET 查询的语法如下:

UPDATE 
  tableName 
SET 
  field1 = value1,
  field2 = value2
WHERE 
  condition;

这字面意思是“更新表,设置新值给字段,在符合条件的记录中”。

如果未指定条件,则将更新表中的所有行!

因此,在大多数情况下,使用条件(WHERE)来限制更新的数据非常重要。

请注意,最后一个更新的字段与 WHERE 运算符之间不应有逗号,否则会出现错误!

例如,在我们的数据库中,有一个名为 products 的产品表,我们想要更改具有特定 id 的产品的价格。

为什么是 id?这是表中每一行的唯一编号。

在一个表中 不能有多个相同的 id,这使我们能够 保证 通过知道记录的 id,我们可以确切地更改该记录。

如何使用 SQL 命令按 ID 更新记录的示例:

要更新 ID 为 5 的产品的价格(price),SQL 查询将如下所示:

UPDATE products SET price = 200 WHERE id = 5;

在这种情况下,ID 为 5 的产品价格将更新为 200。

请注意,如果我们跳过 WHERE 条件,则表中所有产品的价格都会更新。

如何在 SQL 中更改记录中的多个字段?

使用 UPDATE 命令,我们可以更新多个字段。例如,如果我们想更新 ID 为 5 的产品的名称和价格,SQL 查询将如下:

UPDATE products SET name = 'Новый продукт', price = 200 WHERE id = 5;

如何根据条件在 SQL 中更新多个记录:

有时需要根据特定标准同时更新多行。例如,如果我们想将“电子产品”类别的所有产品(假设它的 id = 5)的价格提高 10%,我们可以使用以下查询:

UPDATE products SET price = price * 1.10 WHERE category_id = 5;

在这种情况下,类别 ID 为 5 的所有产品的价格都会增加。通过使用这样的条件,我们可以有效地大规模编辑数据库中的数据。

使用 SQL 中的子查询更新数据:

带有子查询的 SQL UPDATE 命令示例。当我们需要根据从另一张表提取的数据更新记录时,使用子查询可能会很有用。

例如,如果我们的折扣表 discounts 并且我们想根据当前折扣更新产品价格,那么查询可以如下所示:

UPDATE 
  products 
SET 
  price = price - (
  
    SELECT 
      discount 
    FROM 
      discounts 
    WHERE 
      products.id = discounts.product_id
      
  );

该查询更新每个产品的价格,使其减少相应折扣表中折扣的金额。

在 SQL 中使用事务更新数据

有时,更新需要大规模的数据筛选,为了确保数据库的完整性,将 UPDATE 命令包装在事务中是有意义的。这使得在出现错误时可以回滚更改。

事务允许将多个操作分组,使它们作为一个整体执行。如果事务中的某个操作失败,则可以回退整个事务,数据将保持在原始状态。

假设我们有一个表:账户,我们想将钱从一个账户转到另一个账户。这个过程涉及两个步骤:从发件人的账户中扣除金额并将相同的金额添加到收件人的账户中。

SQL 事务更新数据的示例:

BEGIN;

  UPDATE 
    accounts 
  SET 
    balance = balance - 100 
  WHERE 
    account_id = 1;

  UPDATE 
    accounts 
  SET 
    balance = balance + 100 
  WHERE 
    account_id = 2;

  -- 检查更新是否成功
  IF (SELECT balance FROM accounts WHERE account_id = 1) < 0 THEN
      ROLLBACK; -- 如果账户中资金不足,则回滚事务
  ELSE
      COMMIT; -- 如果一切顺利,则提交更改
      
END IF;

这是一个非常简单的示例,演示了事务的使用如何帮助避免许多潜在错误并确保数据库数据的完整性。

我们通过 BEGIN 命令开始事务。然后我们执行两个更新:减少发件人账户的余额并增加收件人账户的余额。之后,我们检查发件人账户中是否有足够的资金。如果在扣除后余额变为负数,我们会使用 ROLLBACK 回滚事务。如果一切顺利,我们将使用 COMMIT 命令确认更改。

我在哪里可以设计数据库?

尝试使用新的可视化构造器,称为数据库设计。简单方便的界面使您能够以图形模型的可视化方式设计关系数据库,您可以链接来自不同表的字段,指示它们之间的关系。让我们看看它是什么样的:

观看预告片
Где можно спроектировать базу данных? В Database Design!

数据库设计应用程序中的模式可以稍后导出为SQL转储,通过链接下载。转储文件可用于在任何正常的SQL数据库管理系统(DBMS)中重新创建关系数据库的确切结构,如MySQL。您甚至不需要为此编写SQL查询代码!

在数据库设计应用程序中工作是一种乐趣!

适用于专业人士和学生,用于组织存储和分析,以及可视化数据库模型以满足他们的项目需求。

在数据库设计中,您可以从浏览器进行工作,无需下载或安装任何东西!

转到数据库设计构造器

更多文章
和项目新闻:

新增:方便的表格和列选择用于关联,能够在深色主题和浅色主题之间切换,以及二步验证。

新增:方便的表格和列选择用于关联,能够在深色主题和浅色主题之间切换,以及二步验证。

项目新闻

尝试新的方便的表格选择功能进行关联!添加了表格搜索功能,现在您可以指定关联的列。喜欢浅色界面的朋友可以选择新的浅色主题。安全性得到了提高。 阅读文章

新增了共享设置!

新增了共享设置!

项目新闻

现在可以与团队或客户分享数据库模式!大家会对您提供的数据库模式形式感到兴奋,这已经得到验证! 阅读文章

新增:方便的表头颜色选择、表格组、可以为表格添加说明和复制表格的功能。改善了工作区的缩放。

新增:方便的表头颜色选择、表格组、可以为表格添加说明和复制表格的功能。改善了工作区的缩放。

项目新闻

为表格分配颜色后,可以迅速为另一张表格分配相同的颜色。每种颜色可以通过创建表格颜色组来命名。可以只显示一个表格组,隐藏其他组。表格的说明始终显示在表格上方。修复了缩放的bug。 阅读文章

新增了数据类型、扩展设置和外部导出,以及鼠标和触控板的灵敏度切换。

新增了数据类型、扩展设置和外部导出,以及鼠标和触控板的灵敏度切换。

项目新闻

现在选择数据类型变得更容易了,数据类型增加了,并且增加了提示。为了方便使用触控板,增加了同名模式。 阅读文章

如何在SQL中从表中获取数据:SQL查询SELECT FROM WHERE

如何在SQL中从表中获取数据:SQL查询SELECT FROM WHERE

SQL 查询示例

学习SQL与示例:如何编写SQL命令以从数据库中获取数据?我用简单的词语解释如何从数据库中提取信息,没有废话。命令SELECT FROM WHERE很简单!适用于MySQL,PostgreSQL,MS SQL,SQLite,Oracle,MariaDB和其他SQL数据库管理系统。 阅读文章

如何在 SQL 中向表中添加行:SQL INSERT INTO 语句

如何在 SQL 中向表中添加行:SQL INSERT INTO 语句

SQL 查询示例

通过示例学习 SQL:如何编写 SQL 命令以向表中添加数据?我用简单的语言解释如何将数据插入数据库表,没有任何废话。INSERT INTO 命令很简单!适用于 MySQL、PostgresQL、MS SQL、SQLite、Oracle、MariaDB 和其他 SQL 数据库。 阅读文章

如何在SQL中修改表记录中的数据:SQL更新查询

如何在SQL中修改表记录中的数据:SQL更新查询

SQL 查询示例

更新SQL记录,如何编写SQL命令以更改表中的行?我用简单的话解释如何编辑SQL数据库元组中的数据,没有多余的细节。UPDATE SET命令很简单!它适用于MySQL、PostgreSQL、MS SQL、SQLite、Oracle、MariaDB和其他SQL数据库管理系统。 阅读文章

如何在 SQL 中从表中删除数据:SQL 查询 DELETE FROM WHERE

如何在 SQL 中从表中删除数据:SQL 查询 DELETE FROM WHERE

SQL 查询示例

通过示例学习 SQL:如何编写 SQL 命令以从数据库表中删除一行?我用简单的语言解释 SQL 中的行删除,如何删除 SQL 记录,没有多余的信息。DELETE FROM WHERE 查询很简单!它适用于 MySQL、PostgreSQL、MS SQL、SQLite、Oracle、MariaDB 等其他 SQL 数据库管理系统。 阅读文章

关系数据库是几乎所有IT项目的组成部分之一。数据库的本质是什么?它们有什么用处?

关系数据库是几乎所有IT项目的组成部分之一。数据库的本质是什么?它们有什么用处?

数据库基础

为什么需要数据库?从编程的角度来看,什么是数据库?数据库中的数据结构,什么是“关系”,最后,为什么在数据库设计阶段要非常负责任地对待? 阅读文章

数据库设计基础:如何创建“一对一”关系(1:1),以及在什么情况下需要这种关系,简单的例子说明。

数据库设计基础:如何创建“一对一”关系(1:1),以及在什么情况下需要这种关系,简单的例子说明。

数据库基础

关系数据库课程,在线数据库培训。如何创建“一对一”(1:1)的关系,以及何时需要这种关系类型。学习关系数据库的结构,包含SQL查询的实例。 阅读文章

数据库设计基础:如何创建“多对多”(M:N)关系,以及何时需要这种类型的关系,简单明了的例子讲解。

数据库设计基础:如何创建“多对多”(M:N)关系,以及何时需要这种类型的关系,简单明了的例子讲解。

数据库基础

关系数据库课程,在线数据库学习。如何创建“多对多”(M:N)关系,以及何时需要这种类型的关系。通过SQL查询示例探索关系数据库的结构。 阅读文章

数据库设计基础:简单来说,数据规范化的含义、关系型数据库中关系的目的、“一对多”关系。

数据库设计基础:简单来说,数据规范化的含义、关系型数据库中关系的目的、“一对多”关系。

数据库基础

关系型数据库的课程,在线数据库学习。“一对多”关系(1:M),用简单的例子来解释。 阅读文章

MySQL无法启动:MySQL意外关闭错误

MySQL无法启动:MySQL意外关闭错误

数据库恢复

一切运作如常,突然MySQL崩溃并出现错误?让我告诉你如何在不丢失数据的情况下解决这个问题。 阅读文章