[DataBase] SQL의 데이터 조작어 (DML)

MINJEE·2023년 8월 25일

SMHRD_2_DataBase

목록 보기
4/9
post-thumbnail

INSERT문

  • 테이블에 데이터 추가 : INSERT문
    INSERT INTO 테이블명[(필드명1, 필드명2, ...)] VALUES(1,2, ...);
    • 필드에 대응하여 값 추가 (지정하지 않은 필드는 자동 NULL값 추가)

      • 예를 들어, 필드명1, ..., 필드명5 있으면,
        insert into 테이블명(필드명2, 필드명3) values(값2, 값3);
        필드명2 에는 값2 대입, 필드명3 에는 값3 대입 하고,
        필드명1, 필드명4, 필드명5 에는 NULL값 자동으로 대입
    • INSERT INTO 테이블명 VALUES(값1, 값2,…) : 필드명 지정 생략 시, 모든 필드에 값 추가(값 개수는 필드개수와 동일해야함)

    • 문자형(varchar, varchar2타입)은 작은따옴표(’)로 묶어서 추가

    • 날짜형(date타입)은 ‘년/월/일’ 또는 ‘년-월-일’ 로 추가 또는 TO_DATE함수 사용하여 추가

      • TO_DATE(’07/01/2001’, ‘DD/MM/YYYY’)
      • SYSDATE 로 오늘날짜 추가 가능
      • 오류 시, 환경설정-데이터베이스-NLS확인
    • INSERT INTO 테이블명[(필드명들)] SELECT 필드명들 FROM 테이블명2 WHERE 조건; : 서브쿼리 사용 가능

      • 주의: 서브쿼리 사용 시, VALUES절은 사용x
    • INSERT문 사용 예시

      --예시
      -- 회원가입 테이블 omember 생성
      create table omember(
      	num int not null,
      	email varchar(50) not null,
      	pwd varchar(20) not null,
      	pwdc varchar(20) not null,
      	name varchar(20) not null,
      	tel varchar(15) not null,
      	addr varchar(100),
      	primary key (num)
      );
      
      -- 데이터 2개 삽입
      INSERT INTO OMEMBER 
      	VALUES(1, 'min33@gmail.com', 'password1', 'password1','홍길동','010-1111-2222','서울시 서대문구');
      INSERT INTO OMEMBER 
      	VALUES(2, 'jun12@naver.com', 'pw2', 'pw2','철수','010-3333-4444','고양시 내유동');
          
      -- 커밋 (변경 내용 저장)
      COMMIT;

UPDATE문

  • 데이터 값 수정 : UPDATE문
    UPDATE 테이블명 SET 필드명1 =1, 필드명2 =2, ... [WHERE 조건];
    • WHERE절 생략 시, 테이블의 해당 필드의 값이 모두 변경
    • UPDATE 테이블명1 SET 필드명1 = (SELECT 필드명2 FROM 테이블명2 WHERE 조건2) WHERE 조건1; : 서브쿼리를 사용하여 데이터 수정 가능
    • where절에도 서브쿼리 사용 가능

DELETE문

  • 데이터 값 삭제 : DELETE문
    DELETE [FROM] 테이블명 [WHERE 조건];
    • 행(=record=tuple)단위로 삭제, 전체 행을 삭제해도 테이블 구조(스키마)은 남아있음(DROP TABLE은 테이블 구조까지 전부 삭제)
    • WHERE절 생략 → 데이터 전체 삭제
    • where절에도 서브쿼리 사용 가능
profile
개발, 분석 배운 내용 정리하기!

0개의 댓글