- 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 |