[SQL첫걸음] 5강. 테이블 구조 참조하기

5강. 테이블 구조 참조하기

DESC 명령 학습하기

이전 시간의 SELECT 명령어 실행하기

mysql> SELECT * FROM sample21;

// 실행 결과 
// +------+-----------+------------+---------------------------+
// | no   | name      | birthday   | address                   |
// +------+-----------+------------+---------------------------+
// |    1 | 박준용    | 1976-10-18 | 대구광역시 수성구         |
// |    2 | 김재진    | NULL       | 대구광역시 동구           |
// |    3 | 홍길동    | NULL       | 서울특별시 마포구         |
// +------+-----------+------------+---------------------------+
// 3 rows in set (0.00 sec)

1. DESC 명령어

: DESC 는 Descirption을 줄인 명령어로, DESC 명령어로 테이블에 어떤 열이 정의되어 있는지 알 수 있다.(DESC 는 SQL 명령어가 아니다.)

DESC 실행.

mysql> DESC sample21;

//실행결과 
// +----------+-------------+------+-----+---------+-------+
// | Field    | Type        | Null | Key | Default | Extra |
// +----------+-------------+------+-----+---------+-------+
// | no       | int(11)     | YES  |     | NULL    |       |
// | name     | varchar(20) | YES  |     | NULL    |       |
// | birthday | date        | YES  |     | NULL    |       |
// | address  | varchar(40) | YES  |     | NULL    |       |
// +----------+-------------+------+-----+---------+-------+
// 4 rows in set (0.00 sec)

=> 맨 앞의 Field는 열 이름이 표시된다.( no, name, birthday, address )

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

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

=> Key는 해당 열이 ‘키’로 지정되어 있는지를 나타낸다.

=> Default는 그 열에 주어진 ‘기본값’ 즉, 생략했을 경우 적용되는 값이다. 테이블에 행을 추가할 때 열의 데이터값을 생략하면 이 기본값으로 채워진다.( 위의 경우는 생략됐을 경우 모두 NULL 로 초기화된다. )

DESC 명령으로 테이블 구조를 참조할 수 있다.

2. 자료형

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

가변 깅이 문자열과 고정 길이 문자열

고정 길이 문자열

CHAR(5) // 고정 길이 문자열
A B C - -
1 2 3 4 5

=> 데이터 길이 고정. 문자열 ABC는 길이가 3이지만 CHAR형은 여전히 길이가 5로 고정되어있다.

가변 길이 문자열

VARCHAR(5) // 가변 길이 문자열 
A B C  
1 2 3 4

=> 데이터 길이 가변. 문자열 ABC는 길이가 3이라서 데이터 길이는 4이다. 아마 Null문자(\0)가 포함되어서 +1 추가 되어 4인건가 추측해본다. 공부를 더 하면 나오겠지!

문자열형에는 고정 길이와 가변 길이가 있다.