본문 바로가기
Kosta DevOps 과정 280기/Java

insert, update

by 롯슈83 2024. 6. 20.

insert

  • 형식
-- 테이블구조의 순서와 동일하게 값을 나열해야 합니다.
insert into 테이블이름 values(값1, 값2, ..);

-- 나열한 컬럼의 순서와 동일하게 값을 나열해야 합니다.
-- 나열된 칼럼이외의 컬럼들은 null이거나 default가 있어야 합니다.
insert into 테이블이름(컬럼1, 컬럼2,..) values(값1, 값2..);
  • 예제문제
insert into book values(14, '스포츠 의학', null, '한솔의학서적');

insert into book(bookid, bookname, publisher)
values(15, '스포츠 의학', '한솔의학서적');
  • 이미 있는 테이블의 구조와 동일한 테이블 만들기
insert into 테이블명 select ~~
-- book테이블의 레코드를 모두 조회하여 동일한 칼럼과 레코드를 갖는 테이블을 생성
create table newbook as select * from book;

-- 절대로 만족하지 않는 조건을 주면 레코드는 추가하지 않고 구조만 복사할 수 있어요!
create table newbook as select * from book where 1=2;
-- 연습) book테이블로 부터 '굿스포츠'의 도서만 조회하여 newbook에 추가 해 봅니다.
insert into newbook select * from book where publisher = '굿스포츠';

 

update

  • 형식
update 테이블이름 set 컬럼1=값1, 컬럼2=값2,...[where 조건식]
  • 값이 들어가는 곳과 where절에 서브쿼리가 올 수 있다.
  • 예제문제
--customer 테이블에서 박세리의 주소를 '대한민국 부산'으로 지정
update customer set address='대한민국 부산' where CUSTID=5;

--customer 테이블에서 박세리의 주소를 김연아의 주소로 변경
update customer set address=
(select address from customer where name='김연아')
where CUSTID=5;

 

 

delete

  • 형식
delete 테이블명 [where 조건식];
  • 예제문제
-- 박지성 고객의 주문 내역을 모두 삭제하는 것
delete orders where custid = (
    select custid from CUSTOMER where name = '박지성'
);

--굿스포츠 출판사의 모든 주문 내역 삭제
delete orders where bookid in (
    select bookid from book where publisher ='굿스포츠'
);

 

 

유의점

  • 수정
    • update : 자료 (레코드)를 수정
    • alter : 테이블 구조를 수정
  • 삭제
    • delete : 자료 (레코드)를 삭제
    • drop : 테이블을 삭제

 

'Kosta DevOps 과정 280기 > Java' 카테고리의 다른 글

문자함수  (0) 2024.06.20
commit, rollback  (0) 2024.06.20
스키마 수정  (0) 2024.06.19
예제  (0) 2024.06.19
기본키와 참조키의 설정  (0) 2024.06.19