10/4 ~ 10/20
Oracle 데이터베이스 복습기록
-테이블 같은 데이터 저장소 객체를 만들거나 수정한다.
-CREATE : 새로운 객체(OBJECT)를 생성할 때 사용하는 명령어
CREATE TABLE : 테이블 생성
CREATE USER : 사용자 계정 생성
CREATE SEQUENCE : 시퀸스 생성
CREATE VIEW : 뷰 생성
(1)자료형
-VARCHAR2(n) : 문자형 값을 n 바이트까지 입력받을 수 있는 가변형 문자열
-CHAR(n) : 문자형 값을 n 바이트까지 입력받을 수 있는 고정형 문자열
-NUMBER(n, m) : 숫자형 값을 n자리만큼 입력받고 m자리만큼 소수를 입력
-DATE : 날짜값을 입력 / TIMESTAMP를 사용하기도 함
(2) 테이블 생성 문법
CREATE TABLE QUIZ_TABLE (
Q_ID NUMBER(3, 0) NOT NULL,
Q_CONTENT VARCHAR2(200) NOT NULL,
Q_ANSWER VARCHAR2(100),
REG_DATE DATE DEFAULT SYSDATE
)
※이름 규칙 주의사항
1. 대소문자 구분없음
2. 중복되는 테이블명 안됨
3. 테이블 내에서 컬럼명 중복 안됨
4. 문자로 시작하며 예약어는 사용불가
-테이블에 입력가능한 데이터를 조건으로 제약하는 것
-식별자 규칙을 물리적 모델링한 것
-특정 컬럼을 식별자로 만들면 자동으로 NOT NULL + UNIQUE 성질을 가짐
ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 PRIMARY KEY(컬럼);
-PRIMARY KEY와 다르게 NULL 값을 입력할 수 있으며, 중복은 불가능하다
ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 UNIQUE(컬럼);
-NULL값이 들어오지 않게 함
-특정 컬럼에 데이터를 입력할 때 지정한 데이터만 입력할 수 있도록 함
ALTER TABLE TB_CUST ADD CONSTRAINT CK_DEL_YN CHECK(DEL_YN IN ('Y', 'N'));
TB_CUST 테이블의 CK_DEL_YN 컬럼에 'Y'혹은 'N'만을 입력할 수 있도록 제약을 거는 코드
-테이블끼리 연결되어 있는 관계를 물리적 모델링한 것
ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명
FOREIGN KEY(참조받을 컬럼) REFERENCE 참조할 테이블(참조할 컬럼)
-테이블에 컬럼을 추가
ALTER TABLE 테이블명 ADD 컬럼형 자료형[DEFALUT][NOT NULL];
-테이블에서 컬럼을 삭제
ALTER TABLE 테이블명 DROP COLUMN 컬럼명;
-테이블에서 컬럼 속성을 변경
ALTER TABLE 테이블명 MODIFY (컬럼명 자료형 [DEFAULT][NOT NULL]);
-테이블에서 컬럼의 이름을 변경
ALTER TABLE 테이블명 RENAME COLUMN 컬럼명 TO 바꿀컬럼명
DROP TABLE 테이블명 [CASCADE CONSTRAINT]
-테이블을 영구 삭제한다. / CASCADE CONSTRAINT 옵션을 추가한다면 관련된 관계선도 모두 삭제한다
-테이블의 모든 데이터를 삭제한다.
TRUNCATE TABLE 테이블명
-DELETE : 데이터 삭제 > COMMIT 후 DELETE한 데이터 영구 삭제
-TRUNCATE : 테이블의 데이터 영구 삭제 / 테이블은 유지
-DROP : 모든 데이터 영구 삭제 / 테이블도 삭제
-PK의 컬럼에 유일한 일련번호를 만들 때 사용
CREATE SEQUENCE TEST_SEQ
INCREMENT BY 1
START WITH 1
-시퀸스 삭제하기(DROP)
DROP SEQUENCE TEST_SEQ
-일종의 "가상테이블"을 의미
-뷰 생성하기
CREATE VIEW 뷰 이름 AS
-뷰 사용원리 : 테이블처럼 FROM 뒤에 뷰 이름을 입력하여 사용한다 / 단, 실제로 뷰에 데이터가 존재하는 것이 아니다
-서브쿼리 기술 중 하나로 FROM 절에 쿼리를 작성하여 가상의 테이블처럼 사용하는 방식
(1) 자주 사용하는 쿼리를 저장하고 이용할 수 있어 편리하고, 연산이 간편해진다
(2) 원하는 데이터만 보여줄 수 있게 해 보안목적으로 사용할 수 있다
-뷰 삭제하기
DROP VIEW 뷰이름