SQL의 분류에는 다음 3가지가 있다.
1. 데이터 정의어(DDL) : 테이블을 생성하고 변경 및 제거하는 기능 제공
2. 제이터 조작어(DML): 테이블에 데이터를 삽입, 삭제, 수정, 검색하는 기능을 제공
3. 데이터 제어어(DCL): 보안을 위해 데이터에 대한 접근 및 사용 권한을 사용자별로 부여하거나 취소하는 기능 제공
데이터 정의어(DDL)
1. 테이블 생성 : Create table
Create Table 테이블_이름 (
1. 속성_이름 데이터_타입 [Not null] [Default 기본값]
2. [Primary Key (속성_리스트)]
3. [Unique (속성_리스트)]
4. [Foreign key (속성_리스트) references 테이블_이름(속성_리스트)]
5. [Constraint 이름] [check(조건)]
);
Not null : 속성이 Null 값을 허용하지 않음
ex) 고객아이디 varchar(20) not null
Default : 속성의 기본 값 지정
ex) 담당자 varchar(10) default '김민성'
-데이터 타입들
데이터 타입 | 의미 |
int | 정수 |
smallint | int 보다 작은 정수 |
char(n) | 길이가 n인 고정 길이의 문자열 |
varchar(n) | 최대 길이가 n인 가번 길이의 문자열 |
numeric(p, s) 또는 decimal(p, s) | 고정 소수점 실수 p는 소수점을 제외한 전체 숫자의 길이고 s는 소수점 이하 숫자의 길이 |
float(n) | 길이가 n인 부동 소수점 실수 |
real | 부동 소수점 실수 |
date | 연, 월, 일로 표현되는 날짜 |
time | 시, 분, 초로 표현되는 시간 |
datetime | 날짜와 시간 |
Primary key : 기본키
Unique : 대체키를 지정, 대체키로 지정되는 속성의 값은 유일성을 가지며 기본키와 달리 NULL값이 허용됨
Foreign key : 외래키 지정, 어떤 테이블의 무슨 속성을 참조하는지 References 키워드를 제시 해야함
On delete 및 Update 조치 옵션 - 참조 무결성 제약조건 유지를 위해 참조되는 테이블에서 투플 삭제 혹은 변경시 처리 방법을 지정하는 옵션
- No action(디폴트 설정): 투플을 삭제 혹은 변경하지 못하게 함
- Set null : 관련 투플의 외래키 값을 Null로 설정
- Set Default : 관련 투플의 외래키 값을 미리 지정한 기본 값으로 변경함
Check : 테이블에 정확하고 유효한 데이터를 유지하기 위해 특정 속성에 대한 제약조건을 지정
Constraint 키워드와 함께 고유의 이름을 부여할 수도 있음
Ex) Check(재고량 >= 0 and 재고량 <= 10000)
Constraint CHK_CPY Check(제조업체 = '한빛제과')
2. 테이블 변경 : Alter table
- 새로운 속성 추가
Alter table 테이블_이름
Add 속성_이름 데이터_타입 [Not null] [Default 기본_값];
- 기존 속성 삭제
Alter table 테이블_이름
Drop column 속성_이름 [Cascade|Restrict];
- 새로운 제약조건의 추가, 삭제
Alter table 테이블_이름
add Constraint 제약조건_이름 제약조건_내용;
Alter table 테이블_이름
drop Constraint 제약조건_이름;
- 테이블 삭제
Drop table 테이블_이름 [Cascade|Restrict]
- 삭제할 테이블을 참조하는 테이블이 있는 경우
- Restrict : 테이블 삭제가 수행되지 않음
- Cascade : 관련된 테이블도 모두 삭제함
'개발 공부 > 데이터베이스' 카테고리의 다른 글
간단 SQL 정리 2. 데이터 조작어 Select(Where, Like, Order by, Group by, subquery) (0) | 2023.10.11 |
---|