📜  创建表并从另一个表插入值 (1)

📅  最后修改于: 2023-12-03 14:50:16.507000             🧑  作者: Mango

创建表并从另一个表插入值

创建表并从另一个表中插入值是数据库中非常常见的操作之一,这对于开发人员来说非常重要。在本文中,我们将介绍如何使用 MySQL 和 PostgreSQL 在创建表时从另一个表中插入值。

MySQL 创建表并从另一个表中插入值

在 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 中选取 namecity 列,如下所示:

CREATE TABLE new_customers AS
SELECT name, city
FROM customers
WHERE state = 'CA';

上述语句将创建一个新表 new_customers,其中包含名为 namecity 的两个列,这些数据从 customers 表中的所有 state 值等于 'CA' 的记录中选择。

PostgreSQL 创建表并从另一个表中插入值

在 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 中选取 namecity 列,如下所示:

CREATE TABLE new_customers AS
SELECT name, city
FROM customers
WHERE state = 'CA';

上述语句将创建一个新表 new_customers,其中包含名为 namecity 的两个列,这些数据从 customers 表中的所有 state 值等于 'CA' 的记录中选择。

结论

在本文中,我们介绍了如何使用 MySQL 和 PostgreSQL 在创建表时从另一个表中插入值。这是开发人员在数据库中应该熟练掌握的重要技能之一。