MySQL INSERT INTO table VALUES.. vs INSERT INTO table SET
嘻嘻发布于2022-04-22
浏览在MySQL中其实还有一种插入数据的方式那就是insert…set语法,那这种和insert into 语法有什么区别,两者的写入性能又如何呢?
INSERT INTO table (a, b, c) VALUES (1,2,3)
INSERT INTO table SET a=1, b=2, c=3
据我所知,这两种语法是等价的。第一个是SQL标准,第二个是MySQL的扩展。因此,它们在性能方面应该完全相同。
根据官方http://dev.mysql.com/doc/refman/5.6/en/insert.html 页面的说明
INSERT将新行插入到现有表中, INSERT ... VALUES 和 INSERT ... SET根据显式指定的值设置语句插入行的形式。INSERT ... SELECT 形式插入从另一个或多个表中选择的行。如果要插入的行会导致唯一索引或主键中出现重复值,则INSERT with ON DUPLICATE KEY UPDATE子句可以更新现有行。