INSERT INTO 用於向資料表新增資料列。提供兩種語法形式,支援指定欄位、預設值、自動遞增等彈性機制。
INSERT INTO table_name VALUES (value1, value2, value3, ...);
INSERT INTO table_name (column1, column2, column3, ...) VALUES (value1, value2, value3, ...);
+----+--------------+---------------------------+-------+---------+ | id | name | url | alexa | country | +----+--------------+---------------------------+-------+---------+ | 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘寶 | https://www.taobao.com/ | 13 | CN | | 3 | 菜鳥教程 | https://www.runoob.com/ | 4689 | CN | | 4 | 微博 | https://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | +----+--------------+---------------------------+-------+---------+
INSERT INTO Websites (name, url, alexa, country)
VALUES ('百度', 'https://www.baidu.com/', '4', 'CN');
執行後讀取 Websites 表:

新資料 id 自動分配為 6。
INSERT INTO Websites (name, url, country)
VALUES ('stackoverflow', 'https://stackoverflow.com/', 'IND');
執行後讀取 Websites 表:

新資料 id=7,alexa 為 NULL(或預設值)。
AUTO_INCREMENT;SQL Server:IDENTITY(1,1);PostgreSQL:SERIAL / IDENTITY;Oracle:SEQUENCE + 觸發器或 12c IDENTITY。SET IDENTITY_INSERT ON(SQL Server)或類似機制。INSERT INTO Websites (name, url, alexa, country)
VALUES
('SiteA', 'https://a.com', '100', 'US'),
('SiteB', 'https://b.com', '200', 'UK'),
('SiteC', 'https://c.com', '300', 'JP');
max_allowed_packet 而定。INSERT INTO target SELECT ... FROM source:跨表複製,詳見 INSERT INTO SELECT 章節。ON DUPLICATE KEY UPDATE:主鍵/唯一鍵衝突時轉更新,實現 Upsert。ON CONFLICT DO UPDATE、SQL Server MERGE、Oracle MERGE 為對應功能。