MySQL 환경과 설정에 따라 대소문자를 구분하기도 하고 그렇지 않기도 한다.
데이타베이스 이름과 테이블 이름을 사용할 때 윈도우와 Mac OS X에서는 기본적으로 대소문자를 구분하지 않지만 유닉스계열(리눅스포함)에서는 기본적으로 대소문자를 구분한다. ( Default 설정인 경우 )
컬럼이름은 모든 환경에서 대소문자를 구분하지 않는다.
▶ OS 별 MySQL 대소문자 구분 : lower_case_table_names 기본 값인 경우
|
윈도우 |
Mac OS X |
리눅스 |
데이타베이스명 |
구분 안함 |
대소문자 구분 |
|
테이블명 |
|||
컬럼명 |
구분 안함 |
- 리눅스 환경의 아래 예를 보면 테이블명이 UserInfo, 컬럼명은 UserID, UserName 으로 되어있다.
- 컬럼명은 조회문에서 대소문자를 구분 않고 테이블명은 대소문자를 구분하고 있다.
▶ 대소문자 구분은 MySQL의 이식성에 문제를 발생 시킨다.
- 윈도우 환경에서 Pascal Case를 사용하여 테이블명을 지정했다면 리눅스로 이식했을 때 대소문자 구분으로 오류가 난다.
※ Pascal Case : 단어의 첫자를 대문자로 하고 나머지를 소문자로 쓰는 코딩방법 예) UserInfo
▶ 가장 좋은 방법은 항상 소문자만을 사용하는 것이다.
- 데이타베이스명과 테이블명은 항상 소문자만 사용하면 윈도우에서나 Linux 에서 에러 없이 사용 할 수 있다.
▶ 그래도 난 특별하다 생각하면 lower_case_table_names 을 설정 한다.
- 이 블로거의 다른 글을 참고 하면 된다.
'MySQL' 카테고리의 다른 글
MySQL 숫자 함수 (0) | 2014.01.25 |
---|---|
MySQL 문자열 함수 (5) | 2014.01.25 |
mysql 데이터 디렉터리의 위치 (0) | 2014.01.24 |
mysql 테이블 이름 lower_case_table_names 대소문자 변경 (0) | 2014.01.24 |
MySql 외부 접속 가능하게 설정하기 (2) | 2014.01.14 |