Table 다루기

✒️ 2025-06-02 10:04 내용 수정


DDL을 이용한 테이블 생성 및 편집

Oralce 참고사항


1. 테이블 생성

CREATE TABLE 테이블명 ( 
	속성명1 데이터타입, -- 속성이 여러 개일 때 콤마 ","로 구분
	속성명2 데이터타입 -- 마지막 속성에는 콤마 제외
); -- 세미콜론 ";" 필수

CREATE TABLE 테이블명 ( 속성명1 데이터타입, 속성명2 데이터타입 );
CREATE TABLE TBL_MEMBER (
	NAME varchar2(500),
	AGE number(2)
);

CREATE 1.png

CREATE TABLE CAR(
	ID NUMBER,
	BRAND varchar2(100),
	COLOR varchar2(100),
	PRICE NUMBER,
	CONSTRAINT CAR_PK PRIMARY key(ID)
);

CREATE 2.png
CREATE 3.png


2. 제약 조건 삭제

ALTER TABLE 테이블명 DROP CONSTRAINT 제약조건명; -- 속성 삭제
ALTER TABLE CAR DROP CONSTRAINT CAR_PK;

3. 제약 조건 추가

ALTER TABLE 테이블명 ADD CONSTRAINT 제약조건명 제약조건종류; -- 이미 생성된 테이블에 제약 조건 추가
ALTER TABLE CAR ADD CONSTRAINT CAR_PK PRIMARY KEY(ID);

4. 테이블 제거

DROP TABLE 테이블명;
DROP TABLE CAR;

5. 테이블 생성 시 제약 조건 추가

CREATE TABLE 테이블명(
	속성명 데이터타입 CONSTRAINT 제약조건명 제약조건종류
);

CREATE TABLE 테이블명(
	속성명 데이터타입 제약조건종류
);

CREATE TABLE 테이블명(
	속성명 데이터타입,
	CONSTRAINT 제약조건명 제약조건종류
);
CREATE TABLE ANIMAL(
	ID NUMBER PRIMARY KEY, -- 제약 조건 추가
	"TYPE" VARCHAR2(100), -- TYPE이라는 속성 이름을 사용한다.
	AGE NUMBER(2),
	REED VARCHAR2(100)
);

6. 제약 조건 여러 개 추가하기

CREATE TABLE 테이블명(
	속성명 데이터타입 제약조건1 제약조건2 CONSTRAINT 제약조건3명 제약조건3종류
);
CREATE TABLE COMPUTER(
	ID NUMBER CONSTRAINT IN_PK PRIMARY KEY, -- 속성 생성과 동시에 제약 조건 부여
	NAME VARCHAR2(100),
	OS VARCHAR2(100),
	"POWER" CHAR(1) DEFAULT 'O' NOT NULL CONSTRAINT POWER_CHECK CHECK("POWER"='O' OR "POWER"='X'), -- 제약 조건 여러개 부여
	STARTDATE DATE CONSTRAINT START_DATE CHECK(STARTDATE >= TO_DATE('2023-10-25', 'YYYY-MM-DD')), -- 속성 생성과 동시에 제약 조건 부여
	CONSTRAINT NAME_UN UNIQUE (NAME) -- 위에 있는 속성에 제약 조건 부여
);

CONSTRAINT 2.png


7. PK 참조하기

CREATE TABLE 테이블명1(
	속성명1 데이터타입 PRIMARY KEY;
);

CREATE TABLE 테이블명2(
	속성명1 데이터타입 PRIMARY KEY;
	속성명2 데이터타입, -- FK로 사용할 속성
	CONSTRAINT 제약조건명 FOREIGN KEY(속성명2) REFERENCES 테이블명(PK 속성명)
);
-- 학생 테이블 생성
CREATE TABLE STUDENT(
	ID VARCHAR2(100) PRIMARY KEY,
	STD_NAME VARCHAR2(100),
	STD_GRADE NUMBER,
	STD_PW VARCHAR2(100),
	STD_MAJOR VARCHAR2(100),
	STD_SCORE NUMBER
);

-- 수업 수강인원 테이블 생성
CREATE TABLE CLASS(
	ID VARCHAR2(100) PRIMARY KEY,
	CLASS_ROOM NUMBER,
	PROFESSOR VARCHAR2(100),
	STD_ID VARCHAR2(100),
	CONSTRAINT STD_FK FOREIGN KEY(STD_ID) REFERENCES STUDENT(ID)
);

-- 강의실 테이블 생성
CREATE TABLE LIBRARY(
	ID VARCHAR2(100) PRIMARY KEY,
	CLASS_ID VARCHAR2(100),
	LOCATION VARCHAR2(100),
	ROOM_NUMBER NUMBER,
	REV_PLACE NUMBER,
	STD_ID VARCHAR2(100),
	CONSTRAINT CLASS_FK FOREIGN KEY(CLASS_ID) REFERENCES CLASS(ID),
	CONSTRAINT STD_PLACE_FK FOREIGN KEY(STD_ID) REFERENCES STUDENT(ID)
);

PK참조 1.png
PK참조 3.png
PK참조 4.png