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

MySQL에서 열(Column)에 설정된 기본값(DEFAULT)만 조회하는 방법

MySQL에서는 DEFAULT() 함수를 사용하면 테이블의 각 열에 미리 정의해 둔 기본값을 손쉽게 확인할 수 있습니다. 이번 글에서는 기본값이 설정된 테이블을 만들고, 실제 데이터와 무관하게 열의 기본값만 조회하는 방법을 단계별로 살펴보겠습니다.

1. 기본값이 설정된 테이블 생성

먼저 각 열에 기본값을 지정하여 테이블을 생성합니다.

mysql> create table DemoTable803(UserId int DEFAULT 101, UserName varchar(100) DEFAULT 'Chris');
Query OK, 0 rows affected (1.18 sec)

위 예제에서 UserId 열의 기본값은 101, UserName 열의 기본값은 'Chris'로 설정되었습니다.

2. 레코드 삽입하기

INSERT 명령으로 몇 개의 레코드를 추가합니다. 값을 명시하지 않은 열에는 자동으로 기본값이 채워집니다.

mysql> insert into DemoTable803 values(102,'Chris');
Query OK, 1 row affected (0.34 sec)
mysql> insert into DemoTable803(UserName) values('Mike');
Query OK, 1 row affected (0.48 sec)
mysql> insert into DemoTable803(UserId) values(103);
Query OK, 1 row affected (0.21 sec)
mysql> insert into DemoTable803 values();
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable803 values(110,'Robert');
Query OK, 1 row affected (0.33 sec)

3. 전체 레코드 확인

SELECT 문으로 테이블의 모든 레코드를 조회해 보겠습니다.

mysql> select *from DemoTable803;

실행 결과는 다음과 같습니다.

+--------+----------+
| UserId | UserName |
+--------+----------+
| 102    | Chris    |
| 101    | Mike     |
| 103    | Chris    |
| 101    | Chris    |
| 110    | Robert   |
+--------+----------+
5 rows in set (0.00 sec)

값을 입력하지 않은 행에는 기본값인 101'Chris'가 자동으로 저장된 것을 확인할 수 있습니다.

4. 기본값만 조회하는 방법

열에 설정된 기본값만 따로 확인하고 싶다면 DEFAULT(열이름) 함수를 사용하면 됩니다. 아래 쿼리처럼 LIMIT 1을 함께 사용하면 한 번만 출력되어 결과를 깔끔하게 볼 수 있습니다.

mysql> select default(UserId), default(UserName) from DemoTable803 limit 1;

실행 결과는 다음과 같습니다.

+-----------------+-------------------+
| default(UserId) | default(UserName) |
+-----------------+-------------------+
| 101             | Chris             |
+-----------------+-------------------+
1 row in set (0.00 sec)

정리

MySQL의 DEFAULT() 함수를 활용하면 테이블 구조를 직접 확인하지 않아도 각 열에 설정된 기본값을 빠르게 조회할 수 있습니다. 특히 대규모 테이블에서 스키마 정보를 간단히 점검하거나, 애플리케이션 로직에서 기본값을 참조해야 할 때 유용하게 활용할 수 있습니다.