테이블 구조 참조하기
1. DESC 명령
DESC sample21;
DESC 명령으로 테이블에 어떤 열이 정의되어 있는지 알 수 있다.
(DESC는 SQL 명령이 아님)
Field : 열 이름
Type : 자료형, 괄호안의 숫자는 최대 길이
Null : NULL 값을 허용할 것인지 아닌지를 나타내는 제약사항
Key : 해당 열이 '키'로 지정되어 있는지 아닌지를 나타낸다
Default : '기본값' 즉, 생략했을 경우 적용되는 값. 테이블에 행을 추가할 때 데이터 값을 생략하면 이 기본값으로 채워짐.
=> DESC 명령으로 테이블 구조를 참조할 수 있다.
2. 자료형 (Type)
- INTEGER 형
수치형의 하나로 정수값을 저장할 수 있는 자료형
- CHAR형
문자열형의 하나로 문자열을 저장할 수 있는 자료형.
길이가 고정되기 때문에 최대 길이보다 작은 문자열을 저장할 경우 공백문자로 나머지를 채운 후 저장하게 된다.
- VARCHAR형
문자열을 저장할 수 있는 자료형.
데이터 크기에 맞춰 저장공간의 크기가 변경됨. = 가변 길이 문자열
- DATE형
날짜값을 저장할 수 있는 자료형.
연월일의 데이터를 저장할 수 있음.
- TIME형
시간을 저장할 수 있는 자료형.
시분초의 데이터를 저장할 수 있음.
검색 조건 지정하기
데이터 검색에는 열을 지정하는 방법과 행을 지정하는 방법이 있다.
행을 선택할 때는 WHERE구를 사용하며, 열을 선택할 때는 SELECT 구를 사용한다.
1. SELECT 구에서 열 지정하기
SELECT no, name FROM sample21;
원하는 열만 선택해서 결과값을 가져올 수 있다.
=> SELECT 구에서 결과로 표시하고 싶은 열을 지정할 수 있다.
2. WHERE 구에서 행 지정하기
WHERE 구는 FROM 구의 뒤에 표기한다.
WHERE 뒤에는 검색조건을 표기한다.
- 구의 순서와 생략
SQL에서는 구의 순서가 정해져 있어 순서를 바꿀 수 없음.
FROM 구 뒤에 WHERE 구를 표기해야 함.
구에는 WHERE 구처럼 생략 가능한 것도 있다.
- WHERE 구
조건식은 '열과 연산자, 상수로 구성되는 식' 이다.
ex) no = 2
SELECT * FROM sample21 WHERE no = 2;
=> WHERE 구의 조건에 일치하는 행만 결과로 반환된다
- 조건식
ex) no = 2
열 : no
연산자 : =
상수 : 2
no 열 값이 2와 동일한 행('참'인 행)만 결과값으로 반환
=> 조건식은 참 또는 거짓의 진리값을 반환하는 식으로 비교 연산자를 사용해 표현한다.
값이 서로 다른 경우를 결과값으로 반환할 때는 <> 연산자를 사용
SELECT * FROM sample 21 WHERE no <> 2;
no가 2인 행을 제외한 나머지 행을 결과로 얻음
3. 문자열형의 상수
문자열형 비교시에는 '박준용' 처럼 싱글쿼트(' ')로 둘러싸 표기해야 한다.
SELECT * FROM sample21 WHERE name = '박준용';
날짜시간형도 싱글쿼트로 둘러 싸 표기한다.
ex) '2013-01-25' , '2013-03-03 10:21:00'
4. NULL 값 검색
= 연산자로 NULL을 검색할 수 없음
WHERE birthday = NULL;
-> 에러 발생
- IS NULL
NULL 값을 검색할 때는 = 연산자가 아닌 'IS NULL' 을 사용한다.
SELECT * FROM sample21 WHERE birthday IS NULL;
birthday가 NULL에 해당하는 행들을 결과로 가져온다.
=> NULL 값을 검색할 경우에는 = 연산자가 아닌 IS NULL을 사용한다.
5. 비교연산자
대표 연산자
- =
- <>
- >
- >=
- <
- <=
의미는 수학 기호와 같음
'SQL > SQL 첫걸음' 카테고리의 다른 글
11강[결과 행 제한하기 - LIMIT], 12강[수치 연산] (0) | 2022.10.03 |
---|---|
9강[정렬 - ORDER BY], 10강[복수의 열을 지정해 정렬하기] (0) | 2022.10.02 |
7강[조건 조합하기], 8강[패턴 매칭에 의한 검색] (1) | 2022.09.29 |
3강[데이터베이스 서버], 4강[Hello World 실행하기] (0) | 2022.09.27 |
1강[데이터베이스], 2강[다양한 데이터베이스] (0) | 2022.09.26 |