DDL(CREATE / ALTER / DROP)
DML(INSERT / SELECT / UPDATE / DELETE) - CRUD
DCL(GRANT / REVOKE)
- 테이블 생성
세미콜론(;) 라인에서 Ctrl + Enter / 또는 실행할 범위 블록 지정 후 Ctrl + Enter
오라클 데이터 형식 #1 (문자 형식)
Oracle SQL Data Types
- Oracle Built-in Data Types
- ANSI, DB2, and SQL/DS Data Types
- User-Defined Types
- Oracle-Supplied Types
- Data Type Comparison Rules
- Data Conversion
- Oracle Built-in Data Types
* Character(문자) 형식 / 'nEWlec', 'A', '148'
* Numeric 형식 / 38, 3.85, 3.85F, 137
* Date 형식 / '2013-02-09'
* TIMESTAMP / '2021-06-01 10.38.29.00000'
* LOB 형식
# Character 형식 : CHAR(3), VARCHAR2(3), NCHAR(3), NVARCHAR(3), LONG, CLOB, NCLOB
CHAR[(size [BYTE | CHAR])] VARCHAR2(size [BYTE | CHAR])
size => 1byte
CHAR은 고정 길이 형식이지만, VARCHAR2은 가변 길이 형식이다.
VARCHAR2는 CHAR보다 검색 속도가 느리다.
성별,핸드폰번호,이름,생일 등은 CHAR로 / ID, 비밀번호 등은 VARCHAR2로.
- 남성, 여성 2글자니깐 CHAR(2)로 선언한다?? 오류! -
GENDER CHAR(2), --남성, 여성 -- 오류 발생
insert into member(gender) values('남성'); -- 최대 크기가 2바이트인데, '남성'은 6바이트이므로 오류
- 바이트 크기를 확인할 수 있는 'LENGTHB' -
SELECT LENGTHB('ab') FROM DUAL; --2
SELECT LENGTHB('한글') FROM DUAL; --6
GENDER CHAR(2 CHAR) -- 2글자라는 의미. 오류는 나지 않지만 바람직하지 않음.
GENDER NCHAR(2) -- 공간도 절약되고 바람직함. 4바이트 차지.
NCHAR[(size)] : 전 세계 각국의 문자 표현 가능, 기본적으로 UTF8로 인코딩(3배 정도의 크기)
NVARCHAR2[(size)]
LONG
CLOB(대용량 텍스트 데이터 타입, 최대 4Gbyte)
NCLOB(대용량 텍스트 유니코드 데이터 타입(최대 4GByte)
오라클 데이터 형식 #2 (숫자 형식, 날짜 형식)
# Numeric 형식 -- NUMBER [ (p [, s]) ]
-- A NUMBER value requires from 1 to 22 bytes.
-- The precision 'p' can range from 1 to 38.
-- The scale 's' can range from -84 to 127
NUMBER(4) --최대 4자로 이루어진 숫자
NUMBER(6,2) --소수점 2자리를 포함하는 최대 6자리의 숫자(소수점 둘쨰 자리에서 반올림)
NUMBER(6, -2) --소수점 -2자리에서 반올림하는 최대 6자리의 숫자
NUMBER --NUMBER(38,*) 디폴트 38
NUMBER(*,5) --NUMBER(38,5)
# Date 형식
DATA -- 4712 BC ~ 9999 AD (EX:01-JAN-99)
TIMESTAMP -- NLS_TIMESTAMP_FORMAT 파라미터에 명시된 값을 따름.
TIMESTAMP WITH TIME ZONE -- NLS_TIMESTAMP_TZ_FORMAT 파라미터에 명시된 값을 따름.
TIMESTAMP WITH LOCAL TIME ZONE -- NLS_TIMESTAMP_FORMAT 파라미터에 명시된 값을 따름.
=====
https://www.youtube.com/watch?v=qJP6bPTOIJA
'데이터베이스(DB) > Oracle DB SQL - 뉴렉처 youtube 강의' 카테고리의 다른 글
13강 - 트랜잭션 처리를 위한 COMMIT과 ROLLBACK (0) | 2021.09.13 |
---|---|
10강~12강 - SQL 쿼리 연습을 위한 테이블 준비 / 데이터 조작하기(DML) - INSERT, SELECT, UPDATE, DELETE (0) | 2021.09.13 |
9강 - 테이블 수정(ALTER TABLE) (0) | 2021.09.13 |
4강~5강 - 오라클 PDB 서버에 접속하기 / 수업용 사용자와 데이터베이스 생성하기 (0) | 2021.09.13 |
SQL Developer 계정 접속시 오류 (0) | 2021.09.13 |