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

MySQL 기존 테이블에 기본값(DEFAULT)이 있는 열 추가하는 방법

ALTER 명령문을 사용하면 기존 테이블에 새로운 열(컬럼)을 추가하면서 동시에 해당 열의 기본값(DEFAULT)까지 함께 지정할 수 있습니다. 이렇게 하면 이후 데이터를 삽입할 때 해당 열에 값이 명시되지 않아도 자동으로 기본값이 입력됩니다.

기본 문법

기본값이 있는 열을 추가하는 기본적인 문법은 다음과 같습니다.

ALTER TABLE table_name ADD (column_name datatype DEFAULT data);
  • table_name : 열을 추가할 대상 테이블의 이름
  • column_name : 새로 추가할 열의 이름
  • datatype : 해당 열의 데이터 타입 (예: INT, VARCHAR 등)
  • DEFAULT data : 값이 지정되지 않았을 때 자동으로 저장될 기본값

실제 예제

아래 예제에서는 ALTER 명령문을 사용하여 'Student' 테이블에 'City'라는 열을 추가하고, 기본값을 'DELHI'로 지정하는 과정을 보여줍니다.

mysql> ALTER TABLE Student ADD (City VARCHAR(10) DEFAULT 'DELHI');

Query OK, 5 rows affected (0.33 sec)
Records: 5 Duplicates: 0 Warnings: 0

명령이 성공적으로 실행되면 'Student' 테이블에 'City' 열이 새롭게 추가됩니다.

DESCRIBE로 기본값 확인하기

DESCRIBE 명령문을 사용하면 테이블 구조와 함께 각 열의 기본값(Default)을 확인할 수 있습니다.

mysql> DESCRIBE Student;

+---------+--------------+------+-----+---------+-------+
| Field   | Type         | Null | Key | Default | Extra |
+---------+--------------+------+-----+---------+-------+
| RollNO  | int(11)      | YES  |     | NULL    |       |
| Name    | varchar(20)  | YES  |     | NULL    |       |
| Class   | varchar(15)  | YES  |     | NULL    |       |
| Grade   | varchar(10)  | YES  |     | NULL    |       |
| Address | varchar(25)  | YES  |     | NULL    |       |
| Phone   | int(11)      | YES  |     | NULL    |       |
| Email   | varchar(20)  | YES  |     | NULL    |       |
| City    | varchar(10)  | YES  |     | DELHI   |       |
+---------+-------------+------+-----+---------+--------+

8 rows in set (0.04 sec)

위 결과에서 확인할 수 있듯이, 새로 추가된 'City' 열의 Default 항목이 다른 열들과 달리 NULL이 아닌 'DELHI'로 설정된 것을 볼 수 있습니다. 즉, 앞으로 학생 정보를 삽입할 때 City 값을 따로 지정하지 않으면 자동으로 'DELHI'가 저장됩니다.