복붙노트

[SQL] MySQL은 INSERT INTO 테이블 VALUES ... INSERT INTO 테이블 SET 대

SQL

MySQL은 INSERT INTO 테이블 VALUES ... INSERT INTO 테이블 SET 대

주요 INSERT INTO 테이블 값의 차이 .. 및 INSERT INTO 테이블 SET은 무엇인가?

예:

INSERT INTO table (a, b, c) VALUES (1,2,3)

INSERT INTO table SET a=1, b=2, c=3

그리고 어떻게이 두 가지의 성능에 대한?

해결법

  1. ==============================

    1.지금까지 내가 말할 수있는 두 구문은 동일합니다. 먼저 두 번째는 MySQL의의 확장, SQL 표준입니다.

    지금까지 내가 말할 수있는 두 구문은 동일합니다. 먼저 두 번째는 MySQL의의 확장, SQL 표준입니다.

    그들은 정확히 동일한 성능을 현명해야한다 그래서.

    http://dev.mysql.com/doc/refman/5.6/en/insert.html는 말합니다 :

  2. ==============================

    2.나는 확장이 삽입 및 업데이트에 대한 유사한 구문을 허용하기위한 것입니다 생각합니다. 오라클에서 유사한 구문 트릭은 다음과 같습니다

    나는 확장이 삽입 및 업데이트에 대한 유사한 구문을 허용하기위한 것입니다 생각합니다. 오라클에서 유사한 구문 트릭은 다음과 같습니다

    UPDATE table SET (col1, col2) = (SELECT val1, val2 FROM dual)
    
  3. ==============================

    3.신택스는 (어쨌든 MySQL의에) 상응 때문에 문에 수정이 쉽고 캐치 오류로 쉽게이기 때문에, 나는 열을 많이 삽입 특히, 삽입 INTO 테이블 SET X = 1, Y = 2 구문을 선호합니다. 당신이 10 개 또는 15 개 이상의 열을 삽입해야하는 경우, 그것은 내 의견으로는, VALUES (1, 2) 구문을 (x, y)를 사용하여 뭔가를 섞어 정말 쉽습니다.

    신택스는 (어쨌든 MySQL의에) 상응 때문에 문에 수정이 쉽고 캐치 오류로 쉽게이기 때문에, 나는 열을 많이 삽입 특히, 삽입 INTO 테이블 SET X = 1, Y = 2 구문을 선호합니다. 당신이 10 개 또는 15 개 이상의 열을 삽입해야하는 경우, 그것은 내 의견으로는, VALUES (1, 2) 구문을 (x, y)를 사용하여 뭔가를 섞어 정말 쉽습니다.

    SQL 다른 표준 사이의 이동성은 어쩌면 INSERT INTO 테이블 (X, Y) VALUES (1,2)이 바람직 할 것 인 문제가있는 경우.

    단일 쿼리에서 여러 레코드를 삽입 할 경우에, 그것은 INSERT INTO 아닌 것 같아 ... SET 구문이 작동합니다, 반면 다른 하나는 않습니다. 그러나 대부분의 실제 경우에, 당신은에 대한 쿼리 대, 어쩌면 하나 개의 쿼리에서 테이블에 행의 무리를 삽입하는 하나 개의 큰 쿼리를 작성 경우가있을 수 있지만, 어쨌든 삽입 할 레코드 집합을 통해 반복하고 각 행은 성능 향상이있을 수 있습니다. 정말 모르겠어요.

  4. from https://stackoverflow.com/questions/861722/mysql-insert-into-table-values-vs-insert-into-table-set by cc-by-sa and MIT license