티스토리 뷰

728x90

SQL의 분류 

 : 4가지 종류로 나뉜다

  1. DML : 데이터 조작어 (SELECT, INSERT, UPDATE, DELETE)
  2. DDL : 데이터 정의어 (CREATE, DROP, ALTER, TRUNCATE)
  3. DCL : 데이터 제어어 (GRANT, REVOKE)
  4. TCL : 트랜잭션 처리어 (COMMIT, ROLLBACK, SAVEPOINT)

 

**SQL에서는 이렇게 부른다
튜플 = ROW = 행
Attribute = COLUMN = 속성 = 열
릴레이션 = Table

 

DDL

데이터 베이스 객체를 생성할 때 사용 사용하면 확정(COMMIT) = LOLBACK 이안됨 이다.

**Oracle에서만 자동 commit이고, sql server에서는 자동이 아니다..

 

CREATE TABLE : 테이블 생성

컬럼이름을 지을 때는..

  • 다른 테이블과 중복은 불가능
  • 테이블명과, 컬럼명은 문자로 시작해야한다
  • 특수기호는_,$,# 만 허용된다

create table(view나 다른게 올수도 있다) 테이블이름 (컬럼정보,,)

 

컬럼정보는 컬럼이름과 데이터 타입으로 표기한다..
컬럼에서 사용하는 데이터타입..

*꼭! 알아야하는 데이터 타입 
VARCHAR2(n) : 가변길이 문자열
CHAR(n) : 고정길이 문자열
NUMBER : 실수와 정수 함께 사용
DATETIME : 날짜

 

제약조건

 : 데이터 타입뒤에는 다음과 같은 제약조건을 붙여준다

 

customer_id VARCHAR2(20) NOT NULL

customer_id(컬럼)를 길이가 최대 20인 가변 길이 문자열 데이터로 하고, NULL을 허용하지 않음

 

customer_id INT DEFAULT 0

customer_id(컬럼)를 정수형으로 하고, 입력된 customer_id가 없다면 0이 기본으로 저장되도록 함

 

PRIMARY_KEY(customer_id)

customer_id(컬럼) 을 기본키로 지정 

** 기본키는 중복불가(UIQUE) 와 NULL값 불가 (NOT NULL)의 제약조건을 합쳐논 것과 같다.

 

UNIQUE(customer_id)

customer_id을 대체키로 지정 ( NULL가능, 중복불가)

 

CHECK(stock >= 0 AND stock <=1000)

stock(컬럼)은 항상 0개 이상, 1000개 이하로 함 (조건걸어주기)

 

 

ALTER TABLE : 테이블 수정하기 

 

TRUNCATE TABLE : 테이블 데이터 만 삭제하기 (롤백 불가능) 

** ORACLE DDL은 자동으로 COMMIT되기 때문에,, ROLLBACK이 불가능하고 롤백불가능한 DELETE라고 생각..

TRUNCATE DROP : 테이블 구조 자체를 삭제하기 (롤백 불가능) 

 

 

DML

 

SELECT(SELECT FROM WHERE GRUPBY ORDER BY)

테이블이나 뷰에 있는 데이터를 조회 

where (조건)

group by (그룹)

order by (정렬)

 

INSERT (INSERT VALUES)

행 추가하기 

넣고 싶은 컬럼 쓰고, VALUES에 순서대로 값 넣기 (한줄) 
전체값을 다 넣어줄 때 (한줄)
여러줄을 넣어줄 때 사용 한다

 

UPDATE (UPDATE SET WHERE)

데이터 수정 

 

DELETE (DELETE WHERE)

데이터 삭제

 

DCL

GRANT : 권한 할당

REVOKE : 할당된 권한 해제

 

TCL

COMMIT : 변경된 내용 영구저장 (이걸 하지 않으면 LOCK이 걸려서 다른사람들이 접근이 불가능 하다.) 

** insert delete update를 하게되면 COMMIT 은 무조건 하자구!!! (그전에 확인은 필수다)

 

ROLLBACK : 변경되기 이전 상태로 되돌림

댓글