<CREATE TABLE>
table 이름 규칙
1. 문자로 시작. 1~12byte 길이 가질 수 있다.
2. 이름은 영 대문자, 소문자, 숫자, _, $, # 만 포함 가능
3. 다른 객체 이름과 중복되면 안됨
4. 일반적으로 복수형이다. exmployees, departments...
5. 이름 대소문자는 구별하지 않는다. " "로 묶을 경우에는 대소문자 구별한다.
create table "Test"(c1 varchar2(1));
data type
create table
=(DDL) 테이블 생성.
create table [schema.] 테이블명( 열이름 데이터타입, 열이름 데이터타입...);
ex) dept, emp table만들기
create table dept( deptno number(2), dname varchar2(14), loc varchar2(13));
create table emp
(
empno number(4,0);
ename varchar2(10),
job varchar2(9),
mgr number(4,0),
hiredate date,
sal number(7,2),
comm number(7,2),
deptno number(2,0)
);
서브쿼리로 테이블 생성
=CTAS(Create TAble As Select) 지정 테이블과 같은 구조를 갖는 테이블을 생성.
NOT NULL 제약조건 외 제약조건들은 복사 안된다.
create table 테이블명 as select 서브쿼리;
예제
create table emp2 as select * from employees;
<ALTER TABLE>
=테이블 구조 변경, 새로운 열 추가, 열 수정 등..
--열 수정
alter table 테이블명
modify (컬럼 데이터타입, 컬럼 데이터타입...);
🍏열 추가
=ADD로 열 추가, 새로운 열은 무조건 마지막 열이 된다.
--열 추가
alter table 테이블명
add (컬럼 데이터타입, 컬럼 데이터타입...);
예제
alter table emp_dept50
add (job varchar2(10));
select * from emp_dept50;--확인
🍏열 수정
=MODIFY로 열 수정
데이터 타입의 크기는 얼마든지 늘릴 수 있지만(가능한 범위 내에서)
열의 크기 축소는 데이터를 손상시킬시 진행할 수 없습니다.
구조
--열 수정
alter table 테이블명
modify (컬럼 데이터타입, 컬럼 데이터타입...);
예제
--열 크기 변경
alter table emp_dept50
modify (first_name varchar2(30));
--열 크기 감소
alter table emp_dept50
modify (first_name varchar2(10));
🍏열 삭제
=drop column으로 열을 삭제. 되돌릴 수 없다.
구조
alter table 테이블명
drop column 컬럼;
예제
--drop column
alter table emp_dept50
drop column job_id;
--확인
desc emp_dept50;
🍏열 이름 변경
=rename column으로 열 이름 변경
구조
alter table 테이블명
rename column 예전이름 To 새이름;
예제
--change name
alter table emp_dept50
rename column job To jb_id;
--check
desc emp_dept50;
🍏SET UNUSED
set unused= 하나 이상의 열을 '사용되지 않았음'으로 표시
alter table 테이블명
set unused 열;
dorp unused=unused로 표시된 열 제거
alter table 테이블명
drop unused columns;
예제
--unused로 설정
alter table emp_dept50 set unused (first_name);
--check
desc emp_dept50;
--drop unused columns
alter table emp_dept50 drop unused columns;
🍏객체 이름 변경
RENAME 옛이름 TO 새이름
<DROP TABLE>
=데이터와 구조 모두 삭제. 모든 인덱스 삭제. rollback 불가
cascade constraints=참조 제약조건 있는 열 포함해도 테이블 삭제
drop table 테이블명 [cascade constraints]
ex)
--drop
drop table emplyees_dept50;
--아래구문은 error날것이다.
desc employees_dept50;
<TRUNCATE>
=테이블 데이터 비우기.
구조는 남기고 데이터를 한꺼번에 지운다. rollback불가.
(delete는 한행씩 지워서 오래 걸리지만 rollback가능)
truncate table 테이블명;
예제)
truncate table emp2; --truncate
select * from emp2; --check
'개발 > database' 카테고리의 다른 글
[DB] View (0) | 2024.12.18 |
---|---|
[DB] 제약조건 (0) | 2024.12.18 |
[DB] Transaction (0) | 2024.12.18 |
[DB] 데이터 조작(DML) (0) | 2024.12.18 |
[DB] 서브 쿼리 (0) | 2024.12.17 |