语法
下面是 "INSERT INTO" 的常见用法——手动插入数值。其后紧跟表名以及一个可选的列名列表,用于指定要填充数据的列。然后使用 "VALUES" 关键字跟上您要插入的实际值。
INSERT INTO table_name (column_a, column_b)
VALUES ("value_a", "value_b");
技术支持
将唯一记录 INSERT 到新表中
要将现有表中的数据复制到新表,您可以使用 "INSERT INTO SELECT DISTINCT" 模式。在 "INSERT INTO" 之后,指定目标表的名称——如下例中的 organizations。
然后选择需要从源表复制的列——此处为 unviversity_professors。使用 "DISTINCT" 关键字可仅复制不重复的机构。
INSERT INTO organizations
SELECT DISTINCT organization,
organization_sector
FROM university_professors;
技术支持
Output: INSERT 0 1287
技术支持
上述输出表示只有 1287 条记录被插入到 "organizations" 表中。
另一方面,如果不使用 "DISTINCT",直接执行 "INSERT INTO SELECT",则重复记录也会被复制过去。
INSERT INTO organizations
SELECT organization,
organization_sector
FROM university_professors;
技术支持
Output: INSERT 0 1377
技术支持
将数据迁移到新表
让我们把数据迁移到新表中。您将使用以下模式:
INSERT INTO ...
SELECT DISTINCT ...
FROM ...;
技术支持
这可以分为两部分:
第一部分:
SELECT DISTINCT column_name1, column_name2, ...
FROM table_a;
技术支持
这将从表 table_a 中选择所有不重复的值——对您来说不算新内容。
INSERT INTO professors
SELECT DISTINCT firstname, lastname, university_shortname
FROM university_professors;
SELECT *
FROM professors;
技术支持
第二部分:
INSERT INTO table_b ...;
技术支持
将这部分附加到第一部分之后,这样就能把 table_a 中所有不重复的行插入到 table_b。
最后一点:在您补全所有空白后,请一次性运行全部代码,这一点很重要。
INSERT INTO affiliations
SELECT DISTINCT firstname, lastname, function, organization
FROM university_professors;
SELECT *
FROM affiliations;
技术支持
亲自试一试。
如需进一步了解 SQL 中的关系型数据库,请观看我们课程 Introduction to Relational Databases in SQL 中的这段视频。
本内容选自 DataCamp 的 Timo Grossenbacher 所授课程 Introduction to Relational Databases in SQL。
语法
下面是 "INSERT INTO" 的常见用法——手动插入数值。其后紧跟表名以及一个可选的列名列表,用于指定要填充数据的列。然后使用 "VALUES" 关键字跟上您要插入的实际值。
将唯一记录 INSERT 到新表中
要将现有表中的数据复制到新表,您可以使用 "INSERT INTO SELECT DISTINCT" 模式。在 "INSERT INTO" 之后,指定目标表的名称——如下例中的
organizations。然后选择需要从源表复制的列——此处为
unviversity_professors。使用 "DISTINCT" 关键字可仅复制不重复的机构。上述输出表示只有 1287 条记录被插入到 "organizations" 表中。
另一方面,如果不使用 "DISTINCT",直接执行 "INSERT INTO SELECT",则重复记录也会被复制过去。
将数据迁移到新表
让我们把数据迁移到新表中。您将使用以下模式:
这可以分为两部分:
第一部分:
这将从表
table_a中选择所有不重复的值——对您来说不算新内容。第二部分:
将这部分附加到第一部分之后,这样就能把
table_a中所有不重复的行插入到table_b。最后一点:在您补全所有空白后,请一次性运行全部代码,这一点很重要。
亲自试一试。
如需进一步了解 SQL 中的关系型数据库,请观看我们课程 Introduction to Relational Databases in SQL 中的这段视频。
本内容选自 DataCamp 的 Timo Grossenbacher 所授课程 Introduction to Relational Databases in SQL。