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 |