그림으로 배우는 데이터베이스 (3-7~3-13)

prana·2022년 12월 10일
0

database

목록 보기
23/38
post-thumbnail

💃 개프로 불공단 체험단 : 영진닷컴 그림으로 배우는 데이터베이스 도서

3-7 SELECT

  • 레코드를 취득한다

1. 레코드의 조회

  • 테이블에 저장되어 있는 레코드를
    다양한 형태로 조회하여 목적했던 데이터를 확인할 수 있다.

SELECT * FROM 테이블명;

2. 지정한 컬럼 값만 보기

  • SELECT 뒤에 '*'(Asterisk, 그리스어로 별)을 지정한 경우 테이블의 모든 컬럼들의 값을 확인할 수 있다.

  • '*' 대신 컬럼 이름을 지정하면 지정한 컬럼 값만 볼 수 있다.

  • SELECT name FROM 테이블명; → 컬럼 name만 조회할 수 있다.

여러 컬럼을 지정하다

  • 컬럼명은 ,로 구분하여 여러 개를 지정할 수 있다.
  • 데이터베이스에서는 즉시 원하는 데이터를 꺼낼 수 있도록 다양한 패턴으로 값을 조회할 수 있다.

3-8 WHERE, =, AND, OR

  • 조건에 일치하는 레코드의 범위를 좁힌다

1. 검색 조건의 지정

  • WHERE을 사용하여 조건에 맞는 레코드로 범위를 좁힌다.
  • = : 어떤 컬럼에 저장되어 있는 값이 지정한 조건 값에 일치하는 레코드만을 조회할 경우 사용한다.

    SELECT * FROM users WHERE age = 21;
    → age가 21에 해당하는 레코드를 조회

        

2. 복수의 검색 조건에 일치하는 레코드를 조회한다

  • AND : 복수의 검색 조건을 지정

    SELECT * FROM 테이블명 WHERE name = '홍길동' AND age = 21;
    → name이 홍길동이면서 age가 21에 해당하는 레코드를 조회

  • OR : 복수의 검색 조건 중 어느 한 쪽의 조건에 일치하는 데이터를 검색하는 경우

    SELECT * FROM 테이블명 WHERE name = '이순신' OR name = '임꺽정';


3-9 !=, >, >=, <, <=, BETWEEN

  • 검색에 이용하는 기호 ①: 일치하지 않는 값, 값의 범위 지정

1. 검색 조건에서 자주 사용하는 연산자

  • 연산자: 검색에 이용하는 기호

2. 지정한 값에 일치하지 않음 (!=)

  • != : 저장되어 있는 값이 조건에 해당하는 값과 동일하지 않은 데이터를 검색할 수 있다.

    age != 21
    → age 컬럼 값이 21이 아닌 데이터를 검색

3. 어떤 값보다 크거나 작거나(>,<,>=,<=)

  • > : 저장되어 있는 값이 조건에 해당하는 값보다 큰 데이터를 검색
  • >= : 지정한 값이 조건에 해당하는 값 이상이라는 조건 지정

SELECT * FROM users(테이블명) WHERE age > 30;
→ age가 30보다 큰 레코드를 조회
>= 인 경우엔 30이상
(<, <= 도 미만, 이하)

⭐4. 어떤 값의 범위에 포함되어 있는가 (BETWEEN)

  • BETWEEN을 사용하면 어떤 2개의 숫자 값 사이에 포함된 데이터를 검색할 수 있다.

    SELECT * FROM users(테이블명) WHERE age BETWEEN 21 AND 25;
    → age 컬럼값이 21 이상 , 25 이하인 데이터를 검색

  • 반대로 NOT BETWEEN : 포함된 값 사이에 해당되지 않는 데이터를 검색


3-10 IN, LIKE, IS NULL

  • 검색에 이용하는 기호 ②: 값을 포함한 데이터, 빈 데이터 검색

1. 어느 하나의 값이 포함되어 있는가 (IN)

  • IN : 지정한 값이 포함된 데이터를 검색

SELECT * FROM users WHERE age IN (21, 30);
→ age가 21이나 30에 일치하는 레코드를 조회

  • NOT IN : age의 컬럼 값이 21이나 30에 해당

