JAVA/SQL

SQL기본 - SQL종류

RAN318 2021. 7. 11. 18:35
728x90
반응형
  • SQL
    • SQL은 관계형 데이터베이스에서 데이터의 구조를 정의, 데이터 조작, 데이터 제어 등을 할 수 있는 절차형 언어
    • SQL은 ANSI/ISO표준을 준수하기 때문에 데이터베이스 관리 시스팀에 변경되어도 그대로 사용 할 수 있다.
    • 표준 설명
      ANSI/ISO SQL 표준 INNER JOIN, NATURAL JOIN, USING 조건 ON 조건절을 사용한다.
      ANSL/ISO SQL3 표준 DBMS 벤더별로 차이가 있었던, SQL을 표준화하여 제정했다.
  • SQL종류
    • 종류 설명
      DDL(Data Definition L) 관계형 DB 구조 정의 언어, 생성(CREATE), 변경(ALTER), 삭제(DROP), RENAME
      DML(Data Manipulation L) 테이블에서 데이터를 입력(INSERT), 수정(UPDATE),삭제(DELETE), 조회(SELECT)
      DCL( Data Control L) 데이터베이스 사용자에게 권한을 부여하거나 회수,GRANT, REVOKE, TRUMCATE
      TCL (Transaction Control L) 트랜잭션을 제어하는 명령어, COMMIT, ROLLBACK, SAVEPOINT
    • 작업 순서
      데이터베이스의 사용자에게 권한 부여하고 권한이 부여되면 DDL로 데이터구조 정의,
      데이터 구조가 정의되면 데이터를 입력한 후에 개발자 및 사용자가 그 데이터를 조회
    • 트랜잭션
      - 데이터베이스의 작업을 처리하는 단위
      트랜잭션 특성 설명
      원자성(Atomicity) 트랜잭션은 데이터베이스의 연산의 전부가 실행되거나 전혀 실행되지 않아야 한다
      = ALL OR NOTHING : 트랜잭션 처리 안끝나면 실행되지 않은 상태와 같아야 함
      일관성(Consistency) 트랜잭션 실행 결과로 데이터베이스 상태가 모순되지 않아야함
      = 실행 후 일관성 유지되어야 함
      고립성(Isolation) 트랜잭션 실행 중 생성하는 연산의 중간 결과는 다른 트랜잭션 접근 불가
      = 부분적 실행 결과를 다른 트랜잭션이 볼 수 없음
      영속성(Durability) 트랜잭션이 그 실행을 성공적으로 완료하면 그 결과는 영구적 보장이 되어야 함
  • SQL문의 실행 순서
    • 개발자가 작성한 SQL문(DDL DML DCL 등) 3단계를 걸쳐 실행
      > SQL문 문법 검사하고 구문 분석 > 구문분석 후 SQL실행 > 데이터 인출
      SQL 실행 순서 설명
      파싱(Parsing) SQL문의 문법을 확인, 구문분석 , 구문분석한 SQL문은 Library Cache에 저장
      실행(Execution) 옵티마이저가 수립한 실행 계획에 따라 SQL실행
      인출(Fetch) 데이터를 읽어서 전송
  • DDL
    • SQL문 설명
      Create Table NEW 테이블 생성, 생성 시 기본키 외래키 제약사항 등 설정
      Alter Table 생성된 테이블 변경, 컬럼 추가 변경 삭제 가능, 기본키 외래키 설정
      Drop Table 해당 테이블 삭제, 구조랑 저장된 데이터까지 모두 삭제
  • DML
    • SQL문 설명
      INSERT 이블에 데이터를 입력, 문자열 입력시 (' ')필요,
       *최종 데이터 저장시 TCL문의  Commt필요
      EX_ INSERT INTO table1 (column1, column12,..) VALUES(A1,A2,.)
      UPDATE 원하는 조건으로 데이털르 검색해서 해당 데이터를 수정
      EX_UPDATE table1 SET ENAME='RAN' WHER tableNO = 10
      =table1 테이블에서 tableNO가 10번인 사람 수정
      DELETE 원하는 조건을 검색해서 해당되는 행 삭제
      조건문을 입력하지 않으면 테이블에 있는 모든 데이터 삭제
      EX_DELETE FROM table1 WHERE tanlNO =10
      =table1 테이블에서 tableNO가 10번인 사람 삭제
      • 참고!! 테이블의 모든 데이터 삭제
        - DELETE FROM 테이블명; : 테이블의 모든 데이터 삭제, 데이터 삭제해도 테이블 용량 감소X
        - TRUNCATE TABLE 테이블명; : 테이블의 모든 데이터 삭제, 데이터 삭제시 테이블 용량 초기화
728x90
반응형

'JAVA > SQL' 카테고리의 다른 글

[SQL Developer] 42회 SQLD 시험 후기 (결과 있음)  (0) 2021.10.07
SQLD 기본 - 관계형 데이터베이스  (0) 2021.07.11