Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL SELECT 문으로 이미 생성된 테이블에 새로운 열(컬럼)을 추가하는 방법

MySQL에서 ALTER TABLE 없이 이미 생성된 테이블에 새로운 열을 추가하고 싶다면, SELECT 문에서 리터럴 값과 별칭(Alias)을 활용하는 방법을 사용할 수 있습니다. 이 방법은 실제 테이블 구조를 변경하지 않으면서 조회 결과에만 가상의 열을 만들어 줍니다.

1. 테이블 생성

먼저 예제로 사용할 테이블을 생성해 보겠습니다.

mysql> create table DemoTable
    -> (
    -> Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Name varchar(100),
    -> Age int
    -> );
Query OK, 0 rows affected (0.49 sec)

2. 데이터 삽입

INSERT 명령을 사용하여 테이블에 레코드를 추가합니다.

mysql> insert into DemoTable(Name,Age) values('Robert',24);
Query OK, 1 row affected (0.18 sec)

mysql> insert into DemoTable(Name,Age) values('Chris',22);
Query OK, 1 row affected (0.13 sec)

3. 전체 레코드 조회

SELECT 문으로 테이블의 모든 레코드를 확인합니다.

mysql> select *from DemoTable;

출력 결과

+----+--------+------+
| Id | Name   | Age  |
+----+--------+------+
| 1  | Robert | 24   |
| 2  | Chris  | 22   |
+----+--------+------+
2 rows in set (0.00 sec)

4. SELECT로 새로운 열 추가하기

아래는 SELECT 문을 실행하면서 새로운 열을 함께 출력하는 쿼리입니다. 문자열 리터럴 'US'와 AS 키워드를 사용해 별칭을 지정하면, 마치 테이블에 원래부터 존재했던 열인 것처럼 결과에 표시됩니다.

mysql> select Id,Name,Age,'US' AS DefaultCountryName from DemoTable;

출력 결과

+----+--------+------+--------------------+
| Id | Name   | Age  | DefaultCountryName |
+----+--------+------+--------------------+
| 1  | Robert | 24   | US                 |
| 2  | Chris  | 22   | US                 |
+----+--------+------+--------------------+
2 rows in set (0.00 sec)

참고: 이 방식은 실제 테이블에 물리적인 열을 추가하는 것이 아니라, 조회 결과에만 임시로 나타나는 가상 열을 만드는 것입니다. 테이블 구조 자체를 영구적으로 변경하려면 ALTER TABLE ... ADD COLUMN 문을 사용해야 합니다.