##본 포스팅은 "SQL 첫걸음 - 아사이 아츠시" 책을 보고 요약한 것입니다.
테이블 구조 참조 하기
mysql> DESC table;
DESC를 사용하면 테이블에 어떤 열이 정의되어있는지 알 수 있다.
(SQL 명령은 아니다)
- Field : 열 이름
- Type : 해당 열의 자료형
- Null : NULL값을 허용하는지 나타내는 제약사항
- Key : 키로 지정되어있는지
- Default : 기본값(생략되었을 때 적용되는 값)
이때의 자료형은 다음과 같은 자료형이 대표적으로 사용된다.
- INTEGER : 정수값을 저장할 수 있으며, 소수점 X
- CHAR : 문자열을 저장할 수 있는 자료형, 고정 길이 데이터 저장(덜 채우면 공백 저장)
- VARCHAR : 최대 길이를 지정하지만, 가변 길이 문자형
- DATE : 날짜값을 저장할 수 있는 자료형
- TIME : 시간을 저장할 수 있는 자료형
검색 조건 지정하기
행을 선택할 때는 WHERE 구를 사용하며, 열을 선택할 때는 SELECT을 사용한다.
mysql> SELECT 열1, 열2 FROM 테이블명 WHERE 조건식;
> SELECT
열은 위 구문처럼 콤마를 이용하여 구분지을 수 있으며, 순서는 임의로 지정할 수 있다.
테이블에서 열이 정의된 순서와 동일한 순으로 지정할 필요는 없으며, 결과는 지정한 열의 순서대로 표시된다.
> WHERE
필요한 데이터만 검색하기 위해 사용한다.
예약어 WHERE 뒤에 검색조건을 포함하며, 조건에 일치하는 행만 SELECT의 결과로 반환된다.
SQL에는 구의 순서가 정해져있어 바꿔적을 수 없다.
mysql> SELECT name FROM 테이블명 WHERE no<>2;
<> 연산자를 사용하면 값이 서로 다른 경우 참이되는 조건식으로 변경할 수 있다.
조건식 뒤에 적는 상수는 "문자열형의 열과 비교하기 위해서 조건으로 지정할 값도 그 자료형에 맞춰 지정해야한다."
이렇게 자료형에 맞춰 표기한 상수값을 "리터럴"이라고 한다.
> NULL 값 검색
mysql> SELECT name FROM 테이블명 WHERE no IS NULL;
NULL 값을 검색할 때는 =연산자가 아닌 IS NULL을 사용한다.
비교 연산자에서 <=나 >=를 표기할 때에 사이에 스페이스를 넣어서는 안된다.
스페이스를 넣으면 연산자가 두개라고 판단하기 때문에 에러가 발생한다.
'Database' 카테고리의 다른 글
SQL 첫걸음 9장~10장] 정렬하기 (0) | 2021.10.10 |
---|---|
데이터베이스 첫걸음 3강] 데이터베이스 비용 (0) | 2021.09.26 |
데이터베이스 첫걸음 2장] 관계형 데이터베이스 (0) | 2021.09.19 |
SQL 첫걸음 3강~4강] 데이터베이스 서버, Hello World (0) | 2021.09.19 |
데이터베이스 첫 걸음 1장] 데이터베이스 (0) | 2021.09.12 |