INSERT INTO table VALUES ..
과 INSERT INTO table SET
의 주요 차이점은 무엇입니까?MySQL INSERT INTO 테이블 VALUE .. INSERT INTO 테이블 SET
예 :
INSERT INTO table (a, b, c) VALUES (1,2,3)
INSERT INTO table SET a=1, b=2, c=3
그리고 어떻게이 두 가지의 성능에 대한?
INSERT INTO table VALUES ..
과 INSERT INTO table SET
의 주요 차이점은 무엇입니까?MySQL INSERT INTO 테이블 VALUE .. INSERT INTO 테이블 SET
예 :
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 INTO table SET'을 사용하여 여러 값을 어떻게 INSERT합니까? 이것은 가능한가? – pixelfreak
무엇을 의미합니까? OP가 가지고있는 예제는 SET a = 1, b = 2, c = 3으로 이해할 수 있습니다. –
나는 여러 행을 INSERT했다. INSERT INTO 테이블 (a, b, c) VALUES (1,2,3), (4,5,6), (7,8,9); – pixelfreak
확장 기능은 삽입 및 업데이트를위한 유사한 구문을 허용하기위한 것입니다. 오라클에서 유사한 구문 트릭은 다음과 같습니다 구문 이후
UPDATE table SET (col1, col2) = (SELECT val1, val2 FROM dual)
특히 때, 성명에서 오류를 잡기 위해 수정 쉽게 쉽게이기 때문에 내가의 INSERT INTO table SET x=1, y=2
구문을 선호 (어쨌든 MySQL의에서) 동일 많은 열을 삽입합니다. 10 개 또는 15 개 이상의 열을 삽입해야한다면, 내 생각에 (x, y) VALUES (1,2)
구문을 사용하여 어떤 것을 혼합하는 것은 정말 쉽습니다.
다른 SQL 표준 간의 이식성이 문제가되면 INSERT INTO table (x, y) VALUES (1,2)
이 바람직합니다.
단일 쿼리에 여러 레코드를 삽입하려는 경우 INSERT INTO ... SET
구문이 작동하는 것처럼 보이지 않지만 다른 레코드는 작동합니다. 그러나 대부분의 실제적인 경우에는 레코드 세트를 통해 반복적으로 삽입을 수행합니다. 하나의 큰 쿼리를 작성하여 하나의 쿼리에서 테이블에 여러 행을 삽입하는 경우와 각 행마다 성능이 향상 될 수 있습니다. 정말로 모르겠다.
Code Complete와 McConnell의 가독성에 대한 지속적인 강조를 읽은 후 'INSERT INTO table SET'이 표준이 아니란 것은 불행한 것 같습니다. 훨씬 더 명확 해 보인다. 나는 내가 INSERT INTO 테이블 ([column name, column name b]) VALUES ([ 'value a', 'value b']) 구문을 사용해야 만 할 것이다. Postgres에게. – cluelesscoder
이 질문은 Kanye의 비디오처럼 바이러스에 감염되었습니다! – aMazing