SQL INSERT INTO SELECT 문
SQL INSERT INTO SELECT 테이블에 있는 어떤 값을 다른 테이블로 복사할 수 있다.
SQL INSERT INTO SELECT Syntax
table1의 모든 컬럼을 선택해서 이미 존재하는 table2로 복사한다.
SELECT * FROM table1;
table1에 있는 column_name(s) 컬럼을 table2로 복사
(column_name(s))
SELECT column_name(s)
FROM table1;
예:
Suppliers 테이블에서 컬럼 SupplierName, Country value를 Customers 테이블의 (CustomerName, Country)컬럼으로 복사한다.
INSERT INTO Customers (CustomerName, Country)
SELECT SupplierName, Country FROM Suppliers;
예2:
Suppliers 테이블 SupplierName, Country 컬럼에서 Country가 Germany인 것을 복사
INSERT INTO Customers (CustomerName, Country)
SELECT SupplierName, Country FROM Suppliers
WHERE Country='Germany';
Mysql database, table : import export
수 백만건에 달하는 양의 데이터를 백업 하거나 이관 해야 할 경우 한번에 넣고 빼기를 할 수 있는 방법이 없을까?
하고 고민을 하다가 mysql big data fast import 의 키워드로 검색을 하다보니 mysqldump로 하는 게 좋다는 이야기가 나오고 있어서 한번 찾아봤다.
찾아서 해보니... 600만건의 자료를 추출하는데 대략 10분, 넣는데 6분 정도의 시간이 소요되었다. 오홍... +_+)
참고사이트 : http://www.abbeyworkshop.com/howto/lamp/MySQL_Export_Backup/index.html
export 하기 : mysqldump 를 이용한 예
데이터베이스 전체를 추출하는 경우
mysqldump -u root -p guestdb > guestdb.sql
특정 테이블만 추출하는 경우
mysqldump -u root -p guestdb guestTbl > guestdb.sql
특정 테이블에 대한 drop sql 을 추가하려는 경우
mysqldump -p –user=username –add-drop-table guestdb guestTbl > guestTbl.sql
Enter password: ********
import 하기
데이터베이스 전체를 추출한 경우
$ mysql -u username -p < guestdb.sql
특정데이터베이스의 테이블만 추출한 경우
$ mysql -u username -p –database=guestdb < guestTbl.sql
'my_lesson > _SQL' 카테고리의 다른 글
SQL - CREATE INDEX (0) | 2016.02.25 |
---|---|
SQL - CREATE (0) | 2016.02.25 |
SQL - SELECT INTO (0) | 2016.02.25 |
MySQL DB 생성/조회/삭제 (0) | 2014.12.29 |
MySQL user 생성,권한,조회/삭제 (1) | 2014.12.29 |
댓글