DB Bulkinsert 하기
- CSV 파일을 통해서 INSERT 를 시도해보자 10만 건 정도의 테스트 자료가 필요했다.
테이블 구조
+-----------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+--------------+------+-----+---------+-------+
| ID | varchar(36) | NO | PRI | NULL | |
| TITLE | varchar(50) | NO | | NULL | |
| CONTENT | varchar(500) | NO | | NULL | |
| AUTHOR | varchar(30) | NO | | NULL | |
| COLUMNS | bigint | YES | | NULL | |
| COLUMNS_key | int | YES | | NULL | |
| CREATE_DATETIME | timestamp | NO | | NULL | |
| UPDATE_DATETIME | timestamp | NO | | NULL | |
+-----------------+--------------+------+-----+---------+-------+
- 위의 테이블의 자료들을 다 넣어줘야 하므로 아래와 같은 파이썬 코드가 나온다.
파이썬 쿼리
import sys
import uuid
sys.stdout = open('query.csv', 'w')
for i in range(100000):
insertQuery = str(uuid.uuid1()) + ', 6 ,' + "content ," + "web ," + "1 ," + str(i) + ", 2021-04-18 18:17:30 ," + "2021-04-18 18:17:30"
print(insertQuery)
sys.stdout.close()
Login Option
mysql --local-infile=1 -uroot -padmin
명령어
LOAD DATA LOCAL INFILE 'query.csv'
INTO TABLE CARD FIELDS TERMINATED BY ','
LINES TERMINATED BY '\n';
DB 확인