5강 테이블 구조 참고하기
테이블 열 자료형
- CHAR형
CHAR형은 문자열을 저장할 수 있는 자료형이다. 언제나 고정된 길이로 데이터가 저장되어 ‘고정 길이 문자열’ 자료형이라고도 한다. 최대 길이보다 작은 문자열을 저장하면 모자란 길이만큼 공백이 그 자리를 채워서 저장된다.
필드 속성을 CHAR(5)로 지정하고 ‘ABC’라는 문자열을 저장한다면, 나머지 두 자리는 공백이 채운다.
1 | 2 | 3 | 4 | 5 |
---|---|---|---|---|
A | B | C | ⎵ | ⎵ |
- VARCHAR형
CHAR형과는 달리 ‘가변 길이 문자열’이다. 저장된 데이터 크기에 맞춰 저장공간 크기도 변경된다. 필드 속성을 VARCHAR(5)로 지정하고 ‘ABC’라는 문자열을 저장한다면, 공백 없이 저장된다.
1 | 2 | 3 |
---|---|---|
A | B | C |
6강 검색 조건 지정하기
SELECT 구에서 열 지정하기
SELECT 열1, 열2, … FROM 테이블명;
2개 이상 열은 콤마(,)를 이용해 구분하며, 여러 개를 지정할 수 있다. 테이블과 동일한 순서가 아니어도 되며 보길 원하는 순서대로 열을 지정하면 된다. 별 의미는 없지만 동일한 열을 중복해서 지정해도 된다.
WHERE 구에서 행 지정하기
SELECT 열 FROM 테이블명 WHERE 조건식;
이때 순서는 무조건 ‘SELECT 구 - FROM 구 - WHERE 구’여야 한다.
- 조건식
WHERE구에 들어가는 조건식 ‘no = 2’는 no 열 값이 2일 경우에 참이 되는 조건이다. = 연산자는 비교한 결괏값이 참인지 거짓인지 반환하므로 ‘비교 연산자’라 부른다. 일치하지 않는 값을 찾으려면 <> 연산자를 사용한다.
no | name | birthday |
---|---|---|
1 | 곰돌이 | 2020-01-01 |
2 | 야옹이 | 2018-05-15 |
3 | 멍멍이 | NULL |
SELECT * FROM sample_talbe WHERE no<>2;
no | name | birthday |
---|---|---|
1 | 곰돌이 | 2020-01-01 |
3 | 멍멍이 | NULL |
no 열 값이 2가 아닌 행만 리턴한다.
문자열형의 상수
문자열형을 비교할 때는 싱글쿼트(’ ‘)로 둘러싸 표기한다. 날짜시간형도 싱글쿼트로 둘러싸 표기한다. 연월일은 하이픈(-)으로 구분한다. 시분초는 콜론(:)으로 구분한다.
SELECT * FROM sample_talbe WHERE name=‘야옹이’;
no | name | birthday |
---|---|---|
2 | 야옹이 | 2018-05-15 |
SELECT * FROM sample_talbe WHERE birthday=‘2020-01-01’;
no | name | birthday |
---|---|---|
1 | 곰돌이 | 2020-01-01 |
한편, 자료형에 맞게 표기한 상수값을 ‘리터럴(literal)‘이라고 한다. (뜬금X)
NULL값 검색
= 연산자로는 NULL값을 검색할 수 없다. NULL을 검색할 때는 = 대신 IS NULL을 사용한다.
SELECT * FROM sample_talbe WHERE birthday IS NULL;
no | name | birthday |
---|---|---|
3 | 멍멍이 | NULL |
반대로 NULL이 아닌 값을 찾고 싶다면 IS NOT NULL을 사용한다.
SELECT * FROM sample_talbe WHERE birthday IS NOT NULL;
no | name | birthday |
---|---|---|
1 | 곰돌이 | 2020-01-01 |
2 | 야옹이 | 2018-05-15 |
비교연산자 종류
- = : 좌변과 우변 값이 같을 경우 참
- <> : 좌변과 우변 값이 같지 않을 경우 참
- > : 좌변 값이 우변 값보다 클 경우 참. 같거나 작다면 거짓
- < : 좌변 값이 우변 값보다 작을 경우 참. 같거나 크다면 거짓
- >= : 좌변 값이 우변 값보다 크거나 같을 경우 참. 작다면 거짓
- <= : 좌변 값이 우변 값보다 작거나 같을 경우 참. 크다면 거짓