[SQLD 2과목] SQL 기본

2023. 6. 9. 13:43SQLD

* SQL 문장들의 종류

데이터 조작어 (DML) SELECT  데이터를 조회 검색(RETRIEVE)
INSERT 데이터를 변형 - 새로운 행 추가
UPDATE 데이터를 변형 - 데이터 수정
DELETE 데이터를 변형 - 데이터 삭제
데이터 정의어(DDL) CREATE 테이블 생성
ALTER 테이블 수정
DROP 테이블 삭제
RENAME 테이블 이름 변경
데이터 제어어(DCL) GRANT  
REVOKE  
트랜잭션 제어어(TCL) COMMIT 트랜잭션 변경을 영구적으로 저장
ROLLBACK 트랜잭션 변경을 취소하고 전 상태로 복구

* ALTER

- 컬럼 추가 ALTER TABLE + ADD COLUMN

- 특정 컬럼의 이름 변경 ALTER TABLE + RENAME CO LUMN '기존명' TO '바꾸려는 명

- 테이블 명을 변경. ALTER TABLE + RENAME TO

- 해당 컬럼의 데이터 타입 변경 ALTER TABLE + MODIFY COLUMN

- 컬럼명과 컬럼의 데이터 타입 동시에 변경 ALTER TABLE + CHANGE COLUMN

- 특정 컬럼 제거 ALTER TABLE + DROP COLUMN

 

- 기본 키 변경

1. 기존의 기본키 삭제

ALTER TABLE '테이블 명'
DROP PRIMARY KEY;

2. 새로운 기본키 지정

ALTER TABLE '테이블 명'
ADD PRIMARY KEY('기본키로 지정할 열 이름');

 

* 제약조건의 종류 (데이터 무결성을 유지)

1) PRIMARY KEY(기본키)

- NULL 값 X, 중복된 값 X 

2) UNIQUE KEY(고유키)

- NULL 값 O, 중복된 값 X, 

3) NOT NULL

-  NULL 값 x

4) CHECK

- 데이터의 유효성 ex) 날짜의 제약조건이면 해당 날짜 값이 특정 범위에 있어야함

5) FOREIGN KEY(외래키)

- 주 키를 참조, 주 키 값과 일치 X, NULL 값 x 

 

* 테이블에 데이터를 입력하는 두 가지 유형 

1) INSERT INTO 테이블 명 

(컬럼 명)

VALUES

(넣을 값)

2) INSERT INTO 테이블 명

VALUES

(전체 컬럼에 넣을 값)

 

* 입력된 데이터의 수정

UPDATE 테이블명

SET 수정할 컬럼명 = 수정되기 원하는 값

 

* PK 지정하는 ALTER 문

ALTER TABLE PRODUCT ADD CONSITRAINT PRODUCT_PK PRIMARY KEY(PROD_ID);

 

* PK 지정하는 CREATE 문

1) 필드이름 필드타입 PRIMARY KEY,

 2)[CONSTRAINT 제약조건이름] PRIMARY KEY (필드이름)

 

* NULL의 설명

- 모르는 값

- 값의 부재

- 현재 데이터를 입력하지 못한 경우

 

* 트랜잭션 격리성이 낮은 경우 문제점

1. Dirty Read: 다른 트랜잭션에서 아직 커밋되지 않은 데이터를 읽는 것으로, 데이터의 일관성이 깨질 수 있습니다.
2. Non-Repeatable Read: 같은 트랜잭션 내에서 동일한 쿼리를 실행했을 때, 결과가 다른 경우로, 일관성 없는 읽기 결과를 얻을 수 있습니다.
3.Phantom Read: 한 트랜잭션이 범위 조건에 맞는 데이터를 읽은 후, 다른 트랜잭션이 같은 범위에 새로운 데이터를 추가하거나 삭제하는 경우로, 일관성 없는 결과가 발생합니다

 

다시 볼 문제 7번 

'SQLD' 카테고리의 다른 글

[SQLD 1과목] 데이터 모델과 성능  (0) 2023.06.08