INSERT INTO SELECT 문을 사용하여 이를 수행할 수 있습니다. 구문은 다음과 같습니다 -
INSERT INTO yourDatabaseName.yourTableName(SELECT *FROM yourDatabaseName.yourTableName);
위의 구문을 이해하기 위해 데이터베이스에 테이블을 만들고 다른 데이터베이스에 두 번째 테이블을 만듭니다.
데이터베이스 이름은 "bothinnodbandmyisam"입니다. 동일한 데이터베이스에 테이블을 생성해 보겠습니다. 쿼리는 다음과 같습니다 -
mysql> create table Student_Information -> ( -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, -> Name varchar(10), -> Age int -> ); Query OK, 0 rows affected (0.67 sec)
이제 insert 명령을 사용하여 테이블에 일부 레코드를 삽입할 수 있습니다. 쿼리는 다음과 같습니다 -
mysql> insert into Student_Information(Name,Age) values('Larry',30); Query OK, 1 row affected (0.20 sec) mysql> insert into Student_Information(Name,Age) values('Mike',26); Query OK, 1 row affected (0.19 sec) mysql> insert into Student_Information(Name,Age) values('Bob',26); Query OK, 1 row affected (0.12 sec) mysql> insert into Student_Information(Name,Age) values('Carol',24); Query OK, 1 row affected (0.15 sec)
이제 select 문을 사용하여 테이블의 모든 레코드를 표시할 수 있습니다. 쿼리는 다음과 같습니다 -
mysql> select *from Student_Information;
다음은 출력입니다 -
+----+-------+------+ | Id | Name | Age | +----+-------+------+ | 1 | Larry | 30 | | 2 | Mike | 26 | | 3 | Bob | 26 | | 4 | Carol | 24 | +----+-------+------+ 4 rows in set (0.00 sec)
다음은 두 번째 데이터베이스입니다 -
mysql> use sample; Database changed
이제 이 데이터베이스에 하나의 테이블만 만듭니다. 쿼리는 다음과 같습니다 -
mysql> create table Student_Table_sample -> ( -> StudentId int NOT NULL AUTO_INCREMENT, -> StudentName varchar(20), -> StudentAge int , -> PRIMARY KEY(StudentId) -> ); Query OK, 0 rows affected (0.57 sec)
다음은 테이블을 복사하는 명령입니다. 쿼리는 다음과 같습니다 -
mysql> insert into sample.Student_Table_sample(select *from bothinnodbandmyisam.Student_Information); Query OK, 4 rows affected (0.23 sec) Records: 4 Duplicates: 0 Warnings: 0
4개의 레코드가 영향을 받았으며 이는 테이블이 성공적으로 복사되었음을 의미합니다. 두 번째 테이블 'Student_Table_sample'의 모든 레코드를 표시하는 쿼리는 다음과 같습니다.
쿼리는 다음과 같습니다 -
mysql> select *from Student_Table_sample;
다음은 다른 데이터베이스에 있는 테이블의 레코드를 표시하는 출력입니다. -
+-----------+-------------+------------+ | StudentId | StudentName | StudentAge | +-----------+-------------+------------+ | 1 | Larry | 30 | | 2 | Mike | 26 | | 3 | Bob | 26 | | 4 | Carol | 24 | +-----------+-------------+------------+ 4 rows in set (0.00 sec)