Purple Bobblehead Bunny

Database

[OracleDB] 기본 CRUD

준영어린이 2022. 5. 13. 18:12

 

DATA TYPE

 

문자 데이터 타입

 

데이터타입 설명
CHAR(n) 고정길이 문자 / 최대 2000byte / 디폴트 값은 1byte
VARCHAR2(n) 가변길이 문자 / 최대 4000byte / 디폴트 값은 1byte
NCHAR(n) 고정길이 유니코드 문자(다국어 가능) / 최대 2000byte / 디폴트 값은 1byte
NVARCHAR(n) 가변길이 유니코드 문자(다국어 가능) / 최대 2000byte / 디폴트 값은 1byte
LONG 최대 2GB 크기의 가변 길이 문자형
CLOB 대용량 텍스트 데이터 타입(최대 4Gbyte)
NCLOB 대용량 텍스트 데이터 타입(최대 4Gbyte)

가변 길이 : 실제 이볅 된 데이터 길이에 따라서 크기가 변하는 것을 의미

 

숫자형 데이터 타입

 

데이터 타입 설명
NUMBER(P,S) 가변 숫자 / P (1~38, 디폴트:38) / S (-84 ~127, 디폴트 값 : 0) / 최대 22byte
FLOAT(P) NUMBER의 하위 타입 / P (1~128 디폴트 : 128) / 이진수 기준 / 최대 22byte
BINARY_FLOAT 32비트 부동소수점 수 / 최대 4byte
BINARY_DOUBLE 64비트 부동소수점 수 / 최대 8byte

숫자 타입은 대부분 NUMBER형을 사용한다 . P는 소수점을 포함한 전체 자릿수를 의미하고 

S는 소수점 자릿수를 의미한다. NUMBER는 가변숫자이므로 P와S를 입력하지 않으면 저장 데이터의 크기에 맞게 자동으로 조절된다.

 

 

날짜 데이터 타입

 

데이터타입 설명
DATE BC 4712 1월1일부터 9999년 12월 31일. 연,월,일,시,분,초 까지 입력 가능
TIMESTAMP 연도, 월, 일, 시, 분, 초 + 밀리초 까지 입력 가능

 

LOB 데이터 타입

 

데이터 타입 설명
CLOB 문자형 대용량 객체 고정길이와 가변길이 문자집합 지원
NCLOB 유니코드를 지원하는 문자형 대용량 객체
BLOB 이진형 대용량 객체
BFILE 대용량 이진 파일에 대한 위치, 이름 저장

LOB란, Largee Object의 약자로 대용량 데이터를 저장할 수 있는 데이터 타입.

그래픽, 이미지, 사운드 등 비정형 데이터를 저장할 때, LOB타입을 사용한다. 

문자형 대용량 데이터는 CLOB나 NCLOB, 그래픽, 이미지, 동영상 등의 데이터는 BLOB를 주로 사용한다.

 

CRUD

 

 

//테이블 생성
//CREATE

create table students (
id varchar(10) not null primary key,
name varchar(15),
age int,
subject varchar(10)
);

desc students;

 

 

PK 확인

 

select a.owner 계정, a.table_name 테이블명, a.cnostraint_type 제약조건종류, b.column_name 컬럼명
from all_constraint a, all_cons_columns b
where a.constraint_name=b.cnostraint_name
and a.table_name=UPPER('students')
and a.constraint_type='P';

 

 

 

//값 삽입
//INSERT

insert into students(id,name,age,subject) values('aaa','junyoungA',27,'linux');
insert into students(id,name,age,subject) values('bbb','junyoungB',27,'linux1');
insert into students(id,name,age,subject) values('ccc','junyoungC',27,'linux2');
insert into students(id,name,age,subject) values('ddd','junyoungD',27,'linux3');



//값 조회
//SELECT
select * from students;

 

 

//값 수정
//update

update students set name='hi', subject='jsp' where id='aaa';
select * from students;

 

 

//값 삭제
//delete

delete from students where id='ddd';

select * from students;

 

//열 추가
//alter 

alter table students add address varchar(50) null;

select * from students;

 

//열 수정

alter table students rename column address TO addr;

desc students;

 

 

 

 

//열 삭제

alter table students drop column addr;

select * from students;

 

 

//테이블 이름 변경

alter table students rename to stud;


select * from stud;

 

 

 

'Database' 카테고리의 다른 글

[OracleDB] SELECT  (0) 2022.05.15
[OracleDB] SQL 종류 (DDL.DML.DCL)  (0) 2022.05.14
[MySQL] WorkBench ERD Diagram  (0) 2022.04.12
[MySQL] 사용자 추가, 권한 부여,권한 제거  (0) 2022.04.03
[MySQL] CMD(명령 프롬프트)  (0) 2022.04.02