MySQL 사용자 이름 필드, 어떤 이름을 사용해야 할까?
MySQL 테이블을 설계할 때 사용자 이름 필드를 name으로 할지 user_name으로 할지 고민되는 경우가 많습니다. 결론부터 말하면, 테이블 이름을 필드 이름의 접두어로 붙이는 방식은 피하는 것이 좋습니다. 즉, user_name보다는 username 또는 user처럼 간결한 이름을 사용하는 것이 바람직합니다.
필드 이름에 테이블 이름을 접두어로 붙이면 쿼리 작성 시 모호성(ambiguity)이 발생할 가능성이 높아집니다. 특히 여러 테이블을 조인(JOIN)할 때 같은 접두어를 가진 필드끼리 충돌해 오류가 생기기 쉬우므로, 테이블 이름 접두어 사용은 피하는 것이 좋습니다.
1. 테이블 생성하기
먼저 username과 password 필드를 가진 user 테이블을 생성해 보겠습니다.
mysql> create table user
-> (
-> username varchar(20),
-> password varchar(20)
-> );
Query OK, 0 rows affected (0.66 sec)
2. 데이터 삽입하기
INSERT 명령어를 사용해 테이블에 레코드를 추가합니다.
mysql> insert into user values('John','J_635');
Query OK, 1 row affected (0.34 sec)
mysql> insert into user values('Carol','Carol2212');
Query OK, 1 row affected (0.16 sec)
mysql> insert into user values('David','@12345678');
Query OK, 1 row affected (0.14 sec)3. 전체 레코드 조회하기
SELECT 문으로 테이블의 모든 레코드를 확인합니다.
mysql> select * from user;
위 쿼리를 실행하면 다음과 같은 결과가 출력됩니다.
+----------+-----------+
| username | password |
+----------+-----------+
| John | J_635 |
| Carol | Carol2212 |
| David | @12345678 |
+----------+-----------+
3 rows in set (0.00 sec)
정리
사용자 이름 필드는 username처럼 간결하게 명명하는 것이 좋습니다. 테이블 이름을 접두어로 붙인 user_name 형태는 쿼리 작성 시 모호성 문제를 일으킬 수 있으므로 피하는 것이 바람직합니다.