데이터베이스

DB sql 기본문법2

테라시아 2024. 11. 19. 16:25

(3) update
    - 테이블의 데이터를 변경하는 구문
    1) 기본 사용법
        update 테이블명
        set    변경할컬럼1 = 변경할값1
             , 변경할컬럼2 = 변경할값2
        where  조건식

    - 테이블에 200개의 컬럼이 있다고 가정
      나는 그 중 한 개의 컬럼만 데이터를 바꿀 예정
    => 해당 데이터만 바꾸는 방식(X)
       해당 row 전체를 지운다 + 새로운 200개 컬럼을 넣는다.
       update = delete + insert
       DB에 부담이 가장 많이 되는 명령문

(4) delete
    - 데이터를 삭제하는 문장
    1) 기본 사용법
        delete from 테이블명
        where 조건절
        ;
    - 데이터가 삭제되면 복구가 불가능하기 때문에
      백업을 받고나서 삭제 처리
      => 이상이 없을 경우 백업 삭제

 

☆ Code

drop table movie;
select * from movie;

-- desc : 테이블의 정보를 보여주는 명령어
desc movie;

-- insert
insert into movie values('파묘','20240222',12,'Horror');
insert into movie values('오리엔트특급살인','20171129',12,'Drama');
insert into movie(movie_name, genre) values('반칙의제왕','Comedy');

-- select
select * 
from   movie
where  1 = 1  
;

select movie_name  -- 영화제목
     , open_date   -- 개봉일자
     , genre       -- 장르
from   movie
;

select *
from   movie
limit 1  -- oracle인 경우 where rownum = 1
;

-- where 절 연습
select *
from   movie
where  open_date >= '20240101'
-- and    open_date != '99991231'
-- or    genre = 'Drama'
;

-- update
update movie
set    open_date = '20240914'
where  movie_name = '반칙의제왕'
;

update movie
set    rating = 10
where  rating = 12
;

select * from movie;

-- delete
insert into movie(movie_name, open_date)
values ('베테랑2', '20240913');

delete from movie
-- where  genre = ''  -- null을 선택하지 못함
-- where  genre = '[NULL]' -- null을 선택하지 못함
-- where  genre = null  -- 이것도 실패
where  genre is null  -- 비어있는 값을 찾을 때는 is null
;

select * from movie
where  rating is not null
;