📜  从旧表创建新表 - SQL (1)

📅  最后修改于: 2023-12-03 15:06:36.704000             🧑  作者: Mango

从旧表创建新表 - SQL

从旧表创建新表是在SQL中进行表的拷贝和重命名的常见操作。可以使用SELECT INTO语句或CREATE TABLE AS语句来实现从旧表创建新表的操作。以下是如何使用这两个语句创建新表的例子:

使用SELECT INTO语句

SELECT INTO语句可以将结果集存储到新表中。以下是使用SELECT INTO语句创建新表的例子:

SELECT *
INTO new_table
FROM old_table;

以上代码会创建一个名为“new_table”的新表,该表与“old_table”具有相同的列和数据。如果您需要更改新表的列名或数据类型,可以使用SELECT INTO语句的子句来指定目标列的名称和数据类型。以下是一个修改列名称和数据类型的示例:

SELECT column1 AS new_column1, column2 AS new_column2, CAST(column3 AS VARCHAR(100)) AS new_column3
INTO new_table
FROM old_table;

以上代码会创建一个名为“new_table”的新表,该表包含列“new_column1”、“new_column2”和“new_column3”。它们分别使用SELECT INTO子句中指定的名称和数据类型。

使用CREATE TABLE AS语句

CREATE TABLE AS语句可以将结果集存储到新表中,与SELECT INTO语句类似。以下是使用CREATE TABLE AS语句创建新表的例子:

CREATE TABLE new_table AS
SELECT *
FROM old_table;

以上代码会创建一个名为“new_table”的新表,该表与“old_table”具有相同的列和数据。

如果您需要更改新表的列名或数据类型,可以在SELECT语句中指定目标列的名称和数据类型。以下是一个修改列名称和数据类型的示例:

CREATE TABLE new_table AS
SELECT column1 AS new_column1, column2 AS new_column2, CAST(column3 AS VARCHAR(100)) AS new_column3
FROM old_table;

以上代码会创建一个名为“new_table”的新表,该表包含列“new_column1”、“new_column2”和“new_column3”。它们分别使用SELECT语句中指定的名称和数据类型。

从旧表创建新表是SQL中常见的操作之一。您可以使用SELECT INTO或CREATE TABLE AS语句完成此操作,并根据需要将列名称和数据类型修改为目标值。