복붙노트

[SQL] MySQL의에서 일괄 삽입 작업을 수행하는 방법

SQL

MySQL의에서 일괄 삽입 작업을 수행하는 방법

나는 테이블에 입력 할 필요가 기록의 1 일대 수 있습니다. 쿼리에서이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 난 그냥 루프를 만들고 반복 당 하나 개의 레코드를 삽입해야 하는가? 아니면 더 좋은 방법은 무엇입니까?

해결법

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

    1.MySQL의 설명서에서

    MySQL의 설명서에서

    INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
    
  2. ==============================

    2.대부분의 시간, 당신은 MySQL 클라이언트에서 작동하지 않습니다와 함께 적절한 API를 일괄 삽입 사용한다.

    대부분의 시간, 당신은 MySQL 클라이언트에서 작동하지 않습니다와 함께 적절한 API를 일괄 삽입 사용한다.

    예를 들면 JDBC에서 :

    connection con.setAutoCommit(false); 
    PreparedStatement prepStmt = con.prepareStatement("UPDATE DEPT SET MGRNO=? WHERE DEPTNO=?");
    prepStmt.setString(1,mgrnum1);                 
    prepStmt.setString(2,deptnum1);
    prepStmt.addBatch();
    
    prepStmt.setString(1,mgrnum2);                        
    prepStmt.setString(2,deptnum2);
    prepStmt.addBatch();
    
    int [] numUpdates=prepStmt.executeBatch();
    

    http://publib.boulder.ibm.com/infocenter/db2luw/v8/index.jsp?topic=/com.ibm.db2.udb.doc/ad/tjvbtupd.htm

  3. ==============================

    3.

    Insert into table(col1,col2) select col1,col2 from table_2;
    

    HTTP : //dev.mysql.com/doc/refman/5.5/en/insert.html로 이동하시기 바랍니다

  4. ==============================

    4.데이터로드 쿼리가 훨씬 더 나은 옵션이 있지만, GoDaddy와 같은 일부 서버가 공유 그래서 호스팅에이 옵션을 제한이 infile이 두 옵션은 다음 왼쪽 일마다 반복 또는 일괄 삽입에 대한 기록을 삽입하지만, 쿼리는이를 초과하는 경우 일괄 삽입은 문자의 limitaion있다 나는 덩어리 옆 널빤지 배치 삽입의 데이터가이 행운의 남자의 database.best 설립 연결의 수를 최소화 삽입 제안 그래서 mysql을 설정 문자 수는 다음 쿼리는 충돌합니다

    데이터로드 쿼리가 훨씬 더 나은 옵션이 있지만, GoDaddy와 같은 일부 서버가 공유 그래서 호스팅에이 옵션을 제한이 infile이 두 옵션은 다음 왼쪽 일마다 반복 또는 일괄 삽입에 대한 기록을 삽입하지만, 쿼리는이를 초과하는 경우 일괄 삽입은 문자의 limitaion있다 나는 덩어리 옆 널빤지 배치 삽입의 데이터가이 행운의 남자의 database.best 설립 연결의 수를 최소화 삽입 제안 그래서 mysql을 설정 문자 수는 다음 쿼리는 충돌합니다

  5. ==============================

    5.MySQL은 당신이 INSERT 설명서 한 번에 여러 행을 삽입 할 수 있습니다

    MySQL은 당신이 INSERT 설명서 한 번에 여러 행을 삽입 할 수 있습니다

  6. from https://stackoverflow.com/questions/5526917/how-to-do-a-batch-insert-in-mysql by cc-by-sa and MIT license