1. 데이터 타입
- 데이터 타입이란 컬럼이 저장되는 데이터 유형을 말한다.
- 기본 데이터 타입과 사용자 정의 데이터 타입으로 구분
- 기본 데이터 타입은 문자형, 실수, 소수, 자료형 등의 여러 데이터를 식별하는 타입이다.

1) 문자데이터 타입
- CHAR(n) : 고정길이 문자, 최대 1000byte, 디폴트 값은 1byte,
- 반드시 입력 데이터길이까지 → 성별: 1(남자), 0(여자)
- VARCHAR2(n) : 가변길이 문자, 최대 4000byte, 디폴트 값은 1byte
- 주소, 이름, 전화번호… 대부분의 변동 가능성이 있는 문자데이터는 이걸 씀
- NCHAR(n) : 고정길이 유니코드 문자(다국어 입력가능), 최대 1000byte, 디폴트 값은 1byte
- NVARCHAR(n) : 가변길이 유니코드 문자(다국어 입력가능), 최대 2000byte, 디폴트 값은 1byte
- LONG : 최대 2GB 크기의 가변길이 문자형
- CLOB : 대용량 텍스트 데이터 타입(최대 4GB)
[ char와 varchar의 차이 ]
- char(100)
- 실제로 10개만 넣었을 때 90개가 남아 있음
- 원래 크기가 변하지 않음
- 변동폭이 적을 때 사용한다.
- 문자 2개 ab를 넣었다고 해서 나중에 ab라고 조회해도 조회되지 않는다.
- varchar(100)
- 실제로 10개만 넣었을 때 10개로 변함 → 가변길이이기 때문에
- 용량을 줄일 수 있지만 시간이 걸릴 수 있다.
- 문자 2개 ab를 넣었다고 해서 나중에 ab라고 조회해도 조회되지
2) 숫자형 데이터 타입
- NUMBER: 숫자
- 대부분 NUMBER형을 사용
- sysdate: 값에 넣으면 시스템의 기본 날짜가 저장된다.
3) 날짜형 데이터 타입
- DATE : BC 4712년 1월 1일 부터 9999년 12월 31일, 년, 월, 일, 시, 분, 초 까지 입력가능
- TIMESTAMP: 년, 월, 일, 시, 분, 초 +밀리초까지 입력가능
4) LOB데이터 타입
- CLOB : 문자형 대용량 객체 고정길이와 가변길이 문자집합 지원
- NCLOB : 유니코드를 지원하는 문자형 대요량 객체
- LOB이란 Large Object의 약자로 대용량 데이터를 저장할 수 있는 데이터 타입
- 실제는 이미지 주소값 입력
2. Sequence
- 하나의 규칙이다.
- 값을 넣을 때 객체.nextval 하면 된다.
- 하나의 테이블에 하나의 시퀀스를 만들어야 한다.
- 시퀀스를 변경하면 충돌이 일어날 수 있으므로 삭제하고 처음부터 다시 만드는 것이 좋다.
CREATE SEQUENCE 시퀀스명
INCREMENT BY 1
START WITH 1
MINVALUE 1
MAXVALUE 1000
NOCYCLE
COCADHE
drop sequence board_id_seq;
create sequence board_id_seq
start with 1
increment by 1
nocycle;
insert into board0616_2(board_id, board_title, board_content, board_writer)
values(board_id2_seq.nextval, '제목3', '내용3', '글쓴이3');

- 1부터 1씩 증가하는 것을 볼 수 있다.
- 정의된 시퀀스조회
- SELECT * FROM user_sequences; —존재하는 모든 시퀀스 조회
- 현재 시퀀스 조회: select 시퀀스명.currval from dual;
- 다음 시퀀스 조회: select 시퀀스명.nextval from dual;
- dual은 가상테이블이다.
4. count() 함수
테이블에 존재하는 데이터의 개수를 가져오고 싶을 때 사용하는 함수이다.
-select count* from 테이블;
테이블의 전체 행 개수를 가져온다.
-select count(칼럼) from 테이블;
해당 칼럼의 데이터 개수를 가져온다.
-select count(칼럼) as cnt from 테이블;
해당 칼럼의 결과를 cnt라는 이름으로 가져올 수 있다.