下面的 SQL 求分析

2020-05-11 22:54:55 +08:00
 wleexi

看到这样一段 sql,大概能看懂,想具体的学下,不知道该如何在搜索引擎搜素,来求点思路

insert into table_name(id,md5_1,sn,`gmt_create`,`gmt_modified`) 
select id,md5_1,sn ,`gmt_create`,now() from
(select 'id','md5_1','sn','gmt_create',now() union all
select 1111,null,null,null,null union all
select 111,'md5_1','sn3', null, null) as a;

1795 次点击
所在节点    程序员
6 条回复
wangsongyan
2020-05-12 00:44:46 +08:00
insert into select
yeqizhang
2020-05-12 00:50:29 +08:00
insert into select from,第一次见到这么用是用来拷贝一个表数据到另一个表……
levelworm
2020-05-12 01:08:40 +08:00
insert into select from, 我之前常用于建立临时表。。。
xuanbg
2020-05-12 01:12:12 +08:00
用 select 的结果集替代 values 的内容,一般用于倒腾数据、生成临时表记录和使用模板数据来生成记录。
aitiancai
2020-05-12 11:27:12 +08:00
会锁表吧,头两天从新闻上看的。
CRVV
2020-05-12 12:15:15 +08:00
https://www.postgresql.org/docs/12/sql-insert.html

把不必要的部分去掉,insert 的语法是
INSERT INTO table_name { DEFAULT VALUES | VALUES ( { expression | DEFAULT } [, ...] ) [, ...] | query }

最常见的是 INSERT INTO table_name VALUES (1,2,3);
这个等价于 INSERT INTO table_name SELECT 1,2,3;
当然这个 SELECT 可以是任意的查询

其实 SQL 里 VALUES 就是一个直接给出结果的查询,比如子查询也可以写 VALUES
SELECT * FROM (VALUES (1, 2, 3)) as foo;
SELECT * FROM (SELECT 1, 2, 3) as foo;

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/670734

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX