• CREATE
CREATE TABLE EMP01(
EMPNO NUMBER(4),
ENAME VARCHAR2(20),
SAL NUMBER(7, 2));
서브쿼리로 테이블 복제해서 생성하기, livesql에서 실습해서 앞에 스키마명을 붙인다
create table test
as
select * from scott.emp;
컬럼을 선택해서 원하는 컬럼만 복사하기
CREATE TABLE EMP03
AS
SELECT EMPNO, ENAME FROM EMP;
CREATE TABLE EMP05
AS
SELECT * FROM EMP
WHERE DEPTNO=10;
where 절을 이용해서 테이블의 구조만 복사하기 항상 false이기에 데이터는 복사되지 않고 구조만 복사된다
CREATE TABLE EMP06
AS
SELECT * FROM EMP WHERE 1=0;
• ALTER, 오라클에서는 add나 modify 뒤에 괄호를 넣는다
테이블에 컬럼 추가하기
ALTER TABLE EMP01
ADD(JOB VARCHAR2(9));
칼럼 데이터 타입, 크기 변경
ALTER TABLE EMP01
MODIFY(JOB VARCHAR2(30));
칼럼 드랍, 드람만 column을 명시하는 것 같다
ALTER TABLE EMP01
DROP COLUMN JOB;
테이블의 모든 데이터 삭제하기
truncate table dept01;
테이블 이름 변경
RENAME EMP02 TO TEST;
교재문제
-- 1번
create table dept01(
deptno number(2) primary key,
dname varchar2(14),
loc varchar2(13)
);
-- 2번
create table dept02
as
select * from dept01 where 1= 0;
--3번
alter table dept02 add ( dmgr varchar2(14));
--4번
alter table dept02 modify (dmgr number(4));
--5번
alter table dept02 drop column dmgr;