교육 정보
- 교육 명: 경기미래기술학교 AI 교육
- 교육 기간: 2023.05.08 ~ 2023.10.31
- 오늘의 커리큘럼:
SQLD 특강 (8/21 ~ 8/25)- 강사: 조미정 강사님
- 강의 계획:
1. SQLD 특강
CREATE TABLE JOBS_TEMP
(
JOB_ID VARCHAR2(10) PRIMARY KEY,
JOB_TITLE VARCHAR2(35) NOT NULL,
SALRARY NUMERIC(6,0)
);
CREATE TABLE TEST
(
TEST_ID VARCHAR2(10) PRIMARY KEY,
TEST_TITLE VARCHAR2(35) NOT NULL
);
CREATE TABLE TEST
(
TEST_ID VARCHAR2(10) CONSTRAINT TEST_PK PRIMARY KEY,
TEST_TITLE VARCHAR2(35) CONSTRAINT TEST_NN NOT NULL,
TEST_NAME VARCHAR2(35) CONSTRAINT TEST_FK REFERENCES TEST2(TEST_NAME)
);
CREATE TABLE TEST
(
TEST_ID VARCHAR2(10),
TEST_TITLE VARCHAR2(35),
TEST_NAME VARCHAR2(35),
CONSTRAINT TEST_PK PRIMARY KEY (TEST_ID),
CONSTRAINT TEST_NN CHECK (LENGTH(NAME) > 2),
CONSTRAINT TEST_FK FOREIGN KEY (TEST_NAME) REFERENCES TEST2(TEST_NAME),
);
SELECT % FROM USER_CONSTRAINTS WHERE TABLE_NAME IN ('TEST', 'TEST2');
CREATE TABLE TEST3
AS SELECT * FROM TEST;
-- ADD
ALTER TABLE TEST ADD (TEST_ADDR VARCHAR2(100));
--MODIFY
ALTER TABLE TEST MODIFY (TEST_ADDR VARCHAR2(100) DEFAULT 'SEOUL;' NOT NULL NOVALIDATE);
--RENAME
ALTER_TABLE TEST RENAME COLUMN ADDR TO ADDRESS;
--DROP
ALTER TABLE TEST DROP COLUMN ADDRESS;
--ADD CONSTRAINT
ALTER TABLE TEST ADD CONSTRAINT TEST_PK_ID PRIMARY KEY (TEST_ID);
--ADD CONSTRAINT (FK)
ALTER TABLE TEST ADD CONSTRAINT TEST_FK_2 FOREIGN KEY (TEST_NAME)
REFERENCES TEST2(TEST_NAME);
→ 여기서 FK로 걸린 test2의 test_name 에 없는 값을 test table의 test_name에 입력하려하거나 test table에 입력되어있는 test_name 값을 test2에서 제거하려고 하면 무결성 제약조건 위배로 에러가 남
DELETE FROM TEST2
SELECT 와 달리 DELETE는 * 없이도 특정 행을 지정해주지 않으면 모든 행을 삭제함