[오라클]DDL명령어로 테이블을 만들기, 수정하기 ( CREATE / ALTER )
- DB/오라클
- 2020. 8. 27.
오라클의 명령어로는 크게 4가지로 나뉜다.
DDL(Data Definition Language) - CREATE(생성), ALTER(수정), TRUNCATE(잘라내기),DROP(삭제)
DML(Data Manipulation Language) - INSERT(입력), UPDATE(변경), DELETE(삭제), MERGE(병합)
DCL(Data Control Language) - GRANT(권한 주기), REVOKE(권한 뺏기)
TCL(Transation Control Language) - COMMIT(확정), ROLLBACK(되돌리기)
DDL명령어에는
CREATE , TRUNCATE, ALTER, DROP 명령이 있다.
실제 업무를 할때 신입사원에게는 당장 필요하진 않겠지만 다른 실습을 좀 더 편하게 하기위해
간단하게만 정리하고 넘어가겠다.
1.CREATE - 테이블 생성
1.일반 테이블 생성
no,name이 컬럼명
NUMBER,VARCHAR2가 타입, 숫자가 크기를 나타낸다.
*컬럼 이름으로 한글을 써도 되지만 실제 사용시 단점이 많기때문에 잘 고려해서 사용하자.
2.기본 값을 입력하며 생성하기
CREATE TABLE [ 테이블명 ]
( no NUMBER(3,1) DEFAULT 0,
name VARCHAR2(10) DEFAULT 'no name',
hiredate DATE DEFAULT SYSDATE);
컬럼명 => no,name,hiredate
타입 => NUMBER,VARCHAR2,DATE(날짜)
DEFAULT 뒤에 있는것들이 기본으로 생성 되는 값들.
저 상태에서
INSERT INTO create_Test (name) VALUES('a');
=> 입력 해주면 테이블 1행이 추가되고 name 컬럼에 a가추가된다. no랑 hiredate에는 기본값인 no name이랑 system날짜가 입력된다.
이 외에도 테이블 복사(CTAS)/ 모든컬럼 복사/ 특정컬럼 복사 / 테이블 구조만 복사 하는 기능이 있다.
3.기본 테이블을 참조하여 테이블 생성
기존 테이블의 A,B,C 컬럼 중에 A,B 컬럼의 값만 참조하여 새로운 테이블 만들 수 있다.
문법
CREATE TABLE 새로운테이블 AS SELECT 가져올 컬럼들 FROM 기존테이블;
2.ALTER 명령
Alter 명령어는 만들어져 있는 오브젝트를 변경하는 명령어.
컬럼을 변경하는 작업가능.
ALERT 문법
1. 컬럼 속성 변경하기
=> ALTER TABLE [ 테이블 ] MODIFY [컬럼]
위 명령어를 입력했더니 보이는것과같이 ID컬럼의 데이터형식이 NVARCHAR2로 바뀐것을 볼 수 있다.
이 명령어는 컬럼 안에 데이터가 바뀌는 데이터 형식의 조건에 맞는 경우만 가능하고, 크기도 마찬가지로 내가 변경하려는 크기를 초과한 값이 있다면 변경할 수 없다.
2. 컬럼 이름 변경하기
=> ALTER TABLE [ 테이블 ] RENAME COLUMN [ 원래 컬럼 ] TO [ 바꿀 컬럼 ]
3. DROP으로 컬럼 삭제하기
=> ALTER TABLE [테이블] DROP COLUMN [컬럼];
현재 DROP 명령을 실행하기 전의 MEMBER 테이블의 상태이다.
ALTER TABLE member DROP COLUMN brith; 라는 명령어를 입력하고 SELECT로 확인해보자.
birth 컬럼이 삭제된것을 확인할 수 있다.
3. 컬럼 추가하기
=> ALTER TABLE [테이블] ADD [컬럼] VARCHAR2(50);
위의 ADD 명령을 사용해서 birth 라는 컬럼을 다시 추가해보겠다.
컬럼이 생성된것을 확인할 수 있다.
4. 테이블 이름 변경하기
=>ALTER TABLE [기존테이블] RENAME TO [새로운테이블];
5.컬럼이름 변경하기
=>ALTER TABLE [테이블명] RENAME COLUMN [기존컬럼] TO [새로운컬럼];
'DB > 오라클' 카테고리의 다른 글
[오라클]데이터베이스 개념 (0) | 2020.08.30 |
---|---|
[오라클] DML 데이터 조작어#1(insert) (0) | 2020.08.27 |
오라클 #developer 실행 (0) | 2020.08.27 |
오라클 #developer 에러 IO오류 The Network Adapter could not establish the connection] (0) | 2020.08.27 |
오라클# Developer 설치 (0) | 2020.08.26 |