Published 2021. 12. 28. 02:02

- SQL

Structed Query Language

한 줄 씩 번역, 실행 되며 빈번한 수정이 있을 때 효과적이다.

인터프리터 언어(번역문이 따로 존재하지 않는다.)

 

 

- SQL문

DDL, DML, TCL, DCL 이 있다.

 

 

- DDL

Data Definition Language : 데이터 정의어

테이블에 관련된 쿼리문

 

CREATE : 테이블 생성

DROP : 테이블 삭제

ALTER : 테이블 수정

 

 

- 자료형

숫자

NUMBER(n) : n자리 정수

NUMBER(n,m) : n (전체자리수) / m (소수점자리수)

ex) NUMBER(4,2) ----> 10.32

 

문자열

CHAR(n) : n바이트의 문자열 (고정형), 빈 자리는 그대로 남겨준다.

ex) CHAR(4) --> [ ] --> 'A'을 넣으면 --> [A ]

VARCHAR(n) : n바이트의 문자열 (가변형), 빈 자리는 할당 해제

VARCHAR2(n) : n바이트의 문자열(가변형), 빈 자리는 할당 해제

ex) VARCHAR2(4) --> [ ] --> 'A'을 넣으면 --> [A]

 

시간(날짜)

DATE : 한 순간에 대한 시간 정보를 저장하는 타입

 

 

- 테이블 생성

제약조건은 생략이 가능하다.

CREATE TABLE 테이블명 (
		컬럼명1 자료형 [제약조건], 
		컬럼명2 자료형 [제약조건],
		....
		[제약조건]
	);

- 테이블 삭제

DROP TABLE 테이블명;

 

 

- 테이블 수정

[ ] 안에있는 내용은 생략가능

ALTER TABLE 테이블명

테이블명
	RENAME TO 새로운테이블명
		
컬럼수정
	컬럼추가
		ADD(컬럼명 자료형 [제약조건])
	컬럼수정
		MODIFY (기존컬럼명 새로운 자료형)
	컬럼삭제
		DROP(컬럼명)	
			
제약조건수정	
	제약조건 추가

 

 

- FOREIGN KEY

	CONSTRAINT 제약조건명 FOREIGN KEY(제약조건줄컬럼명) 
					REFERENCES 참고할테이블명(참고할 컬럼명)

 

 

- 관계성을 맺은 테이블

FOREIGN KEY를 부여한 테이블은 자식 테이블 , 참고되고 있는 테이블은 부모테이블

 

값 추가 / 테이블 생성 : 부모 먼저, 그 다음 자식

값 삭제/ 테이블 삭제 : 자식 먼저, 그 다음 부모

 


테이블 생성, 삭제, 수정, PK,FK 사용 해보기!

-- Ctrl + Enter = 실행
CREATE TABLE TEST (
 INTDATA NUMBER(4),
 STRDATA VARCHAR2(300)
);

-- PK
CREATE TABLE CAR ( 
 CARNUM VARCHAR2(300) PRIMARY KEY,
 BRAND VARCHAR2(300),
 COLOR VARCHAR2(300),
 PRICE NUMBER(5)
);
-- 먼저 작성한 코드를 실행안하면 같은 이름의 테이블 생성가능
-- 위의 코드와 아래의 코드는 동일하게 실행되지만, 아래의 방법을 더 많이 씀!
CREATE TABLE CAR (
 CARNUM VARCHAR2(300),
 BRAND VARCHAR2(300),
 COLOR VARCHAR2(300),
 PRICE NUMBER(5),
CONSTRAINT CAR_PK PRIMARY KEY(CARNUM)
);
-- 테이블 삭제
DROP TABLE CAR;

-- 테이블 수정
ALTER TABLE CAR ADD (OWNER VARCHAR2(300));
ALTER TABLE CAR MODIFY (OWNER VARCHAR2(301));

-- FK
CREATE TABLE OWNER (
 ID VARCHAR2(300),
 NAME VARCHAR2(300),
 PHONE VARCHAR2(300),
 ADDR VARCHAR2(1000),
CONSTRAINT OWNER_PK PRIMARY KEY(ID)
);

-- PK, FK 포함해서 테이블 생성하기
CREATE TABLE CAR ( 
 CARNUM VARCHAR2(300),
 BRAND VARCHAR2(300),
 COLOR VARCHAR2(300),
 PRICE NUMBER(5),
 ID VARCHAR2(300),
CONSTRAINT CAR_PK PRIMARY KEY(CARNUM),
CONSTRAINT CAR_OWNER_FK FOREIGN KEY(ID) REFERENCES OWNER(ID)
);

 

'WEB > DBMS' 카테고리의 다른 글

DAY 04 : 형변환, 함수, SELECT문, ....  (0) 2021.12.30
DAY03 : 모델링, 정규화, DML, 조건절  (0) 2021.12.30
DAY 01 : DB, DBMS 설치  (0) 2021.12.28
복사했습니다!