ORACLE 공부 2일차 2020/07/22
2020-07-22
1) 2. 테이블 삭제
-DROP 명령 사용
-ROLLBACK의 대상
(사용형식)
DROP TABLE 테이블명;
-- EMP의 테이블을 참조하는 WORK 테이블이 있어서 바로 삭제가 안된다.
--관계를 삭제하던, 하위 테이블을 삭제한다.
DROP TABLE WORK;
02)테이블 수정
-ALTER 명령으로 수정
-컬럼 추가 /변경/삭제
-테이블명 수정
-제약조건 (기본키, 외래키) 추가, 삭제, 수정
1)테이블 명 수정
(사용형식)
ALTER TABLE OLD_테이블명
RENAME TO NEW_테이블명;
예)EMP 테이블 이름을 EMPLOYEE로 변경하시오
ALTER TABLE EMP RENAME TO EMPLOYEE;
2)컬럼 추가
(사용형식)
ALTER TABLE 테이블명
ADD 컬럼명 데이터타입[(크기)] [DEFAULT 값] [NOT NULL | NULL];
예) 사업장 테이블 (SITE)에 시공일자 컬럼을 추가하시오.
시공일자 : S_START_DATE DATE이고 기본값으로 오늘 날짜입력
ALTER TABLE SITE
ADD S_START_DATE DATE DEFAULT SYSDATE;
3) 컬럼 변경
-컬럼 의 데이터 타입, 크기, 기본값을 변경
(사용형식)
ALTER TABLE 테이블명
MODIFY 컬럼명 데이터타입[(크기)] [DEFAULT 값] [NOT NULL | NULL],
[컬럼명 데이터타입[(크기)] [DEFAULT 값] [NOT NULL | NULL]];
예) 사업장 자재 테이블(SITE_ITEM)에서 자재이름(SI_ITEM_NAME)의 데이터 타입을 CHAR(70)으로 변경하시오
ALTER TABLE SITE_ITEM
MODIFY SI_ITEM_NAME CHAR(70);
4)컬럼 명 변경
-컬럼의 이름을 변경
(사용형식)
ALTER TABLE 테이블명
RENAME COLUMN OLD_컬럼명 TO NEW_컬럼명;
예) 사원테이블 (EMPLOYEE)에서 사원의 주소(E_ADDRESS) 컬럼명을 E_ADDR로 바꾸세요
ALTER TABLE EMPLOYEE
RENAME COLUMN E_ADDRESS TO E_ADDR;
5)컬럼 삭제
(사용형식)
ALTER TABLE 테이블명
DROP COLUMN 컬럼명 ;
예) 사업장 테이블(SITE)에서 시공일자 컬럼(S_START_DATE)을 삭제하시오
ALTER TABLE SITE
DROP COLUMN S_START_DATE;
6)제약 조건 변경
-기본키 및 외래키 설정 추가/변경/삭제
(사용형식)
ALTER TABLE 테이블명
ADD CONSTRAINT 기본키 설정명 PRIMARY KEY(컬럼명[,컬럼명,.......]),
[CONSTRAINT 외래키 설정명 FOREIGN KEY(컬럼명[,컬럼명,.......])
REFERENCES 외부테이블 (컬럼명)];
MODIFY CONSTRAINT 기본키 설정명 PRIMARY KEY(컬럼명[,컬럼명,.......]),
[CONSTRAINT 외래키 설정명 FOREIGN KEY(컬럼명[,컬럼명,...])
REFERENCES 외부테이블명(컬럼명)];]
[DROP CONSTRAINT 기본키 설정명 | 외래키 설정명 ;]
---------------------------------------------------------------------------------
03) DML (DATA MANIPULATION LANGUAGE)
-INSERT삽입, UPDATE수정, DELETE삭제
1. INSERT 문
- 테이블에 새로운 자료를 삽입
-새롭게 삽입하고자 하는 데이터가 테이블에 존재하지 않아야 함
-너무 긴 글은 입력안됨 MAX : 50BYTE
(사용형식)
INSERT INTO 테이블명[(컬럼명[,컬럼명,....])]
VALUES(값1[, 값2 ,........]);
- 테이블명[컬럼명[,컬럼명,........])]에 기술된 컬럼의 갯수, 순서, 타입과
VALUES 다음의 값의 갯수,순서, 타입은 일치해야한다.
- 테이블명 다음 컬럼명이 생략되면 테이블 생성시 정의한 모든 칼럼의
값을 기술된 순서에 맞게 VALUES절에 정의 해야한다.
- 테이블명[컬럼명[,컬럼명,........])]에서 컬럼명을 기술하는 경우는
모든 칼럼에 값을 정의하지 않는 경우 사용되며.
컬러므이 제약사항 중 NOT NULL 항목은 생략한다.
예) 사원테이블에 다음의 자료를 입력하시오
사원번호 사원명 주소 전화번호 직위 부서명
-------------------------------------------------------------------------------------------
E101 홍길동 대전시 중구 대흥동 042-222-8208 사원 개발팀
E201 강감찬 서울 성북구 장위동 02 -123-3456 부장 운영팀
E202 홍길순 대전시 서구 유천동 010-1234-5678 사원 개발팀
---------------------------------------------------------------------------------------------
SELECT * FROM EMPLOYEE;
INSERT INTO EMPLOYEE(E_EMP_NO, E_NAME ,E_ADDR, E_POSITION, E_DEPT)
VALUES('E101', '홍길동', '대전시 중구 대흥동', '사원', '개발팀');
INSERT INTO EMPLOYEE
VALUES( 'E201', '강감찬', '서울 성북구 장위동', '02 -123-3456', '부장', '운영팀');
INSERT INTO EMPLOYEE
VALUES( 'E202', '홍길순', '대전시 서구 유천동', '010-1234-5678', '사원', '개발팀');