2. 어떤 문자가 포함되어 있는가 (LIKE)

  • LIKE : 지정한 문자가 포함되어 있는 데이터를 검색

  • NOT LIKE : 지정한 문자가 포함되지 않은 데이터를 검색

  • % : 0문자 이상의 문자열을 의미

    • '%홍' : 단어의 마지막에 '홍'이 붙어있는 데이터를 검색,
    • '%홍%' : '홍'이 포함되어 있는 데이터를 검색
  • _ : 문자 1개를 의미함

SELECT * FROM users(테이블명) WHERE name LIKE '홍%';
→ name이 '홍'으로 시작하는 레코드를 조회

3. NULL 여부 (IS NULL)

  • 값이 없는 필드는 NULL로 표현된다.
  • IS NULL : 컬럼값이 'NULL'인 데이터를 검색
> SELECT * FROM users WHERE age IS NULL;

3-11 UPDATE

  • 데이터를 갱신하다

1. 레코드의 갱신

  • 테이블에 저장되어 있는 레코드는 나중에 다른 내용으로 편집할 수 있다.

    ex) UPDATE 테이블명 SET name(컬럼명) = '스튜(바꿀값)' WHERE id=1;

2. 레코드를 갱신하는 명령어

-UPDATE : 테이블에 저장되어 있는 레코드를 갱신
-SET : 뒤에 갱신대상 컬럼과 변경 후의 값을 지정한다.

  • 갱신 후의 값을 지정할 때는 id=2, name='스튜' 등과 같이 콤마(,)로 구분하여 여러 개의 컬럼 이름과 값을 지정한다.

3. 검색 조건을 조합하다

  • 연산자를 사용하여 정확한 검색 조건을 갱신 대상으로 지정한다.

    ex) UPDATE users SET status = 1 WHERE age >= 40;


3-12 데이터를 삭제하는 DELETE

1. 레코드의 삭제

  • 예를 들면 탈퇴한 사용자의 정보를 지우고 싶을 때나,

    • 잘못 등록한 데이터를 나중에 삭제하고 싶은 경우,
  • 테이블에 저장되어 있는 레코드는 필요에 따라서 삭제할 수 있다.

    DELETE FROM menus(테이블명) WHERE id=1(조건절);

  • menus 테이블에서 id 컬럼 값이 1과 일치하는 데이터를 삭제하는 예시.

2. 검색 조건을 조합하다

DELETE FROM users(테이블명) WHERE age != 21;
→ age가 21이 아닌 레코드를 삭제

3. DELETE 사용 시 주의

  • DELETE 문장을 사용할 때, WHERE를 삭제해서 삭제 대상 조건을 지정하지 않고 실행하게 되면, 테이블의 모든 레코드가 삭제되니 유의해야 한다.

    SELECT 문장에서 삭제 대상 데이터를 가져오고, DELETE 문장으로 바꿔서 사용하면 부주의한 사고를 막을 수 있다.


3-13 데이터의 정렬 ORDER BY

1. 레코드의 정렬

  • 테이블에 저장되어 있는 레코드는 저장되어 있는 값 순으로 정렬하여 가져올 수 있다.

    ex) SELECT * FROM users(테이블명) ORDER BY age;
    → age가 작은 순으로 정렬

2. 레코드를 오름차순, 내림차순으로 정렬하다

  • ORDER BY : 뒤에 컬럼 이름을 지정하면 해당 컬럼 이름 값의 오름차순(작은 순)으로 정렬할 수 있다.

  • ORDER BY DESC : 레코드를 지정한 컬럼 값의 내림(큰 순서)으로 정렬할 수 있다.

WHERE을 조합한 예

  • WHERE과 조합할 수도 있다.

    ex) WHERE age >= 30 ORDER BY age

  • age 컬럼 값이 30 이상인 조건에 맞는 레코드만 오름차순으로 정렬하여 조회

  • 지정한 조건에 일치하는 데이터를 대상으로하여 정렬된 상태로 조회

0개의 댓글

관련 채용 정보