본문 바로가기
Java & Kotlin/Backend

0. Oracle sql 사용키워드 정리

by heekng 2021. 1. 19.
반응형
 

개인적으로 확인할 겸 익숙해지기 위해 올리는 주요 키워드입니다.

계속하여 추가 수정할 예정입니다.


계정 관리

로그인

CONNECT [아이디]/[비밀번호(대소문자 구별)];

현재 접속 계정 확인

SHOW USER;

계정 생성

CREATE USER [계정명] IDENTIFIED BY [비밀번호];

계정 삭제

DROP USER [아이디] CASCADE;

계정 권한 부여

GRANT [권한종류] TO [계정명];

모든 DBA계정 조회

SELECT USERNAME FROM DBA_USERS;

계정 비밀번호 변경

ALTER USER [계정명] IDENTIFIED BY [새 비밀번호];

데이터베이스 자료형 (ORACLE SQL)

NUMBER

정수와 실수 모두 표현

NUMBER(p)

최대 p자리수까지 표현하는 수 (p : 1~38)

CHAR(n)

고정문자열 (n : 바이트 수, 최대 2000byte)

VARCHAR2(n)

가변문자열 (n : 바이트 수, 최대 4000byte)

데이터 크기만큼만 할당하며 공간이 넓더라도 적게 들어오면 그만큼만 할당한다.

DATE

날짜 형식 문자열

테이블 관리

테이블 생성

CREATE TABLE [테이블명] ([항목명1] [자료형1], ...);

테이블 컬럼 확인

DESC [테이블명];

테이블 삭제

DROP TABLE [테이블명];

테이블 컬럼 추가

ALTER TABLE [테이블명] ADD([컬럼명] [자료형]);

테이블 컬럼 자료형 수정

ALTER TABLE [테이블명] MODIFY ([컬럼명] [새 자료형]);

테이블 컬럼 이름 수정

ALTER TABLE [테이블명] RENAME COLUMN [원래 컬럼영] TO [새 컬럼명];

테이블 컬럼 삭제

ALTER TABLE [테이블명] DROP COLUMN [컬럼명];

최종 저장

COMMIT;

마지막 저장 상태로 돌아가기

ROLLBACK;

테이블 제약 조건

NOT NULL

필수로 등록되어야 한다.

(누락되면 안된다.)

UNIQUE

유일 값이어야 한다.

(다른 레코드가 중복된 값을 가지면 안된다.

PRIMARY KEY

기본 키

(레코드를 식별하는 대표 값)

NOT NULL + UNIQUE

하나의 레코드가 여러 개의 기본 키를 가질 수는 없다.

DEFAULT [값]

이 항목 누락할 경우 기본값을 이 값으로 설정하겠다.

CHECK(범위)

이 범위 안에서의 데이터만 저장을 허용하겠다.

레코드 생성

레코드 추가

INSERT INTO [테이블명] VALUES ([값1], [값2], ...);

특정 레코드 추가

INSERT INTO [테이블명] ([컬럼명1], [컬럼명2], ...) VALUES([값1], [값2]);

레코드 조회

모든 레코드 조회

SELECT * FROM [테이블명];

콘솔창에서의 칸 조절

COL [항목명] FOR A[사이즈];

모든 레코드의 특정 항목만 보기

SELECT [항목명1], [항목명2], ... FROM [테이블명];

레코드 수정

모든 레코드의 특정 항목 수정

UPDATE [테이블명] SET [컬럼명] = [수정할 값];

레코드 삭제

모든 레코드 삭제

DELETE FROM [테이블명];

조건 (WHERE)

문자 조건

LIKE 'ㅇㅇㅇ';

(%사용하여 문자조건 추가)

NULL 조건

IS NULL;

정렬

정렬

ORDER BY [항목명] [ASC(오름차순)/DESC(내림차순)];

함수

합계

SUM([컬럼명])

평균

AVG([컬럼명])

최대

MAX([컬럼명])

최소

MIN([컬럼명])

개수

COUNT([항목명])

시퀀스

시퀀스 생성

CREATE SEQUENCE [시퀀스명] [옵션1] [옵션2] ...;

시퀀스 번호 부여

[시퀀스명].NEXTVAL

시퀀스 현재 값 조회

SELECT [시퀀스명].CURRVAL FROM DUAL;

현재 유저의 모든 시퀀스 정보 조회

SELECT * FROM USER_SEQUENCES;

시퀀스 삭제

DROP SEQUENCE [시퀀스명];

시퀀스 옵션

START WITH n

n부터 시작하겠다.

INCREMENT BY n

n씩 증가시키겠다.

(음수면 감소), DEFAULT 1

MAXVALUE n

최댓값을 n으로 지정

NOMAXVALUE

최대값 없음 (무한대로 증가)

DEFAULT

MINVALUE n

최소값을 n으로 지정

NOMINBALUE

최솟값 없음 (무한대로 감소)

DEFAULT

CYCLE

최댓값/최솟값 도달 시 순환하겠다.

(다시 최솟값/최댓값부터 시작하겠다.)

NOCYCLE

순환하지 않음

(도달하면 더 이상 NEXTVAL을 사용할 수 없음) DEFAULT

CACHE

미리 메모리에 생성 해두겠다.

DEFAULT 20

NOCACHE

미리 메모리에 생성하지 않겠다.

  •  
반응형