1. INSERT

번에 건만 입력

  1. 테이터의 칼럼을 정의할 있음

INSERT INTO 테이블명 (COLUMN_LIST)VALUES (COLUMN_LIST에 넣을 VALUE_LIST);

  1. 모든칼럼에 데이터를 입력하는 경우는 순서대로 빠짐없이 데이터가 입력되어야

INSERT INTO 테이블명VALUES (전체 COLUMN에 넣을 VALUE_LIST);

Char, varchar2 경우에는 ' ' 붙이고 숫자일 경우는 상관없음, NULL 직접 입력할 있음

 

2. UPDATE

정보 수정하는 경우

UPDATE 테이블명 SET 수정되어야 할 칼럼명 = 수정되기를 원하는 새로운 값;

 

3. DELETE

데이터를 삭제하는 경우, where절을 사용하지 않을 경우 테이블 전체 데이터가 삭제됨

DELETE [FROM] 삭제를 원하는 정보가 들어있는 테이블명;

 

DDL(Create, Alter, Rename, Drop) 직접 테이블에 영향을 미치기 때문에 AUTO COMMIT 발생

하지만, DML(Insert, Update, Delete, Select) 테이블을 메모리 버퍼에 올리고 작업하기에 실시간 영향 미발생

반드시 DML 이후에는 TRANSACTION 명령어 수행 종료해야함

그러나, SQL server DML경우에도 AUTO CUMMIT 발생

 

데이터 전체를 삭제하고 싶을때는?

삭제된 데이터 로그를 저장하는 DELETE TABLE 보단 시스템 부하가 적은 TRUNCATE TABLE 권고 , ROLLBACK 불가

SQL server TRUNCATE TABLE 이후 ROLLBACK 하여 원상태 복구 가능

 

4. SELECT

데이터 조회

SELECT [ALL/DISTINCT] 조회할 컬럼명 FROM 칼럼이 있는 테이블명;

 ALL : Default 유형, 중복된 데이터가 있어도 모두 출력

DISTINCT : 중복된 데이터가 있는 경우 1건으로 처리해서 출력

 

  • WILDCARD

전체 칼럼을 한번에 보려고 할때, * 애스터 리스크를 사용

SELECT * FROM 테이블명;

 

문자 날짜는 좌측정렬, 숫자는 우측정렬, 기본적으로 대문자로 보임

 

  • ALIAS(별명) 부여하기

칼럼명 바로 뒤에, 또는 as 붙여서 사용함, 공백이나 특수문자, 대소문자를 구분할 경우  " " 표현

SQL server 경우 " " , ' ' , [ ] 방식으로 별명 부여

 

5. 산술연산자와 합성연산자

 

. 산술연산자

Number date 자료형에 대해 적용

우선순위는 괄호적용  순서 : ()    *, /  +, -

사용후에는 별명 붙여서 새로운 의미 부여

 

. 합성연산자

문자와 문자를 연결하는 연산자, 캄럼과 문자또는 다른 칼럼 연결 가능, 새로운 칼럼 생성 가능

ORACLE 경우는 || , SQLserver 경우는 +, 두가지 모두 CONCAT(string 1, string2) 함수 사용 가능

 

6. 추가정보

. Delete(/modify) Action

  1. Cascade : Master 삭제시 Child 삭제
  2. Set Null : Master 삭제시 Child 해당 필드 Null
  3. Set Default : Master 삭제시 Child 해당 필드 Default 값으로 설정
  4. Restrict  : Child 테이블에 PK 값이 없는 경우만 Master 삭제 허용
  5. No Action : 참조무결성을 위반하는 삭제/수정 액션을 취하지 않음

 

. Insert Action

  1. Automatic : Master 테이블에 PK 없는 경우 Master PK 생성한 Child 입력
  2. Set Null : Master 테이블에 PK 없는 경우 Child 외부키에 Null 값으로 처리
  3. Set Default : Master 테이블에 PK 없는 경우 Child 외부키를 지정된 기본값으로 입력
  4. Dependent : Master 테이블에 PK 존재 때만 Child 외부키를 지정된 기본값으로 입력
  5. No Action : 참조무결성을 위반하는 입력 액션을 취하지 않음

 

. DROP/TRUNCATE/DELETE 차이점

DROP

TRUNCATE

DELETE

DDL

DDL (일부 DML성격 가짐)

DML

Rollback 불가능

Rollback 불가능

commit  이전 Rollback 가능

Auto commit

Auto commit

 사용자 commit

테이블이 사용했던 Storage 모두 Release

테이블이 사용했던 Storage 최초 테이블

생성시 할당된 Storage 남기고 Release

데이터를 모두 Delete 해도 사용했던

 Storage Release 되지 않음

테이블 정의 자체를 완전히 삭제함

테이블 최초 생성된 초기상태로 만듬

데이터만 삭제


'자격증 공방 > SQLD' 카테고리의 다른 글

제 3-5절 WHERE 절  (0) 2018.07.07
제 3-4절 TCL (TRANSACTION CONTROL LANGUAGE)  (0) 2018.07.07
제 3-2절 DDL  (0) 2018.07.07
제 3-1절 관계형 데이터베이스 개요  (0) 2018.07.07
제 2-6절 분산 데이터베이스와 성능  (0) 2018.07.07

+ Recent posts