Back-End/DBMS(Oracle)

[Oracle] SQL문(Structured Query Language)

챌링킴 2021. 4. 18. 19:03
반응형

1) SQL문(인터프리터 언어)

   Structured Query Language

- 한줄씩 번역되고 빈번한 수정이 있을 때 효율적이다.

- 번역과 동시에 실행된다. (번역파일이 따로 존재하지 않는다.)

* 하나의 쿼리문을 썼다면 실행 시 그 쿼리문만 실행


2) DDL(Data Definition Language, 데이터정의어)
   테이블 관련된 쿼리문

  • CREATE : 테이블 생성
  • ALTER : 테이블 수정
  • DROP : 테이블 삭제
  • RENAME : 테이블 이름 수정

 

3) DML(Data Manipulation Language, 데이터 조작어)

  • SELECT : 데이터 검색
  • INSERT : 데이터 추가
  • UPDATE : 데이터 수정
  • DELETE : 데이터 삭제

 

4) DCL(Data Control Language, 데이터 제어어)

  • GRANT : 사용자에게 권한 부여
  • REVOKE : 권한 부여 취소

 

5) TCL(Transaction Control Language, 트랜잭션 제어어)

   DML을 위한 명령

   Transaction - 하나의 작업 단위

  • COMMIT : 지금까지 작업한 모든 내용을 확정하는 명령어. 변경된 내용이 모두 영구적으로 파일에 저장
  • ROLLBACK : 트랜잭션 작업을 취소 및 원래대로 복구. 이전의 상태로 되돌리는 명령어. 직전에 COMMIT했던 파일의 상태로 복구
  • SAVEPOINT : 저장 지점을 설정하는 것(like 임시저장)

 

6) 자료형
1. 숫자
- NUMBER(자리수) : 정수
- NUMBER(전체자리수,소수자리수): 실수
ex) NUMBER(4,2) --> 10.22

2. 문자열
- CHAR(크기) => 고정형, 전체크기보다 넣는 데이터의 크기가 작다면 빈 자리를 공백으로 채워서 크기를 맞춰준다.
- CHAR(4) 에 'A' 데이터를 넣으면
ex) 'A^^^' --> 빈 자리가 공백으로 채워짐
고정적인 길이의 데이터들을 저장하기 위해 사용

- VARCHAR(크기) => 가변형, 전체 크기보다 넣는 데이터의 크기가 작다면 값의 크기만큼 공간이 배정된다.

- VARCHAR(4) 에 'A' 데이터를 넣으면
ex) 'A' --> 공백이 생기지 않고 값의 길이만큼 배정

- VARCHAR2(크기)
- VARCHAR 완벽하게 똑같음
ex) VARCHAR2(10) : 한글 3자, 영문,숫자 10자


3. 날짜(DATE)
- 서식(Format)에 맞춰서 날짜, 시간 정보들을 저장하는 타입
- 저장하고자 하는 시간을 사진으로 찍어서 저장한다고 생각하기

7) 제약 조건

   컬럼에 일정한 조건을 부여해서 조건에 부합한 데이터는 들어올 수 없도록 막아주는 것
- UNIQUE : 고유한 값, 중복X
- NOT NULL : 비어있을 수 없음
- DEFAULT : 이 항목을 누락할 경우 기본값을 이것으로 설정

- CHECK(범위) : 이 범위 안에서의 데이터만 저장허용

- PRIMARY KEY : 기본 키(레코드를 식별하는 대표값),  NOT NULL + UNIQUE의 형태, 하나의 레코드가 여러 개의 기본 키를 가질 수 없음


8) 테이블 생성

CREATE TABLE 테이블명(
	컬럼명 자료형 제약조건(생략가능),
	컬럼명 자료형 제약조건(생략가능),
	...,
	CONSTRAINT 제약조건명 제약조건(컬럼) [REFERENCES ????]
);
반응형