INSERT¶
语法概要¶
INSERT INTO table_name [ ( column [, ... ] ) ] query
说明¶
向表中插入新行。
如果指定了列名列表,它必须与查询产生的列列表完全匹配。表中未出现在列名列表中的每一列都会填入 null 值。否则,如果未指定列列表,查询产生的列必须与被插入表中的列完全匹配。
示例¶
从 new_orders 表向 orders 表加载额外行:
INSERT INTO orders
SELECT * FROM new_orders;
向 cities 表插入单行:
INSERT INTO cities VALUES (1, 'San Francisco');
向 cities 表插入多行:
INSERT INTO cities VALUES (2, 'San Jose'), (3, 'Oakland');
使用指定列列表向 nation 表插入单行:
INSERT INTO nation (nationkey, name, regionkey, comment)
VALUES (26, 'POLAND', 3, 'no comment');
插入一行但不指定 comment 列。该列将为 null:
INSERT INTO nation (nationkey, name, regionkey)
VALUES (26, 'POLAND', 3);