💃 개프로 불공단 체험단 : 영진닷컴 그림으로 배우는 데이터베이스 도서
SELECT * FROM 테이블명;
SELECT 뒤에 '*'(Asterisk, 그리스어로 별)을 지정한 경우 테이블의 모든 컬럼들의 값을 확인할 수 있다.
'*' 대신 컬럼 이름을 지정하면 지정한 컬럼 값만 볼 수 있다.
SELECT name FROM 테이블명; → 컬럼 name만 조회할 수 있다.
,
로 구분하여 여러 개를 지정할 수 있다.WHERE
을 사용하여 조건에 맞는 레코드로 범위를 좁힌다.=
: 어떤 컬럼에 저장되어 있는 값이 지정한 조건 값에 일치하는 레코드만을 조회할 경우 사용한다.SELECT * FROM users WHERE age = 21;
→ age가 21에 해당하는 레코드를 조회
AND
: 복수의 검색 조건을 지정
SELECT * FROM 테이블명 WHERE name = '홍길동' AND age = 21;
→ name이 홍길동이면서 age가 21에 해당하는 레코드를 조회
OR
: 복수의 검색 조건 중 어느 한 쪽의 조건에 일치하는 데이터를 검색하는 경우
SELECT * FROM 테이블명 WHERE name = '이순신' OR name = '임꺽정';
!=
: 저장되어 있는 값이 조건에 해당하는 값과 동일하지 않은 데이터를 검색할 수 있다. age != 21
→ age 컬럼 값이 21이 아닌 데이터를 검색
>
: 저장되어 있는 값이 조건에 해당하는 값보다 큰 데이터를 검색>=
: 지정한 값이 조건에 해당하는 값 이상이라는 조건 지정SELECT * FROM users(테이블명) WHERE age > 30;
→ age가 30보다 큰 레코드를 조회
→>=
인 경우엔 30이상
(<, <= 도 미만, 이하)
BETWEEN
을 사용하면 어떤 2개의 숫자 값 사이에 포함된 데이터를 검색할 수 있다.
SELECT * FROM users(테이블명) WHERE age BETWEEN 21 AND 25;
→ age 컬럼값이 21 이상 , 25 이하인 데이터를 검색
반대로 NOT BETWEEN
: 포함된 값 사이에 해당되지 않는 데이터를 검색
IN
: 지정한 값이 포함된 데이터를 검색SELECT * FROM users WHERE age IN (21, 30);
→ age가 21이나 30에 일치하는 레코드를 조회
NOT IN
: age의 컬럼 값이 21이나 30에 해당 LIKE
: 지정한 문자가 포함되어 있는 데이터를 검색
NOT LIKE
: 지정한 문자가 포함되지 않은 데이터를 검색
%
: 0문자 이상의 문자열을 의미
_
: 문자 1개를 의미함
SELECT * FROM users(테이블명) WHERE name LIKE '홍%';
→ name이 '홍'으로 시작하는 레코드를 조회
NULL
로 표현된다. IS NULL
: 컬럼값이 'NULL'인 데이터를 검색ex) UPDATE 테이블명 SET name(컬럼명) = '스튜(바꿀값)' WHERE id=1;
-UPDATE
: 테이블에 저장되어 있는 레코드를 갱신
-SET
: 뒤에 갱신대상 컬럼과 변경 후의 값을 지정한다.
id=2, name='스튜'
등과 같이 콤마(,)로 구분하여 여러 개의 컬럼 이름과 값을 지정한다.ex) UPDATE users SET status = 1 WHERE age >= 40;
예를 들면 탈퇴한 사용자의 정보를 지우고 싶을 때나,
테이블에 저장되어 있는 레코드는 필요에 따라서 삭제할 수 있다.
DELETE FROM menus(테이블명) WHERE id=1(조건절);
menus 테이블에서 id 컬럼 값이 1과 일치하는 데이터를 삭제하는 예시.
DELETE FROM users(테이블명) WHERE age != 21;
→ age가 21이 아닌 레코드를 삭제
WHERE
를 삭제해서 삭제 대상 조건을 지정하지 않고 실행하게 되면, 테이블의 모든 레코드가 삭제
되니 유의해야 한다.SELECT 문장에서 삭제 대상 데이터를 가져오고,
DELETE
문장으로 바꿔서 사용하면 부주의한 사고를 막을 수 있다.
ex) SELECT * FROM users(테이블명) ORDER BY age;
→ age가 작은 순으로 정렬
ORDER BY
: 뒤에 컬럼 이름을 지정하면 해당 컬럼 이름 값의 오름차순(작은 순)으로 정렬할 수 있다.
ORDER BY DESC
: 레코드를 지정한 컬럼 값의 내림(큰 순서)으로 정렬할 수 있다.
WHERE과 조합할 수도 있다.
ex) WHERE age >= 30 ORDER BY age
age 컬럼 값이 30 이상인 조건에 맞는 레코드만 오름차순으로 정렬하여 조회
지정한 조건에 일치하는 데이터를 대상으로하여 정렬된 상태로 조회