CRUD 란?
약어로서 DB 또는 실무 프로젝트에서 많이 사용하는 용어
C (CREATE)
R (READ)
U (UPDATE)
D (DELETE)
DDL
DATA DEFINITION LANGUAGE
데이터 정의어
데이터베이스를 생성하거나 수정하기 위해 사용하며
데이터베이스의 논리적 구조와 물리적 구조를 정의한다.
[ CREATE , ALTER , DROP , TRUNCATE ]
< 1 >
CREATE
데이터 정의어 : CREATE문
테이블 생성
CREATE TABLE 테이블명 (
컬럼명 자료형(크기),
컬렴명 자료형(크기),
...
);
♠\ 참조 /♠
\ ( 1 ) /
자료형
NUMBER : 숫자 자료형
VARCHAR2 : 문자열 자료형 (가변 자료형)
CHAR : 문자열 자료형 (고정 자료형)
DATE : 날짜 자료형
자료형의 크기
단, 크기가 지정되면 그 크기 이하로만 값을 넣을 수 있음
NUMBER(크기)
자리수
( 예시 )
NUMBER(2) : 2자리수 숫자
NUMBER(2 , 3) : 2자리수 정수 + 3자리수 소숫점
NUMBER : 실수 , 정수 무한한 크기로 지정 가능
VARCHAR2(크기)
글자수
( 예시 )
VARCHAR2(4000) : 4000 = VARCHER2의 글자수 최고 크기
VARCHAR2 : 1글자
\ ( 2 ) /
COMMENT
테이블 / 컬럼에 상세 설명 붙이기
흔히 '주석' 이라고 알면 될것 같습니다.
TABLE COMMENT
COMMENT ON TABLE 테이블명 IS '코멘트'
COLUMN COMMENT
COMMENT ON COLUMN 테이블명.컬럼명 IS '코멘트';
\ ( 3 ) /
COPY
테이블의 데이터 , 구조를 복사한다.
데이터까지 포함해서 복사
CREATE TABLE 테이블
AS
SELECT * FROM 참조할 테이블
원하는 컬럼만 복사
+ 컬럼명을 다르게 지정하고 싶을때
CREATE TABLE 테이블명 (바뀔 이름의컬럼, 컬럼2...) <- 참조 테이블의 컬럼명과 다른이름으로 저장
AS
SELECT 컬럼,컬럼2.. FROM 참조할 테이블
데이터 빼고 테이블 설계(디자인)만 복사
CREATE TABLE 테이블
AS
SELECT * FROM 참조할 테이블
WHERE 1=2
♠\ 참조 /♠
WHERE 1=2 란?
거짓조건을 붙인 것입니다.
따라서 데이터를 빼고 설계만 복사가 됩니다.
< 2 >
ALTER
테이블 명 바꾸기
ALTER TABLE 기존테이블명 RENAME TO 이름
-- 또는
RENAME 기존테이블명 TO 이름변경
테이블 안의 컬럼명 바꾸기
ALTER TABLE 테이블명 RENAME COLUMN 컬럼명 TO 바꿀 컬럼이름
컬럼 추가하기
ALTER TABLE 테이블명 ADD 컬럼명 데이터 타입(크기)
컬럼 데이터 타입 변경하기
ALTER TABLE 테이블명 MODIFY 컬럼명 데이터타입(크기)
컬럼 삭제하기
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
기본키(PRIMARY KEY) 추가
ALTER TABLE 테이블명 ADD CONSTRAINT 기본키명 PRIMARY KEY(컬럼명);
기본키(PRIMARY KEY) 제거
ALTER TABLE 테이블명 DROP CONSTRAINT 기본키명;
기본 키가 외부키에의해 참조되고 있을 경우
CASCADE 옵션 사용
ALTER TABLE 테이블명 DROP CONSTRAINT 기본키명 CASCADE
♠\ 참조 /♠
CASCADE
자식테이블에 있는 외래키도 같이 삭제됨
외부키(FOREIGN KEY) 추가
ALTER TABLE 테이블명
ADD CONSTRAINT FK명 FOREIGN KEY [FK가 될 컬럼명] REFERENCE [PK가 위치하는 테이블](PK컬럼명)
외부키 제거하기
ALTER TABLE 테이블명 DROP CONSTRAINT FK명;
제약조건 변경하기
ALTER TABLE 테이블명
MODIFY 컬럼명 CONSTRAINT 제약조건이름 제약조건
< 3 >
DROP
테이블 삭제
DROP TABLE 테이블명
휴지통에서 테이블 복원
Flashback Table "복구할 테이블명" TO BEFORE DROP RENAME TO "복구테이블의 이름 다시 짓기"
TRUNCATE
데이터 전체 삭제만 가능하다
취소불가( = ROLLBACK 불가)
TRUNCATE TABLE "테이블명"
'데이터베이스 > ORACLE_DB' 카테고리의 다른 글
Oracle_SQL - 제약조건 (0) | 2023.09.14 |
---|---|
Oracle_SQL - 테이블 데이터 추가 , 조회 , 수정 , 삭제 (DML) (0) | 2023.09.13 |
Oracle_SQL - SubQuery (서브쿼리) (0) | 2023.09.12 |
Oracle_SQL - JOIN (조인) (0) | 2023.09.11 |
Oracle_SQL - GROUP BY (그룹함수) (0) | 2023.09.11 |