DBMS/Oracle 11g
6. DDL(Data Definition Language) 명령과 딕셔너리
뚜비콩
2017. 9. 28. 11:39
DDL (Data Definition Language)
: CREATE(생성), ALTER(수정), TRUNCATE(잘라내기), DROP(삭제)
01. CREATE
테이블 생성 CREATE TABLE 테이블명 ( 컬럼명 컬럼의 유형 제약조건, ... )
CREATE TABLE new_table(NO NUMBER(3), NAME VARCHAR2(10), BIRTH DATE); SELECT * FROM new_table;
CREATE TABLE member( id VARCHAR(20) primary key, name VARCHAR(30), rdate date, --가입일 point NUMBER(10,1), gender char(1) ); DESC member;
테이블에 데이터 넣기
INSERT INTO MEMBER(id, name, rdate, point, gender) VALUES('bbobbogum', '박보검', SYSDATE, 616, 'm');
테이블 복사
-- 테이블 복사 -- 1) 동일한 구조의 모든 데이터를 가지고 테이블 복사 CREATE TABLE member2 AS SELECT * FROM MEMBER; DESC MEMBER2; SELECT * FROM MEMBER2; --2) 동일한 구조에 일부분의 데이터 복사 CREATE TABLE emp AS SELECT * FROM EMPLOYEES WHERE SALARY>=10000; SELECT * FROM emp; --3) 성명, 이메일, 연락처, 입사일만을 복사해보자 CREATE TABLE emp2 AS SELECT FIRST_NAME as "성명", EMAIL, PHONE_NUMBER, HIRE_DATE FROM EMPLOYEES; SELECT * FROM emp2; --4) 급여가 10000원 이상인 직원의 성명, 이메일, 연락처, 입사일을 복사해주세요 CREATE TABLE emp3 AS SELECT FIRST_NAME as "성명", EMAIL, PHONE_NUMBER, HIRE_DATE FROM EMPLOYEES WHERE SALARY>=10000; SELECT * FROM emp3;
--5) 데이터 없이 구조만 복사 CREATE TABLE emp4 AS SELECT * FROM EMPLOYEES WHERE 1=2; SELECT * FROM emp4;
02. DROP
DROP TABLE emp4;
※신중하게 사용할 것
03. ALTER
----------------------- ---테이블 구조 변경(DDL) ----------------------- -- 만들었던 member 테이블에 --이메일(email varchar(50)), --닉네임(nickname varchar(30)), --연락처(phone varchar(20)) 컬럼 추가 ALTER TABLE MEMBER ADD (email VARCHAR(50)); ALTER TABLE MEMBER ADD (nickname VARCHAR(30)); ALTER TABLE MEMBER ADD (phone VARCHAR(20)); ALTER TABLE MEMBER ADD (a VARCHAR(50), b VARCHAR(10)); ALTER TABLE MEMBER DROP COLUMN b; DESC member; SELECT * FROM MEMBER;
--name 이라는 컬럼명을 irum으로 수정 ALTER TABLE MEMBER RENAME COLUMN name TO irum; -- irum이라는 컬럼의 크기를 50바이트로 변경 ALTER TABLE MEMBER MODIFY(irum varchar(50)); --phone 컬럼 삭제 ALTER TABLE MEMBER DROP COLUMN phone; --member테이블 이름을 student로 변경 RENAME member TO student; DESC student;