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

MySQL에서 문자열과 숫자를 함께 저장하는 방법: VARCHAR 데이터 타입 활용 가이드

문자열과 숫자를 혼합할 때는 VARCHAR 데이터 타입을 사용하세요

MySQL에서 'John_123'처럼 문자열과 숫자가 섞인 값을 저장해야 하는 경우가 자주 있습니다. 이럴 때는 INT 같은 숫자 전용 데이터 타입이 아니라 VARCHAR(가변 길이 문자열) 데이터 타입을 사용해야 합니다.

VARCHAR는 괄호 안에 지정한 숫자만큼 최대 길이를 설정할 수 있으며, 실제 저장되는 값의 길이에 따라 공간을 효율적으로 사용합니다.

기본 문법

테이블 생성 시 컬럼의 데이터 타입을 VARCHAR로 지정하면 됩니다:

CREATE TABLE yourTableName
(
    yourColumnName1 VARCHAR(40)
);

실전 예제: 테이블 생성하기

사용자 ID를 문자열과 숫자가 혼합된 형태로 저장하는 테이블을 만들어 보겠습니다:

mysql> create table demo28
    -> (
    -> id int not null auto_increment primary key,
    -> user_id varchar(40)
    -> );
Query OK, 0 rows affected (0.64 sec)

여기서 id 컬럼은 자동 증가되는 기본 키 역할을 하고, user_id 컬럼은 최대 40자까지 저장할 수 있는 VARCHAR 타입으로 선언했습니다.

데이터 삽입하기

INSERT 명령어를 사용해 문자와 숫자가 섞인 값을 넣어 보겠습니다:

mysql> insert into demo28(user_id) values('John_123');
Query OK, 1 row affected (0.13 sec)

mysql> insert into demo28(user_id) values('David_44');
Query OK, 1 row affected (0.15 sec)

mysql> insert into demo28(user_id) values('Mike99');
Query OK, 1 row affected (0.16 sec)

mysql> insert into demo28(user_id) values('Sam101');
Query OK, 1 row affected (0.17 sec)

저장된 데이터 확인하기

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

mysql> select * from demo28;

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

+----+----------+
| id | user_id  |
+----+----------+
|  1 | John_123 |
|  2 | David_44 |
|  3 | Mike99   |
|  4 | Sam101   |
+----+----------+
4 rows in set (0.00 sec)

정리 및 참고 사항

  • 문자열과 숫자가 혼합된 값은 반드시 VARCHAR 또는 TEXT 계열의 문자열 데이터 타입에 저장해야 합니다.
  • VARCHAR(n)에서 n은 저장 가능한 최대 문자 수를 의미하며, 필요한 길이보다 약간 여유 있게 설정하는 것이 좋습니다.
  • 만약 순수하게 숫자만 저장한다면 INT나 BIGINT 같은 숫자 타입을 사용하는 것이 정렬·연산·인덱스 성능 면에서 더 유리합니다.
  • 혼합된 값에 대해 검색 성능이 중요하다면 해당 컬럼에 인덱스를 추가하는 것도 고려해 볼 수 있습니다.

이처럼 VARCHAR 데이터 타입을 활용하면 'John_123', 'Mike99'와 같이 문자와 숫자가 결합된 다양한 형태의 식별자나 코드 값을 손쉽게 관리할 수 있습니다.