📅  最后修改于: 2023-12-03 14:50:16.507000             🧑  作者: Mango
创建表并从另一个表中插入值是数据库中非常常见的操作之一,这对于开发人员来说非常重要。在本文中,我们将介绍如何使用 MySQL 和 PostgreSQL 在创建表时从另一个表中插入值。
在 MySQL 中,我们可以使用 CREATE TABLE... SELECT
语句来创建表并从一张存在的表中插入值。下面是该语法的示例:
CREATE TABLE new_table AS
SELECT column1, column2, ...
FROM existing_table
WHERE condition;
其中,new_table
是新表的名称,existing_table
是已存在的表的名称,column1, column2, ...
是要从现有表中选择的列的名称,condition
是要选取的记录的条件。
示例:
假设我们有一个名为 customers
的已存在的表,我们要创建一个名为 new_customers
的新表,并从 customers
中选取 name
和 city
列,如下所示:
CREATE TABLE new_customers AS
SELECT name, city
FROM customers
WHERE state = 'CA';
上述语句将创建一个新表 new_customers
,其中包含名为 name
和 city
的两个列,这些数据从 customers
表中的所有 state
值等于 'CA'
的记录中选择。
在 PostgreSQL 中,我们可以使用 CREATE TABLE... AS SELECT
语句来创建表并从一个现有表中插入值。下面是该语法的示例:
CREATE TABLE new_table AS
SELECT column1, column2, ...
FROM existing_table
WHERE condition;
其中,new_table
是新表的名称,existing_table
是已存在的表的名称,column1, column2, ...
是要从现有表中选择的列的名称,condition
是要选取的记录的条件。
示例:
假设我们有一个名为 customers
的已存在的表,我们要创建一个名为 new_customers
的新表,并从 customers
中选取 name
和 city
列,如下所示:
CREATE TABLE new_customers AS
SELECT name, city
FROM customers
WHERE state = 'CA';
上述语句将创建一个新表 new_customers
,其中包含名为 name
和 city
的两个列,这些数据从 customers
表中的所有 state
值等于 'CA'
的记录中选择。
在本文中,我们介绍了如何使用 MySQL 和 PostgreSQL 在创建表时从另一个表中插入值。这是开发人员在数据库中应该熟练掌握的重要技能之一。