在 SQL 中,可以使用 INSERT INTO ... SELECT
语句从单行数据创建多行数据。具体来说,该语句将一个表(源表)中的数据插入到另一个表(目标表)中,使得目标表中的每一行都包含源表中的一行数据。
以下是一个示例:
-- 创建一个测试数据表
CREATE TABLE source_table (
id INT PRIMARY KEY,
name VARCHAR(255),
age INT
);
-- 创建一个目标表,具有与源表相同的结构
CREATE TABLE target_table (
id INT PRIMARY KEY,
name VARCHAR(255),
age INT
);
-- 从源表创建目标表,将源表的一行数据插入到目标表的每一行
INSERT INTO target_table (id, name, age)
SELECT id, name, age
FROM source_table;
在这个示例中,我们首先创建了一个名为 source_table
的表,包含三列:id
、name
和 age
。然后我们创建了一个名为 target_table
的表,具有与 source_table
相同的结构。接下来,我们使用 INSERT INTO ... SELECT
语句将源表中的每一行数据插入到目标表中。这将从源表中选择 id
、name
和 age
列,并将它们插入到目标表的每一行中。
如果需要创建更复杂的表结构,则可以使用 UNION ALL
或其他方法将多个单行数据组合成一个多行数据集。
领取专属 10元无门槛券
手把手带您无忧上云