예, 다른 테이블의 테이블에 열을 추가할 수 있습니다. 먼저 두 개의 테이블을 생성해 보겠습니다. 테이블을 생성하는 쿼리는 다음과 같습니다 -
mysql> create table FirstTable -> ( -> UserId int, -> UserName varchar(20) -> ); Query OK, 0 rows affected (1.48 sec)
이제 두 번째 테이블을 만듭니다. 두 번째 테이블을 생성하는 쿼리는 다음과 같습니다. -
mysql> create table SecondTable -> ( -> UserId int, -> UserAge int -> ); Query OK, 0 rows affected (1.57 sec)
이제 첫 번째 테이블에 Age 열을 추가합니다. 먼저 Age 열을 추가한 다음 UPDATE 명령을 사용하여 이 Age 열을 SecondTable의 UserAge 열로 설정합니다. 쿼리는 다음과 같습니다 -
mysql> ALTER TABLE FirstTable ADD COLUMN Age TINYINT UNSIGNED DEFAULT 0; Query OK, 0 rows affected (1.53 sec) Records: 0 Duplicates: 0 Warnings: 0
이제 Age 열을 SecondTable의 UserAge 열로 설정하기 위해 첫 번째 테이블을 업데이트하는 쿼리가 있습니다. 쿼리는 다음과 같습니다 -
mysql> UPDATE FirstTable tbl1 -> INNER JOIN SecondTable tbl2 ON tbl1.UserId = tbl2.UserId -> SET tbl1.Age = tbl2.UserAge; Query OK, 0 rows affected (0.00 sec) Rows matched: 0 Changed: 0 Warnings: 0
이제 DESC 명령을 사용하여 첫 번째 테이블의 설명을 확인하십시오. 쿼리는 다음과 같습니다 -
mysql> desc FirstTable;
다음은 다른 테이블의 열을 성공적으로 추가했음을 표시하는 출력입니다 -
+----------+---------------------+------+-----+---------+-------+ | Field | Type | Null | Key | Default | Extra | +----------+---------------------+------+-----+---------+-------+ | UserId | int(11) | YES | | NULL | | | UserName | varchar(20) | YES | | NULL | | | Age | tinyint(3) unsigned | YES | | 0 | | +----------+---------------------+------+-----+---------+-------+ 3 rows in set (0.53 sec)