CUBRID SQL 설명서¶
이 장에서는 CUBRID에서 사용되는 데이터 타입, 함수와 연산자, 데이터 조회나 테이블 조작 등의 SQL 구문에 대해 설명한다. 인덱스나 트리거, 분할, 시리얼 및 사용자 정보 변경 등의 작업을 위한 SQL 구문도 찾아볼 수 있다.
주요 내용은 다음과 같다.
- 식별자: 테이블, 인덱스, 칼럼의 이름으로 허용되는 문자열인 식별자 작성 방법을 설명한다.
- 예약어: 질의문을 구성하기 위한 문법적인 용도로 사용하는 예약어들을 나열한다. 예약어를 식별자로 사용하려면 식별자를 겹따옴표("), 백틱(`) 혹은 대괄호([])로 반드시 감싸야 한다.
- 주석
- 데이터 타입: 데이터를 저장하는 형태인 데이터 타입에 대해 설명한다.
- 테이블: 테이블을 생성, 변경, 삭제하는 방법을 설명한다.
- 인덱스: 인덱스를 생성, 변경, 삭제하는 방법을 설명한다.
- 뷰: 물리적으로 존재하지 않는 가상의 테이블인 뷰를 생성, 변경, 삭제하는 방법을 설명한다.
- 시리얼: 데이터베이스가 관리하는 일련번호를 생성, 변경, 삭제하는 방법을 설명한다.
- 연산자와 함수: 질의문에서 사용되는 연산자와 함수에 대해 설명한다.
- 데이터 조회 및 조작: SELECT, INSERT, UPDATE, DELETE 구문에 대해 설명한다.
- 질의 최적화: 인덱스와 힌트, 인덱스 힌트 구문을 이용한 질의 최적화에 대해 설명한다.
- 분할: 하나의 테이블을 여러 독립적인 논리적 단위로 분할하는 방법을 설명한다.
- 트리거(trigger): 특정 질의 수행 시 특정 기능이 같이 수행되도록 하는 트리거의 생성, 변경, 삭제 방법을 설명한다.
- Java 저장 함수/프로시저: Java 메서드를 별도로 생성하여 질의문 내에서 호출할 수 있는 방법을 설명한다.
- 메서드(method): CUBRID 데이터베이스 시스템의 내장 함수인 메서드에 대해 설명한다.
- 클래스 상속: 부모와 자식 테이블(클래스) 사이에 속성을 상속하는 방법을 설명한다.
- 클래스 충돌 해결: 상속 관련 테이블(클래스) 사이에 속성이나 메서드에서 충돌을 해결하는 방법을 설명한다.
- CUBRID 시스템 카탈로그: CUBRID 데이터베이스의 내부 정보인 시스템 카탈로그에 대해 설명한다.
- 식별자
- 예약어
- 주석
- 데이터 타입
- 테이블
- 인덱스
- 뷰
- 시리얼
- 데이터베이스 사용자 권한
- 연산자와 함수
- 논리 연산자
- 비교 연산자
- 산술 연산자
- 집합 산술 연산자
- 문장 집합 연산자
- 포함 연산자
- 비트 함수와 연산자
- 문자열 함수와 연산자
- 병합 연산자
- ASCII
- BIN
- BIT_LENGTH
- CHAR_LENGTH, CHARACTER_LENGTH, LENGTHB, LENGTH
- CHR
- CONCAT
- CONCAT_WS
- ELT
- FIELD
- FIND_IN_SET
- FROM_BASE64
- INSERT
- INSTR
- LCASE, LOWER
- LEFT
- LOCATE
- LPAD
- LTRIM
- MID
- OCTET_LENGTH
- POSITION
- REPEAT
- REPLACE
- REVERSE
- RIGHT
- RPAD
- RTRIM
- SPACE
- STRCMP
- SUBSTR
- SUBSTRING
- SUBSTRING_INDEX
- TO_BASE64
- TRANSLATE
- TRIM
- UCASE, UPPER
- 수치 연산 함수
- 날짜/시간 함수와 연산자
- ADDDATE, DATE_ADD
- ADDTIME
- ADD_MONTHS
- CURDATE, CURRENT_DATE, SYS_DATE, SYSDATE
- CURRENT_DATETIME, NOW, SYS_DATETIME, SYSDATETIME
- CURTIME, CURRENT_TIME, SYS_TIME, SYSTIME
- CURRENT_TIMESTAMP, SYS_TIMESTAMP, SYSTIMESTAMP, LOCALTIME, LOCALTIMESTAMP
- DATE
- DATEDIFF
- DATE_SUB, SUBDATE
- DAY, DAYOFMONTH
- DAYOFWEEK
- DAYOFYEAR
- EXTRACT
- FROM_DAYS
- FROM_UNIXTIME
- HOUR
- LAST_DAY
- MAKEDATE
- MAKETIME
- MINUTE
- MONTH
- MONTHS_BETWEEN
- QUARTER
- ROUND
- SEC_TO_TIME
- SECOND
- TIME
- TIME_TO_SEC
- TIMEDIFF
- TIMESTAMP
- TO_DAYS
- TRUNC
- UNIX_TIMESTAMP
- UTC_DATE
- UTC_TIME
- WEEK
- WEEKDAY
- YEAR
- LOB 함수
- 데이터 타입 변환 함수와 연산자
- 집계/분석 함수
- 클릭 카운터 함수
- ROWNUM 함수
- 정보 함수
- 암호화 함수
- 비교 연산식
- 비교 함수
- 데이터 조회 및 조작
- SELECT
- 계층적 질의
- INSERT
- UPDATE
- REPLACE
- DELETE
- MERGE
- TRUNCATE
- PREPARED STATEMENT
- SET
- DO
- SHOW
- DESC, DESCRIBE
- EXPLAIN
- SHOW TABLES
- SHOW COLUMNS
- SHOW INDEX
- SHOW COLLATION
- SHOW GRANTS
- SHOW CREATE TABLE
- SHOW CREATE VIEW
- SHOW ACCESS STATUS
- SHOW EXEC STATISTICS
- SHOW VOLUME HEADER
- SHOW LOG HEADER
- SHOW ARCHIVE LOG HEADER
- SHOW HEAP HEADER
- SHOW HEAP CAPACITY
- SHOW SLOTTED PAGE HEADER
- SHOW SLOTTED PAGE SLOTS
- SHOW INDEX HEADER
- SHOW INDEX CAPACITY
- 질의 최적화
- 분할
- 다국어 지원
- 트랜잭션과 잠금
- 데이터베이스 트랜잭션
- 커서 유지
- 데이터베이스 동시성
- 잠금 프로토콜
- 트랜잭션 격리 수준
- 격리 수준 설정
- 격리 수준 값 확인
- SERIALIZABLE
- REPEATABLE READ CLASS with REPEATABLE READ INSTANCES
- REPEATABLE READ CLASS with READ COMMITTED INSTANCES
- REPEATABLE READ CLASS with READ UNCOMMITTED INSTANCES
- READ COMMITTED CLASS with READ COMMITTED INSTANCES
- READ COMMITTED CLASS with READ UNCOMMITTED INSTANCES
- UPDATE INCONSISTENCY
- 지원하지 않는 격리 수준 조합
- CUBRID에서 더티 레코드를 다루는 방법
- 트랜잭션 종료와 복구
- 트리거
- Java 저장 함수/프로시저
- 메서드
- 클래스 상속
- 시스템 카탈로그