数据库logo

数据库设计

由Rikky提供

所有类别:

数据库基础 (文章图片)

数据库基础

用简单的术语设计数据库

数据库恢复 (文章图片)

数据库恢复

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

SQL 查询示例 (文章图片)

SQL 查询示例

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

数据库示例 (文章图片)

数据库示例

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

项目新闻 (文章图片)

项目新闻

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

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

SQL 训练与示例:如何编写 SQL 命令以将数据添加到表中?

我用简单的话语解释如何将数据插入数据库表,没有任何废话。INSERT INTO 命令很简单!它适用于 MySQL、PostgresQL、MS SQL、SQLite、Oracle、MariaDB 和其他 SQL 数据库管理系统。

SQL 中的 INSERT 命令用于向表中添加新行:

INSERT INTO tableName
  (field1, field2, field3) 
VALUES
  (value1, value2, value3);

这字面意思是:“插入到表 名称(通过逗号列出字段)值(通过逗号列出值)”。

注意值必须与字段的顺序相同,以便值能被记录到正确的字段中。同时,字段数量和值的数量必须匹配,否则将会出现错误。

例如,如果我们有一个联系人表,我们想要添加一个包含字段 name、website 和 telegram 的新记录,我的命令将如下所示:

INSERT INTO contacts 
  (name, website, telegram) 
VALUES
  ('Rick', 'fullstack-freelancer.ru', '@fullstackfreelancer');

如何通过一个 INSERT 命令将多个行插入 SQL 表中?

SQL 允许你使用一个 INSERT 命令将多个记录添加到表中。这在你需要快速加载大量数据条目时特别有用。语法如下:

INSERT INTO tableName
  (field1, field2, field3)
VALUES
  (value1a, value2a, value3a),
  (value1b, value2b, value3b),
  (value1c, value2c, value3c);

也就是说,我们保持字段不变,并在 VALUES 后列出我们想要添加的记录数量,为其指定我们在 INSERT INTO 后指定的字段的值。

如果在查询中没有指定在表中存在的所有字段,则在添加的记录中,这些字段将包含默认值(在创建表时设置)。如果这些未指定的字段中有任何一个是必填的,则 SQL 查询将会出现错误。

如何在 SQL 中插入 NULL 值以添加记录?

在向表中添加数据时,如果你想要留下某个字段为空,可以使用 NULL 值来表示该字段。例如,如果 website 字段可以留空,命令将如下所示:

INSERT INTO contacts 
  (name, website, telegram) 
VALUES 
  ('Rick', NULL, '@fullstackfreelancer');

注意,如果该字段有“NOT NULL”标记(在创建表时设置),则 SQL 查询将会出现错误。

如何在 SQL 中从另一张表插入数据?

INSERT 命令可以与 SELECT 结合使用,将数据从一张表添加到另一张表。这使得你可以在不需要深入了解其内容的情况下移动或复制数据。从一张表到另一张表插入数据的 SQL 查询示例如下:

INSERT INTO targetTableName
  (field1, field2)
SELECT
  sourceTableField1, sourceTableField2
FROM
  sourceTableName
WHERE
  conditions;

例如,如果我们有一个 old_users 表,而我们想要将所有年龄超过 30 岁的用户复制到一个 new_users 表中,命令将如下所示:

INSERT INTO new_users 
  (name, email) 
SELECT
  name, email 
FROM 
  old_users 
WHERE 
  age > 30;

这在数据库归档和处理大量信息时特别有用。

在 SQL 中插入数据时的错误处理

SQL 提供了多种方法来处理你试图插入具有其他记录中唯一(UNIQUE)字段值的情况。

SQL INSERT OR IGNORE - 忽略添加具有重复唯一值的记录

如果已存在相同唯一值的记录,SQL 将忽略此操作以避免错误。这在你想插入数据但又不希望由于重复值而发生错误时非常有用。

假设我们想要插入一个新用户,但如果该值已经为标记为唯一(UNIQUE - 在创建表时设置)的字段添加了 - 假设在我们的示例中是 email,我们只希望跳过插入。

使用 SQL 查询 INSERT OR IGNORE INTO 的示例:

INSERT OR IGNORE INTO users 
  (name, email)
VALUES 
  ('Rick', 'contact@fullstack-freelancer.com');

在这种情况下,如果与 email contact@fullstack-freelancer.com 关联的用户已经在表中存在,INSERT OR IGNORE 命令将忽略此插入尝试,并不会引发错误。但是,如果没有与指定 email 关联的用户,他们将成功添加到 users 表中。

如何在 SQL 中添加新记录或编辑现有记录? INSERT ON DUPLICATE KEY UPDATE

在前面的示例中,我们看到如何忽略添加包含在其他记录中唯一字段中已经存在的值的记录。

SQL 甚至允许我们在找到匹配的唯一值时编辑该记录!

使用 SQL 查询 INSERT ON DUPLICATE KEY UPDATE 的示例:

INSERT INTO users (
  id, 
  name, 
  email
) VALUES (
  1, 
  'Rick', 
  'contact@fullstack-freelancer.com'
) ON DUPLICATE KEY UPDATE 
  name = 'Rick', 
  email = 'contact@fullstack-freelancer.com';

这段代码 添加 新用户,如果 ID 1 不存在,或 更新 名称和 email,如果该 ID 的用户已经存在。

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

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

观看预告片
Где можно спроектировать базу данных? В 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崩溃并出现错误?让我告诉你如何在不丢失数据的情况下解决这个问题。 阅读文章