itsource

MySQL에서 배치 삽입하는 방법

mycopycode 2022. 9. 18. 10:18
반응형

MySQL에서 배치 삽입하는 방법

테이블에 입력해야 하는 레코드가 1개 이상 있습니다.질의에서 이를 수행하는 가장 좋은 방법은 무엇입니까?루프를 만들고 반복할 때마다 레코드를 하나씩 삽입해야 합니까?아니면 더 좋은 방법이 있을까요?

MySQL 설명서

VALUES 구문을 사용하는 INSERT 문은 여러 행을 삽입할 수 있습니다.이를 수행하려면 각각 괄호로 묶고 쉼표로 구분된 여러 열 값 목록을 포함합니다.예:

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

대부분의 경우 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.btupd.db2.udb.doc/ad/tjvbtupd.htm

데이터 파일 쿼리를 로드하는 것이 훨씬 더 좋은 옵션이지만 godaddy와 같은 일부 서버는 공유 호스팅에서 이 옵션을 제한합니다.따라서 남은 옵션은 2개뿐이며, 1개는 모든 반복 또는 배치 삽입에 대해 레코드를 삽입하는 것입니다.단, 쿼리가 mysql에서 설정된 이 문자 수를 초과하면 쿼리가 크래시됩니다.ggest insert data insert in chunks with batch insert. 데이터베이스와 확립된 접속 수를 최소화합니다.행운을 빈다 여러분

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

INSERT 문의 MySQL 문서를 참조하십시오.

mysql을 사용하면 여러 행을 동시에 삽입할 수 있습니다.

test_1 값에 삽입(24, 'B', '1990-12-07'), (25, 'C', '1990-12-08');

언급URL : https://stackoverflow.com/questions/5526917/how-to-do-a-batch-insert-in-mysql

반응형