분리자를 이용한 파일을 이용하여 데이터를 한번에 편하게 밀어 넣을 수 있는 방법이 있다.

샘플은 data.txt 는 탭으로 분리된 파일이고

하나의 라인은 '\n'으로 구분된다.

컬럼에 대해 별다른 정의가 없으니

테이블에 정의된 컬럼 개수와 순서대로 데이터가 들어갈 것이다.  

 

MariaDB [test_db]> LOAD DATA LOCAL INFILE '/home/data.txt' INTO TABLE test_table FIELDS TERMINATED BY '\t' LINES TERMINATED BY '\n';

데이터베이스명 : test_db

테이블명 : test_table

 

* primary key 설정

CREATE TABLE `test_table` (
  `id` varchar(15) NOT NULL,
  `title` text,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

*데이터 삽입 중복키 발생시 업데이트

insert into test_table value('id01', 'title-new') on duplicate key update title='title-new';

 

* SELECT 내용을 텍스트 파일로 저장하기

필드는 '\t'로 구분하고 라인은 '\n'로 구분한다.

생성된 파일은 find 로 찾는다.

MariaDB [test_db]> SELECT * INTO OUTFILE 'out.txt' FIELDS terminated by '\t' lines terminated by '\n' FROM snim_table;
Query OK, 1843 rows affected (0.02 sec)
MariaDB [test_db]> quit
Bye
root@ncpmicro:~# find / -name out.txt

 

+ Recent posts