03. SQL 테이블 구조 참조 및 자료형

1. 03. 테이블 구조 참조 및 자료형

1.1. DESC 명령

앞의 4강에서 SELECT 명령으로 테이블의 데이터를 읽어왔다. 테이블은 한 개 이상의 열로 구성되고, 열을 지정하여 조건을 붙이거나 특정 열의 값을 읽어올 수 있다. 테이블에 어떤 열이 있는지 참조할 수 있다면 SELECT 명령을 작성하기 쉬워진다. 여기에서는 DESC 명령으로 테이블 구조를 참조하는 방법을 알아본다.

아래의 명령을 실행하면 다음과 같은 결과가 나타난다.

1
DESC sample;

Field Type Null Key Default Extra
no int(11) YES NULL
name varchar(20) YES NULL
birthday data YES NULL
address varchar(40) YES NULL

이와 같이 DESC 명령으로 테이블에 어떤 열이 정의되어 있는지 알 수 있다. (DESC는 SQL 명령이 아니다)
간단하게 표시된 내용에 대한 설명을 아래와 같이 요약하였다.

Filed

열 이름이 표시된다.

Type

해당 열의 '자료형’을 나타낸다. intsms Integer(정수)를 의미한다. 괄호 안의 숫자는 최대 길이를 나타내는데, 예를 들어 int(11)은 '11자리의 정수값을 저장할 수 있는 자료형’을 의미한다.

Null

NULL 값을 허용할 것인지 아닌지를 나타내는 제약사항으로 Yes로 지정하면 NULL 값을 허용하게 된다.

Key

해당 열이 '키’로 지정되어 있는지를 나타낸다.

Default

그 열에 주어진 ‘기본값’ 즉, 생략했을 경우 적용되는 값이다. 테이블에 행을 추가할 때 열의 데이터 값을 생략하면 이 기본값으로 채워진다.

1.2. 2.자료형

테이블은 하나 이상의 열로 구성되며 DESC 명령으로 그 구조를 참조할 수 있다. 열에는 몇 가지 속성을 지정할 수 있고, 그중 가장 중요한 속성은 자료형이다.

1.2.1. INTEGER 형

INTEGER 형은 수치형의 하나로 정수값을 저장할 수 있는 자료형이다. 소수점은 포함할 수 없다.(오라클의 경우 NUMBER(P,S) S가 0인 경우와 같다고 볼 수 있다. P는 소숫점을 포함한 전체 자릿수, S는 소수점 자릿수 의미)

1.2.2. CHAR 형

CHAR 형은 문자열형의 하나로 문자열을 저장할 수 있는 자료형이다. 문자열형에서는 열의 최대 길이를 지정해야 한다. CHAR(10)으로 자료형을 지정했을 경우 최대 10문자로 된 문자열을 저장할 수 있으면 11문자로 된 문자열을 저장할 수 없다. 다음으로 설명할 VARCHAR 형은 저장할 문자열의 길이에 맞춰 저장공간을 가변적으로 사용하여 저장한다. 반면 CHAR 형은 언제나 고정된 길이로 데이터가 저장된다.

그에 따라 ‘고정 길이 문자열’ 자료형이라고 한다. CHAR 형에서는 길이가 고정되기 때문에 최대 길이보다 작은 문자열을 저장할 경우 공백문자로 나머지를 채운 후 저장한다. (오라클도 동일)

1.2.3. VARCHAR 형

VARCHAR 형 역시 문자열을 저장할 수 있는 자료형이다. 최대 길이를 지정하는 점은 CHAR 형과 같지만 앞서 말한 것 처럼 데이터 크기에 맞춰 저장공간의 크기도 변경된다.
그에 따라 ‘가변 길이 문자열’ 자료형이라고 한다. (오라클에서는 VARCHAR2(n) : 오라클에도 VARCHAR가 있지만 사용하지 않음)

1.2.4. DATE 형

DATE 형은 날짜값을 저장할 수 있는 자료형이다. 날짜값이란 '2013년3월23일’과 같이 연월일의 데이터를 저장할 수 있는 형이다. (오라클도 동일 오라클은 DATE에 시분초 까지 포함되어 있다)

1.2.5. TIME 형

TIME 형은 시간을 저장할 수 있는 자료형이다. ex) '12시 30분 20초’와 같이 시분초의 데이터를 저장할 수 있는 형이다. 문자열형에는 고정 길이와 가변 길이가 있다