반응형
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();
Insert into table(col1,col2) select col1,col2 from table_2;
다음으로 이동하십시오 : http://dev.mysql.com/doc/refman/5.5/en/insert.html
데이터 인 파일 쿼리로드가 훨씬 더 나은 옵션이지만 godaddy와 같은 일부 서버는 공유 호스팅 에서이 옵션을 제한하므로 두 가지 옵션 만 남으면 하나의 반복 또는 일괄 삽입마다 레코드를 삽입하지만 쿼리를 초과하면 일괄 삽입에 문자 제한이 있습니다 mysql에 설정된 문자 수 다음 쿼리가 중단됩니다. 따라서 일괄 삽입을 사용하여 청크에 데이터를 삽입하는 것이 좋습니다. 이는 데이터베이스로 설정된 연결 수를 최소화합니다.
mysql을 사용하면 한 번에 여러 행을 삽입 할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/5526917/how-to-do-a-batch-insert-in-mysql
반응형
'IT story' 카테고리의 다른 글
MySQL 잘못된 날짜 시간 값 : '0000-00-00 00:00:00' (0) | 2020.07.12 |
---|---|
다른 점을 기준으로 점 회전 (2D) (0) | 2020.07.12 |
ASP.NET MVC 조건부 유효성 검사 (0) | 2020.07.11 |
std :: unique_ptr 멤버와 함께 사용자 정의 삭제기를 사용하려면 어떻게합니까? (0) | 2020.07.11 |
패턴 앞에 줄 바꿈을 삽입하는 방법은 무엇입니까? (0) | 2020.07.11 |