본문 바로가기
개발 외의 것들/책을읽읍시다.

[TIR]SQL첫걸음 5,6강

by Joshua21 2022. 2. 12.

5강 테이블 구조 참조하기

1. DESC 명령어

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

2. 자료형

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

  • INTEGER 형: ‘INTEGER 형’은 수치형의 하나로 정수값을 저장할 수 있는 자료형이다. 소수점은 포함할 수 없다.
  • CHAR 형: ‘CHAR 형’은 문자열형의 하나로 문자열을 저장할 수 있는 자료형이다. 문자열형에는 열의 최대 길이를 지정해야 한다. CHAR(10)으로 지정했을 경우 최대 10문자로 된 문자열을 저장할 수 있으며 11문자 이상의 문자열은 저장할 수 없다. 또, CHAR은 언제나 고정된 길이로 데이터가 저장되기 때문에, CHAR(10)은 10으로 고정된 길이다. 따라서 CHAR을 ‘고정 길이 문자열’ 자료형이라고 한다. 만약 최대 길이보다 작은 문자열을 저장할 경우 공백문자로 나머지를 채운 후 저장하게 된다.
  • VARCHAR 형: ‘VARCHAR 형’ 역시 ‘CHAR 형’처럼 문자열을 저장할 수 있는 문자열이다. 최대 길이를 저장하는 점은 CHAR 형과 같다. 하지만 CHAR 과 달리 데이터 크기에 맞춰 저장공간의 크기도 변경된다. 따라서 VARCHAR 형은 ‘가변 길이 문자열’ 자료형이라고 한다. 예를 들어 VARCHAR(5)이지만 데이터크기가 3이라면 크기는 3이된다. 그리고 아직 SQL입문이라 확실하지 않지만 내생각엔 데이터의 크기가 5를 초과한 문자열일지라도 가변 길이 문자열 자료형이기때문에 저장할 수 있지 않을까 생각한다. (자바에서 ArrayList도 처음 선언한 길이보다 초과하는 경우에도 계속 원소를 추가할 수 있기 때문에..)
  • DATE 형: ‘DATE 형’은 날짜값을 저장할 수 있는 자료형이다. 날짜값이란 ‘2013년 3월 23일’과 같이 연월일의 데이터를 저장할 수 있는 형이다.
  • TIME 형: ‘TIME 형’은 시간값을 저장할 수 있는 자료형이다. 시간값이란 ‘12시 30분 20초’ 와 같이 시분초의 데이터를 저장할 수 있는 형이다.

6강 검색 조건 지정하기

SELECT 열1, 열2, .... FROM 테이블명;

• 열은 콤마(,)로 구분지어 여러개로 조회가 가능하다.

SELECT * FROM TEST WHERE NO=2;

  • 테이블의 행은 열에 비해 훨씬 많을 수 있다. 이처럼 많은 행 속에서 필요한 데이터만 검색하기 위해서는 WHERE 구를 사용한다.
  • WHERE 구는 FROM 구 뒤에 사용하며 WHERE뒤에는 검색 조건을 표기합니다.

'=' 연산자 : 서로 같은 값인지를 비교, 같은 값이면 참.

'<>' 연산자 : 서로 다른 값인지를 비교, 다른 값이면 참.

문자열형의 상수

  • 조건식에서 문자열을 조회할 경우 싱글쿼트(' ')로 둘러싸 표기해야 합니다.
  • 날짜와 시간을 조회할 때도 싱글쿼트로 둘러싸 표기해야 합니다. 이 때 연월일은 연-월-일처럼 하이픈(-)으로 구분합니다.
  • 시각은 시:분:초로 콜른(:)을 구분하여 표기합니다.
  • 문자열형의 열과 비교하기 위해서는 조건으로 지정한 값도 그 자료형의 맞춰 지정해야 합니다. 자료형에 맞춰 표기한 상수값을 리터럴이라고 부릅니다.

NULL값 조회하기

  • 조건식에서 =NULL 을 사용한다면 검색을 할 수 없습니다. NULL을 검색할 때는 비교연산자를 사용하는 것이 아닌 IS NULL을 사용합니다.
  • IS NULL은 술어로 연산자의 한 종류로 생각해도 좋습니다.