P.291

연습문제 1

아래와 같은 구조의 일반 테이블을 생성하세요
new_emp

NO NAME HIREDATE BONUS
NUMBER(5) VARCHAR(20) DATE NUMBER(6,2)
.
.

쿼리

CREATE TABLE new_emp
( no NUMBER(5),
name VARCHAR(20),
hiredate DATE,
bonus NUMBER(6,2));

연습문제 2

위 1번 문제에서 생성한 new_emp 테이블에서 NO, NAME, HIREDATE 컬럼만 가져와서 아래 그림과 같이 new_emp2 테이블을 생성하는 쿼리를 쓰세요.
new_emp2

NO NAME HIREDATE
NUMBER(5) VARCHAR(20) DATE
.
.

쿼리

CREATE TABLE new_emp2
AS 
    SELECT no, name, hiredate
    FROM new_emp;

연습문제 3

위 2번 테이블에서 생성한 new_emp2 테이블과 동일한 구조의 테이블을 new_emp3 이름으로 생성하되 테이블 구조만 가져오고 데이터는 가져오지 않도록 하는 쿼리를 쓰세요.
쿼리

CREATE TABLE new_emp3
AS SELECT * FROM new_emp2
   WHERE 1 = 2;

연습문제 4

위 2번 문제에서 생성한 new_emp2 테이블에 DATE 타입을 가진 BIRTHDAY 컬럼을 추가하는 쿼리를 쓰세요. 단, 해당 컬럼이 추가될 때 기본값으로 현재 날짜(SYSDATE)가 자동으로 입려되도록 하세요.
new_emp2

NO NAME HIREDATE BIRTHDAY
NUMBER(5) VARCHAR(20) DATE 2019-11-04
2019-11-04
2019-11-04+

쿼리

ALTER TABLE new_emp2 ADD ( birthday DATE DEFAULT SYSDATE);

연습문제 5

위 4번 문제에서 생성한 new_emp2 테이블의 BIRTHDAY 컬럼 이름을 BIRTH로 변경하는 쿼리를 쓰세요.
쿼리

ALTER TABLE new_emp2 RENAME COLUMN birthday TO BIRTH;

연습문제 6

위 4번 문제에서 생성한 new_emp2 테이블의 NO 컬럼의 길이를 NUMBER(7)로 변경하는 쿼리를 쓰세요.
쿼리

ALTER TABLE new_emp2 MODIFY( no NUMBER(7));

연습문제 7

new_emp2 테이블의 컬럼 중에서 BIRTH 컬럼을 삭제하는 쿼리를 쓰세요.
쿼리

ALTER TABLE new_emp2 DROP COLUMN birth;

연습문제 8

new_emp2 테이블의 컬럼은 남겨 놓고 데이터만 지우는 쿼리를 쓰세요.
쿼리

TRUNCATE TABLE new_emp2;

연습문제 9

new_emp2 테이블을 완전히 삭제하는 쿼리를 쓰세요.

DROP TABLE new_emp2;

출처