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

MySQL에서 테이블 생성 시 열의 DEFAULT(기본값) 설정 방법

MySQL에서 테이블을 생성할 때 특정 열에 기본값을 설정하려면 DEFAULT 키워드를 사용하면 됩니다. 기본값이 설정된 열에는 INSERT 문에서 해당 열의 값을 지정하지 않아도 자동으로 기본값이 입력됩니다.

테이블 생성 시 DEFAULT 값 설정하기

먼저 예제를 통해 테이블을 생성해 보겠습니다. 아래와 같이 테이블을 생성하는 과정에서 각 열에 DEFAULT 값을 지정할 수 있습니다.

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'로 설정되었습니다.

데이터 삽입 및 기본값 자동 적용 확인

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)

SELECT 문을 사용하여 테이블의 모든 레코드를 조회합니다.

mysql> select *from DemoTable803;

위 쿼리는 다음과 같은 결과를 출력합니다.

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

결과를 살펴보면 UserName만 지정한 두 번째 레코드에는 UserId가 101로, UserId만 지정한 세 번째 레코드에는 UserName이 'Chris'로 자동 입력된 것을 확인할 수 있습니다. 또한 어떤 값도 지정하지 않은 네 번째 레코드에는 두 열 모두 기본값이 그대로 적용되었습니다.

DEFAULT() 함수로 기본값 조회하기

MySQL에서는 DEFAULT() 함수를 사용하여 열에 설정된 기본값만 별도로 조회할 수 있습니다. 다음은 기본값만 출력하는 쿼리입니다.

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

위 쿼리는 다음과 같은 결과를 출력합니다.

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