Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에서 다른 테이블과 일치하는 테이블을 생성하시겠습니까?

<시간/>

MySQL에서 다른 테이블과 일치하는 테이블을 생성하려면 LIKE 연산자와 함께 CREATE TABLE 명령을 사용하십시오. 구문은 다음과 같습니다 -

yourOldTableName과 같은 yourNewTableName 테이블 생성

위의 구문은 테이블의 구조를 생성합니다.

모든 레코드를 원하면 INSERT INTO......SELECT *FROM 명령을 사용하십시오. 구문은 다음과 같습니다 -

yourNewTableName에 삽입하고 *from yourOldTableName을 선택합니다.

오래된 테이블과 일부 데이터가 있습니다 -

mysql> Create table WholeWordMatchDemo −> ( −> Words varchar(200) −> );쿼리 OK, 영향을 받은 행 0개(0.84초)

먼저 테이블 구조를 생성합니다. 쿼리는 다음과 같습니다 -

mysql> Create table NewTableDuplicate Like WholeWordMatchDemo;Query OK, 영향을 받는 행 0개(0.62초)

이제 show 명령을 사용하여 테이블 구조가 생성되었는지 여부를 확인할 수 있습니다. 쿼리는 다음과 같습니다 -

mysql> 테이블 NewTableDuplicate 생성 표시

다음은 출력입니다 -

+-------------------+-------------------------- -------------------------------------------------- -------------------------------------------------- ---------------+| 테이블 | 테이블 생성 |+-------------------+-------------------------- -------------------------------------------------- -------------------------------------------------- ---------------+| NewTable중복 | CREATE TABLE `newtableduplicate` (`Words` varchar(200) DEFAULT NULL) ENGINE =InnoDB DEFAULT CHARSET =utf8mb4 COLLATE =utf8mb4_0900_ai_ci |+-------------------+-- -------------------------------------------------- -------------------------------------------------- ---------------------------------------+1 행 세트(0.00초) 

이름이 'NewTableDuplicate'인 새 테이블의 모든 레코드를 복사합니다. 모든 데이터를 새 테이블에 복사하는 쿼리는 다음과 같습니다. −

mysql> Insert into NewTableDuplicate select *from WholeWordMatchDemo;Query OK, 3개의 행이 영향을 받았습니다(0.19초) 레코드:3 중복:0 경고:0

이제 SELECT 문의 도움으로 모든 레코드가 새 테이블에 있는지 여부를 확인할 수 있습니다. 쿼리는 다음과 같습니다 -

mysql> select *from NewTableDuplicate;

다음은 출력입니다 -

+----------------------+| 단어 |+----------------------+| 내 이름은 존 || 캐롤 || 내 이름은 존슨 |+----------------------+3행 세트(0.00초)

기존 테이블에 동일한 레코드가 있는지 확인 -

mysql> WholeWordMatchDemo에서 *선택;

다음은 출력입니다 -

+----------------------+| 단어 |+----------------------+| 내 이름은 존 || 캐롤 || 내 이름은 존슨 |+----------------------+3행 세트(0.00초)