테이블
-- 테이블 생성
-- CRUD : 약어 , DB 또는 실무 프로젝트 많이 사용하는 용어
-- C(CREATE 문(생성)), R(READ, SELECT 문(조회)), U(UPDATE 문(수정)), D(DELETE 문(삭제))
-- 테이블 의미 : DB(데이터베이스)에서 자료를 저장하는 곳(논리적 공간)
-- 프로젝트 : 개발자 계정으로 접속해서 테이블 등을 생성함 (SCOTT 계정)
데이터 정의어 DDL( DATA DEFINITION LANGUAGE )
테이블 CUD 예제
-- 08_Table_CUD.sql
-- 1) 테이블 생성 : DDL( DATA DEFINITION LANGUAGE : 데이터 정의어(용어))
-- NUMBER(크기) : 숫자 자료형, (실수, 정수 등)
-- 예) NUMBER(2) : 2자리수 정수, NUMBER(2, 3) : 2자리수 정수 + 3자리수 소수점
-- NUMBER : 실수, 정수 무한 크기로 지정가능
-- 단, 크기가 지정되면 그 크기 이하로만 값을 넣을 수 있음(기본)
-- VARCHAR2(크기) : 문자열 자료형, 가변자료형 (VS CHAR(크기): 고정자료형)
-- 예) VARCHAR2(4000) : 최고 크기, VARCHAR2 : 잘 안씀(1글자만 들어감)
-- 사용법) CREATE TABLE 테이블명(
-- 컬럼명 자료형(크기),
-- ...
-- );
CREATE TABLE DEPT(
DNO NUMBER(2),
DNAME VARCHAR2(14),
LOC VARCHAR2(13)
);
-- 예제 1) 사원테이블 : EMP
-- 컬럼명 : ENO(사원번호, 숫자(4,0)
-- ENAME (사원명, 문자형(10)
-- JOB(직위, 문자형(9)
-- MANAGER(관리자) 숫자(4,0)
-- HIREDATE 입사일, 날짜형 (DATE)
-- SALARY 월급, 숫자형(7,2)
-- COMMISSION 상여금, 숫자형(7,2)
-- DNO 부서번호, 숫자형(2,0)
CREATE TABLE EMP(
ENO NUMBER(4,0),
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MANAGER NUMBER(4,0),
HIREDATE DATE,
SALARY NUMBER(7,2),
COMMISSION NUMBER(7,2),
DNO NUMBER(2,0)
);
-- 실무 예 : 테이블만들기 : 테이블 복사(카피)
-- 예제2) DEPARTMENT 테이블 복사하기 : DEPT_COPY 테이블을 만드세요
-- 1) 데이터까지 포함해서 복사
-- 사용법) CREATE TABLE 복사할테이블명
-- AS
-- SELECT * FROM 원본테이블;
CREATE TABLE DEPT_COPY
AS
SELECT * FROM DEPARTMENT;
-- 2) 데이터 빼고 테이블 설계(디자인)만 복사
-- 사용법) CREATE TABLE 복사할테이블명
-- AS
-- SELECT * FROM 원본테이블
-- WHERE 거짓조건
CREATE TABLE DEPT_COPY2
AS
SELECT * FROM DEPARTMENT
WHERE 1=2; -- 거짓조건 아무거나 붙이면 데이터 빼고 복사됨
-- 컬럼/테이블 주석 : 테이블/컬럼에 상세 설명을 붙일 수 있음
-- 예제 3) DEPT 테이블에 테이블/컬럼 주석 달기
-- 1) 테이블 주석 달기
-- 사용법) COMMENT ON TABLE 테이블명 IS '테이블주석';
COMMENT ON TABLE DEPT IS '부서정보';
-- 2) 컬럼 주석 달기
-- 사용법) COMMENT ON COLUMN 테이블명.컬럼명 IS '컬럼주석';
COMMENT ON COLUMN DEPT.DNO IS '부서번호';
COMMENT ON COLUMN DEPT.DNAME IS '부서명';
COMMENT ON COLUMN DEPT.LOC IS '부서위치';
-- 예제 3) 사원테이블의 EMP 의 테이블 주석/컬럼주석을 작성해서
-- 만들어 주세요
-- 보기 : EMP ( 테이블주석 : 사원정보 )
-- 컬럼주석 : ENO(사원번호),
-- ENAME(사원명),
-- JOB(직위),
-- MANAGER(관리자),
-- HIREDATE(입사일),
-- SALARY(월급),
-- COMMISSION(상여금),
-- DNO(부서번호)
COMMENT ON COLUMN EMP.ENO IS '사원번호';
COMMENT ON COLUMN EMP.ENAME IS '사원명';
COMMENT ON COLUMN EMP.JOB IS '직위';
COMMENT ON COLUMN EMP.MANAGER IS '관리자';
COMMENT ON COLUMN EMP.HIREDATE IS '입사일';
COMMENT ON COLUMN EMP.SALARY IS '월급';
COMMENT ON COLUMN EMP.COMMISSION IS '상여금';
COMMENT ON COLUMN EMP.DNO IS '부서번호';
COMMENT ON TABLE EMP IS '사원정보';
-- 2) 테이블 삭제 : DROP TABLE 테이블명;
DROP TABLE DEPT_COPY;
-- 예제 5) DEPT_COPY2 테이블 삭제하세요
DROP TABLE DEPT_COPY2;
-- 3) 데이터 추가(INSERT(CREATE))/삭제(DELETE)/수정(UPDATE) 명령어 : CUD
-- DML 문(DATA MANIPULATION LANGUAGE : 데이터 조작어)
-- 특징 : 명령문 실행 후 취소(ROLLBACK)
-- 1) 테이블 복사 : DEPT_COPY (원본 : DEPARTMENT(부서) ) [데이터 빼고]
CREATE TABLE DEPT_COPY
AS
SELECT * FROM DEPARTMENT
WHERE 1=2;
-- 예제 6) DEPT_COPY 테이블에 데이터 INSERT
-- 컬럼 : DNO(NUMBER(2,0)), DNAME(VARCHAR2(14), LOC(VARCHAR2(13)
-- 사용법) INSERT INTO 테이블명(컬럼명, 컬럼명2, ...)
-- VALUES(값, 값2, ...); -- 데이터 추가
INSERT INTO DEPT_COPY(DNO, DNAME, LOC)
VALUES(10, 'ACCOUNTING', 'NEW YORK'); -- 데이터 추가
SELECT * FROM DEPT_COPY; -- 데이터 확인
-- 취소 : ROLLBACK;
ROLLBACK;
-- 영구 반영 : 취소(ROLLBACK)불가상태
-- 의미 : 영구 반영하면 다른 유저가 현재 생성한/수정/삭제한 데이터를 볼 수 있음
COMMIT;
-- 예제 7) 임시적으로 NULL 값을 입력해서 INSERT 하기
-- 1) 암묵적으로(눈에 안보이지만) NULL 값 INSERT 하기
INSERT INTO DEPT_COPY(DNO, DNAME)
VALUES(30, 'SALES'); -- 데이터 생성
SELECT * FROM DEPT_COPY; -- 데이터 확인
-- 영구 반영
COMMIT;
-- 2) 명시적으로 NULL 값 넣기
INSERT INTO DEPT_COPY(DNO, DNAME, LOC)
VALUES(40, 'OPERATIONS', NULL); -- 데이터 생성
SELECT * FROM DEPT_COPY; -- 데이터 확인
-- 영구 반영
COMMIT;
-- 연습 2) DEPT_COPY 테이블에 50 부서 'COMPUTING' 만들고,
-- LOC 는 ' ' 공백으로 INSERT 하세요( 영구 반영 )
INSERT INTO DEPT_COPY(DNO, DNAME, LOC)
VALUES(50, 'COMPUTING', ' ');
-- 결과 보기
SELECT * FROM DEPT_COPY; -- 데이터 확인
-- 영구 반영
COMMIT;
-- 연습용 테이블 복사 : EMP_COPY (원본 : EMPLOYEE) [데이터 빼고]
CREATE TABLE EMP_COPY
AS
SELECT * FROM EMPLOYEE
WHERE 1=2; -- 거짓조건
-- 연습 2) EMP_COPY 테이블에 데이터 입력하기
-- ENO - 7000, ENAME - 'CANDY', JOB - 'MANAGER',
-- HIREDATE - '2012/05/01', DNO - 10
INSERT INTO EMP_COPY(ENO, ENAME, JOB, HIREDATE, DNO)
VALUES(7000, 'CANDY', 'MANAGER', '2012/05/01', 10);
-- 영구 반영
COMMIT;
SELECT * FROM EMP_COPY;
-- 예제 8) 명시적으로 날짜형으로 변환해서 INSERT 하기
-- 날짜함수 : TO_DATE(문자열, '날짜포맷')
-- 날짜포맷 : 'YYYY-MM-DD HH24:MI:SS'
INSERT INTO EMP_COPY(ENO, ENAME, JOB, HIREDATE, DNO)
VALUES(7010, 'CANDY2', 'MANAGER', TO_DATE('2012/05/01','YYYY-MM-DD HH24:MI:SS'), 10);
-- 영구 반영
COMMIT;
SELECT * FROM EMP_COPY;
-- 예제 9) INSERT 할때 현재날짜(시간) 데이터 넣기 : SYSDATE (현재날짜)
INSERT INTO EMP_COPY(ENO, ENAME, JOB, HIREDATE, DNO)
VALUES(7020, 'CANDY3', 'MANAGER', SYSDATE, 10);
-- 영구 반영
COMMIT;
SELECT * FROM EMP_COPY;
-- 예제 10) 다른 테이블의 데이터만 복사하기
SELECT * FROM DEPT_COPY;
-- 빠른 삭제 : DELETE 문 보다 속도 빠름
-- 전체 삭제만 됨, 취소불가(ROLLBACK)
-- 사용법) TRUNCATE TABLE 테이블명;
TRUNCATE TABLE DEPT_COPY;
-- 다른 테이블의 데이터 복사(원본데이터 : DEPARTMENT(부서))
-- 사용법) INSERT INTO 복사될테이블명
-- SELECT * FROM 원본테이블명;
INSERT INTO DEPT_COPY
SELECT * FROM DEPARTMENT;
-- 결과 확인
SELECT * FROM DEPT_COPY;
-- 영구 반영
COMMIT;
테이블 CUD 예제2
-- 09_Table_CUD_2.sql
-- UPDATE(수정)
-- 대상 : DEPT_COPY 실습
SELECT * FROM DEPT_COPY;
-- 예제 1) 10 번 부서의 이름 수정하기 : 'ACCOUNTING' -> 'PROGRAMMING'
-- 사용법) UPDATE 테이블명
-- SET
-- 컬럼명 = 변경할값
-- WHERE 컬러명 = 값; (조건)
UPDATE DEPT_COPY
SET
DNAME = 'PROGRAMMING'
WHERE DNO = 10;
-- 영구 반영 : 다른 사람이 변경된 데이터를 볼 수 있음
COMMIT;
-- 연습 1) 20번 부서 이름(DNAME) 수정하기 : 'HR' (인력팀)
UPDATE DEPT_COPY
SET
DNAME = 'HR'
WHERE DNO = 20;
SELECT * FROM DEPT_COPY; -- 결과 확인
COMMIT; -- 영구반영
-- 연습(응용) 2) 컬럼 값을 여러개 수정하기
-- 10 번 부서의 부서명을 'PROGRAMMING2', 부서위치를 'SEOUL' 로 수정하세요
-- 힌트) SET 컬럼명 = 값 , 컬럼명2 = 값2 ...
UPDATE DEPT_COPY
SET
DNAME = 'PROGRAMMING2'
,LOC = 'SEOUL'
WHERE DNO = 10;
SELECT * FROM DEPT_COPY; -- 결과 확인
COMMIT; -- 영구반영
-- 전체 부서에 대해서 수정하기
UPDATE DEPT_COPY
SET
DNAME = 'PROGRAMMING2'
,LOC = 'SEOUL';
ROLLBACK; -- 취소
-- 예제 4) 10번 부서의 지역명을 (20번 부서의 지역명)으로 수정하기
-- 힌트) 서브쿼리로 수정하기
-- 1) 20번 부서의(DNO) 지역명(LOC)
SELECT LOC FROM DEPT_COPY WHERE DNO = 20; -- DALLAS
-- 2) UPDATE
UPDATE DEPT_COPY
SET
LOC = (SELECT LOC FROM DEPT_COPY WHERE DNO = 20)
WHERE DNO = 10;
SELECT * FROM DEPT_COPY; -- 결과 확인
COMMIT; -- 영구 반영
-- 연습 3) 10 번 부서의 부서명, 지역명을 30번 부서의 부서명, 지역명으로 변경하기
-- 힌트) 서브쿼리
-- 1) 30번 부서의 부서명(DNAME), 지역명(LOC)
SELECT DNAME FROM DEPT_COPY WHERE DNO = 30; -- SALES
SELECT LOC FROM DEPT_COPY WHERE DNO = 30; -- CHICAGO
-- 2) update
UPDATE DEPT_COPY
SET
DNAME = (SELECT DNAME FROM DEPT_COPY WHERE DNO = 30)
,LOC = (SELECT LOC FROM DEPT_COPY WHERE DNO = 30)
WHERE DNO = 10;
SELECT * FROM DEPT_COPY;
-- 다른 풀이 : 결과 같음
UPDATE DEPT_COPY
SET
(DNAME, LOC) = (SELECT DNAME, LOC FROM DEPT_COPY WHERE DNO = 30)
WHERE DNO = 10;
-- DELETE : 삭제(D), 전체삭제,부분삭제 모두 가능, 취소가능
-- VS TRUNCATE TABLE 테이블; (빠른 전체삭제, 취소불가)
-- 예제 6) 10번 부서를 삭제하세요
-- 사용법) DELETE (FROM) 테이블명
-- WHERE 컬럼명 = 값; (조건)
-- FROM 생략가능
DELETE FROM DEPT_COPY
WHERE DNO = 10;
SELECT * FROM DEPT_COPY;
-- 영구 반영
COMMIT;
-- 연습 1) 영업부에(SALES) 에 근무하는 사원(DNO) 삭제하기
-- 힌트) 서브쿼리 사용해서 삭제
-- 1) 영업부에(SALES)에 해당하는 부서번호를 찾고 : 30
SELECT DNO FROM DEPT_COPY WHERE DNAME = 'SALES';
-- 2) 30 부서번호를 가진 사원을 삭제하기
DELETE DEPT_COPY
WHERE DNO = (SELECT DNO FROM DEPT_COPY WHERE DNAME = 'SALES');
-- 취소
ROLLBACK;
-- 영구 반영
COMMIT;
SELECT * FROM DEPT_COPY;
-- 기타 명령어
-- 테이블 설계구조 보기 : DESC 테이블명
DESC DEPT_COPY;
테이블 CUD 연습문제
-- 10_Table_CUD_Exam.sql
-- 테이블 : CUD(INSERT/UPDATE/DELETE) 연습문제
-- 1) EMPLOYEE 테이블의 구조만 복사하여
-- EMP_INSERT 란 이름의 빈 테이블을 만드시오.
CREATE TABLE EMP_INSERT
AS
SELECT * FROM EMPLOYEE
WHERE 1=2;
-- 2) 본인을 EMP_INSERT 테이블에 추가하되 SYSDATE를 이용해서 입사일을
-- 오늘로 입력하세요.
-- 예) ENO(사번) : 1, ENAME(사원명) : 'KTG', JOB(직위): 'STUDENT',
-- MANAGER(관리자) : NULL, HIREDATE(입사일) : SYSDATE,
-- SALARY(월급): 2700, COMMISSION(상여금): 230, DNO(부서번호):10
INSERT INTO EMP_INSERT(ENAME, JOB, MANAGER, HIREDATE, SALARY, COMMISSION, DNO)
VALUES('DKJ', 'STUDENT', NULL, SYSDATE, 3500, 300, 70);
-- 영구 반영
COMMIT;
-- 결과 보기
SELECT * FROM EMP_INSERT;
-- 3) EMP_INSERT 테이블에 옆(아시는분) 사람을 추가하되
-- TO_DATE 함수를 이용해서 입사일을 어제로 입력하세요.
-- 참고) INSERT 시 EMP_INSERT(컬럼명 ...) : 컬럼명 생략가능( 모든 데이터를 INSERT 할때만 가능 )
INSERT INTO EMP_INSERT(ENAME, JOB, MANAGER, HIREDATE, SALARY, COMMISSION, DNO)
VALUES('LDH', 'STUDENT', NULL, TO_DATE(SYSDATE-1,'YYYY/MM/DD'), 3500, 300, 70);
-- 다른 풀이 : 컬럼명 생략
INSERT INTO EMP_INSERT
VALUES('LDH', 'STUDENT', NULL, TO_DATE(SYSDATE-1,'YYYY/MM/DD'), 3500, 300, 70);
-- 영구 반영
COMMIT;
-- 결과 보기
SELECT * FROM EMP_INSERT;
-- 4) EMPLOYEE 테이블의 구조와 내용을 복사하여
-- EMP_COPY란 이름의 테이블을 만드세요.
-- 단, EMP_COPY 테이블이 있으면 테이블을 삭제하고 다시 만드세요
DROP TABLE EMP_COPY;
CREATE TABLE EMP_COPY
AS
SELECT * FROM EMPLOYEE;
-- 5) 사원번호가 7788인 사원의 부서번호를 10번으로 수정하세요.
-- ( 대상테이블 : EMP_COPY )
UPDATE EMP_COPY
SET DNO = 10
WHERE ENO = 7788;
COMMIT; -- 영구 반영
SELECT * FROM EMP_COPY;
-- 6) 사원번호가 7788의 담당 업무(JOB) 및 급여를(SALARY)
-- 사원번호 7499의 담당 업무(JOB) 및 급여와(SALARY)
-- 일치하도록 갱신하세요.( 대상테이블 : EMP_COPY )
-- 힌트 : UPDATE 서브쿼리
SELECT JOB, SALARY FROM EMP_COPY WHERE ENO = 7499;
UPDATE EMP_COPY
SET (JOB, SALARY) = (SELECT JOB, SALARY FROM EMP_COPY WHERE ENO = 7499)
WHERE ENO = 7788;
COMMIT; -- 영구 반영
SELECT * FROM EMP_COPY;
-- 7) (사원번호(ENO) 7369)와 업무가 동일한 모든 사원의 부서번호를(DNO)
-- (사원 7369의 현재 부서번호)로 갱신하세요.
-- 힌트) 조건절 (서브쿼리), SET 컬럼명=(서브쿼리)
-- 1) 사원번호(ENO) 7369 의 업무(JOB) 를 찾기 :
-- 2) 사원번호(ENO) 7369의 현재 부서번호로 찾기 :
-- 3) 2번을 UPDATE(SET 절 : 서브쿼리)
-- 1번을 조건으로 걸기(WHERE 절 : 서브쿼리)
SELECT JOB
FROM EMP_COPY
WHERE ENO = 7369;
SELECT DNO
FROM EMP_COPY
WHERE ENO = 7369;
UPDATE EMP_COPY
SET DNO = (SELECT DNO
FROM EMP_COPY
WHERE ENO = 7369)
WHERE JOB = (SELECT JOB
FROM EMP_COPY
WHERE ENO = 7369);
COMMIT; -- 영구 반영
SELECT * FROM EMP_COPY;
-- 8) DEPARTMENT 테이블의 구조와 내용을 복사하여
-- DEPT_COPY란 이름의 테이블을 만드세요.
DROP TABLE DEPT_COPY;
CREATE TABLE DEPT_COPY
AS
SELECT * FROM DEPARTMENT;
COMMIT; -- 영구 반영
SELECT * FROM DEPT_COPY;
-- 9) DEPT_COPY 테이블에서 부서명이(DNAME) RESEARCH 인 부서를 제거하세요.
DELETE FROM DEPT_COPY
WHERE DNAME = 'RESEARCH';
SELECT * FROM DEPT_COPY;
-- 10) DEPT_COPY 테이블에서 부서 번호가(DNO) 10이거나 40인 부서를 제거하세요.
DELETE DEPT_COPY
WHERE DNO IN (10, 40);
COMMIT;
SELECT * FROM DEPT_COPY;
테이블 ALTER
-- 11_Table_Alter.sql
-- 테이블 구조(설계) 변경하기 : DBA(Database Administrator : DB 관리자)
-- 실습 테이블 : DEPT20 (구조만 복사)
CREATE TABLE DEPT20
AS
SELECT * FROM DEPARTMENT
WHERE 1=2;
-- 결과 보기
SELECT * FROM DEPT20;
-- 예제 1) 부서 테이블에 날짜 자료형을(DATE) 가지는 BIRTH 컬럼 추가하기(ADD)
-- 날짜 자료형 : DATE 사용(크기 없음)
-- 테이블에 새로운 컬럼 추가하기
-- 사용법) ALTER TABLE 테이블명 ADD(컬럼명 자료형);
ALTER TABLE DEPT20
ADD(BIRTH DATE);
-- 결과 보기
SELECT * FROM DEPT20;
-- 예제 2) 부서테이블에(DEPT20) 부서명(DNAME) 의 크기를 변경하기(기존 -> 수정(MODIFY))
-- 테이블에 컬럼 변경(크기 변경, 자료형 변경 등)
-- 사용법) ALTER TABLE 테이블명 MODIFY 컬럼명 자료형(크기);
ALTER TABLE DEPT20 MODIFY DNAME VARCHAR2(30);
-- 테이블 구조 보기 명령어 : DESC 테이블명
DESC DEPT20;
-- 예제 3) 부서테이블(DEPT20) BIRTH 컬럼 삭제하기
-- 사용법) ALTER TABLE 테이블명 DROP COLUMN 삭제할컬럼명;
ALTER TABLE DEPT20 DROP COLUMN BIRTH;
-- 예제 4) 테이블 이름 변경하기 : DEPT20 -> DEPT30
RENAME DEPT20 TO DEPT30;
--테이블 구조 보기 명령어 : DESC 테이블명
DESC DEPT30; -- DEPT20 -> DEPT30 으로 변경 확인
-- 12_Table_Alter_Exam.sql
-- 테이블 구조(설계:디자인) 연습문제
-- 1) DEPT 테이블을 생성하세요.
-- 단 , DEPT 이 있으면 삭제하고 재생성하세요.
-- 컬럼명 : DNO NUMBER(2)
-- DNAME VARCHAR2(14)
-- LOC VARCHAR2(13)
DROP TABLE DEPT;
CREATE TABLE DEPT(
DNO NUMBER(2),
DNAME VARCHAR2(14),
LOC VARCHAR2(13)
);
-- 2) EMP 테이블을 생성하세요.
-- 단, EMP 테이블이 있으면 삭제하고 재생성하세요.
-- 컬럼명 : ENO NUMBER(4)
-- ENAME VARCHAR2(10)
-- DNO NUMBER(2)
DROP TABLE EMP;
CREATE TABLE EMP(
ENO NUMBER(4),
ENAME VARCHAR2(10),
DNO NUMBER(2)
);
-- 3) EMP 테이블을 수정하세요.(ENAME 컬럼 크기)
-- 컬럼명 : ENO NUMBER(4)
-- ENAME VARCHAR2(25)
-- DNO NUMBER(2)
ALTER TABLE EMP MODIFY ENAME VARCHAR2(25);
DESC EMP;
-- 4) EMPLOYEE 테이블을 복사해서 EMPLOYEE2 테이블을 생성하되
-- 사원번호, 이름, 급여, 부서번호 컬럼만 복사하고,
-- 새로 생성된 테이블의 컬럼명은 각각
-- EMP_ID, NAME, SAL, DEPT_ID로 지정하세요.
-- (데이터도 복사)
-- 방법1
CREATE TABLE EMPLOYEE2(EMP_ID, NAME, SAL, DEPT_ID)
AS
SELECT ENO, ENAME, SALARY, DNO FROM EMPLOYEE;
-- 방법2
CREATE TABLE EMPLOYEE2
AS
SELECT ENO , ENAME , SALARY , DNO FROM EMPLOYEE;
ALTER TABLE EMPLOYEE2 RENAME COLUMN ENO TO EMP_ID;
ALTER TABLE EMPLOYEE2 RENAME COLUMN ENAME TO NAME;
ALTER TABLE EMPLOYEE2 RENAME COLUMN SALARY TO SAL;
ALTER TABLE EMPLOYEE2 RENAME COLUMN DNO TO DEPT_ID;
-- 방법3
CREATE TABLE EMPLOYEE2(EMP_ID, NAME, SAL, DEPT_ID)
AS
SELECT ENO AS EMP_ID , ENAME AS NAME , SALARY AS SAL , DNO AS DEPT_ID FROM EMPLOYEE;
-- 5) EMP 테이블을 삭제하세요.
DROP TABLE EMP;
-- 6) EMPLOYEE2란 이름을 EMP로 변경하세요.
RENAME EMPLOYEE2 TO EMP;
DESC EMP;
-- 7) DEPT 테이블에서 DNAME 컬럼을 제거하세요.
ALTER TABLE DEPT DROP COLUMN DNAME;
DESC DEPT;
※INSERT UPDATE DELETE만 ROLLBACK 가능
'HTML > SQL' 카테고리의 다른 글
[SQL] SEQUENCE, INDEX (0) | 2023.09.14 |
---|---|
[SQL] CONSTRAINT (제약조건) (0) | 2023.09.14 |
[SQL] DDL, DML, DCL (0) | 2023.09.13 |
[SQL] 서브 쿼리 (0) | 2023.09.12 |
[SQL] 그룹 함수, 조인 (0) | 2023.09.11 |