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

MySQL에서 TRUE/FALSE 값을 0과 1로 표시하는 방법

MySQL에서 참/거짓 값을 다룰 때는 컬럼 타입을 BOOLEAN으로 설정하는 것이 가장 간단한 방법입니다. MySQL은 내부적으로 BOOLEAN을 TINYINT(1)의 별칭(alias)으로 처리하기 때문에, true는 1, false는 0으로 자동 저장되고 조회 시에도 숫자 형태로 표시됩니다.

1. 테이블 생성

BOOLEAN 타입의 컬럼을 포함하는 테이블을 생성해 보겠습니다.

mysql> create table DemoTable2035
    -> (
    -> Id int NOT NULL AUTO_INCREMENT,
    -> Name varchar(20),
    -> isMarried boolean,
    -> PRIMARY KEY(Id)
    -> );
Query OK, 0 rows affected (0.72 sec)

2. 데이터 삽입

INSERT 명령을 사용하여 true와 false 값을 가진 레코드를 삽입합니다.

mysql> insert into DemoTable2035(Name,isMarried) values('Chris',true);
Query OK, 1 row affected (0.10 sec)

mysql> insert into DemoTable2035(Name,isMarried) values('David',false);
Query OK, 1 row affected (0.08 sec)

mysql> insert into DemoTable2035(Name,isMarried) values('Bob',true);
Query OK, 1 row affected (0.11 sec)

mysql> insert into DemoTable2035(Name,isMarried) values('Mike',false);
Query OK, 1 row affected (0.12 sec)

3. 결과 확인

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

mysql> select *from DemoTable2035;

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

+----+-------+-----------+
| Id | Name  | isMarried |
+----+-------+-----------+
| 1  | Chris | 1         |
| 2  | David | 0         |
| 3  | Bob   | 1         |
| 4  | Mike  | 0         |
+----+-------+-----------+
4 rows in set (0.00 sec)

정리

삽입할 때는 true/false를 그대로 사용했지만, 조회 결과에서는 각각 1과 0으로 표시된 것을 확인할 수 있습니다. 이는 MySQL이 BOOLEAN을 TINYINT(1)로 취급하기 때문이며, 따라서 WHERE 절에서도 WHERE isMarried = 1 또는 WHERE isMarried = TRUE 형태로 조건을 지정할 수 있습니다.