Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에서 열의 기본값을 어떻게 설정합니까?

<시간/>

기본값을 설정하려면 DEFAULT 키워드를 사용하십시오.

먼저 테이블을 생성하겠습니다 -

mysql> create table DemoTable758 (
   Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
   FirstName varchar(100)
);
Query OK, 0 rows affected (0.66 sec)

다음은 열의 기본값을 설정하는 쿼리입니다 -

mysql> alter table DemoTable758 add column Colors ENUM('RED','GREEN','BLUE','ORANGE','YELLOW') DEFAULT 'YELLOW';
Query OK, 0 rows affected (0.44 sec)
Records: 0 Duplicates: 0 Warnings: 0

다시 한번 테이블 설명을 확인해보자 -

mysql> desc DemoTable758;

그러면 다음과 같은 출력이 생성됩니다. -

+-----------+----------------------------------------------+------+-----+---------+----------------+
| Field     | Type                                         | Null | Key | Default | Extra          |
+-----------+----------------------------------------------+------+-----+---------+----------------+
| Id        | int(11)                                      | NO   | PRI | NULL    | auto_increment |
| FirstName | varchar(100)                                 | YES  |     | NULL    |                |
| Colors    | enum('RED','GREEN','BLUE','ORANGE','YELLOW') | YES  |     | YELLOW  |                |
+-----------+----------------------------------------------+------+-----+---------+----------------+
3 rows in set (0.00 sec)

삽입 명령을 사용하여 테이블에 일부 레코드를 삽입하십시오. 여기서는 FirstName이 "John"인 두 번째 열의 값을 삽입하지 않았습니다. 기본값 "YELLOW"가 거기에 배치됩니다 -

mysql> insert into DemoTable758(FirstName) values('John');
Query OK, 1 row affected (0.25 sec)
mysql> insert into DemoTable758(FirstName,Colors) values('Carol','RED');
Query OK, 1 row affected (0.17 sec)

select 문을 사용하여 테이블의 모든 레코드 표시 -

mysql> select *from DemoTable758;

그러면 다음과 같은 출력이 생성됩니다. -

+----+-----------+--------+
| Id | FirstName | Colors |
+----+-----------+--------+
|  1 | John      | YELLOW |
|  2 | Carol     | RED    |
+----+-----------+--------+
2 rows in set (0.00 sec)