CUBRID SQL¶
이 장에서는 CUBRID에서 사용되는 데이터 타입, 함수와 연산자, 데이터 조회나 테이블 조작 등의 SQL 구문에 대해 설명한다. 인덱스나 트리거, 분할, 시리얼 및 사용자 정보 변경 등의 작업을 위한 SQL 구문도 찾아볼 수 있다.
주요 내용은 다음과 같다.
작성 규칙
식별자: 테이블, 인덱스, 칼럼의 이름으로 허용되는 문자열인 식별자 작성 방법을 설명한다.
예약어: 질의문을 구성하기 위한 문법적인 용도로 사용하는 예약어들을 나열한다. 예약어를 식별자로 사용하려면 식별자를 겹따옴표(“), 백틱(`) 혹은 대괄호([])로 반드시 감싸야 한다.
주석
리터럴: 상수 값 작성 방법을 설명한다.
데이터 타입: 데이터를 저장하는 형태인 데이터 타입에 대해 설명한다.
데이터 정의문: 테이블, 인덱스, 뷰, 시리얼을 생성, 변경, 삭제하는 방법을 설명한다.
연산자와 함수: 질의문에서 사용되는 연산자와 함수에 대해 설명한다.
데이터 조작문: SELECT, INSERT, UPDATE, DELETE 구문에 대해 설명한다.
질의 최적화: 인덱스와 힌트, 인덱스 힌트 구문을 이용한 질의 최적화에 대해 설명한다.
분할: 하나의 테이블을 여러 독립적인 논리적 단위로 분할하는 방법을 설명한다.
트리거(trigger): 특정 질의 수행 시 특정 기능이 같이 수행되도록 하는 트리거의 생성, 변경, 삭제 방법을 설명한다.
Java 저장 함수/프로시저: Java 메서드를 별도로 생성하여 질의문 내에서 호출할 수 있는 방법을 설명한다.
메서드(method): CUBRID 데이터베이스 시스템의 내장 함수인 메서드에 대해 설명한다.
클래스 상속: 부모와 자식 테이블(클래스) 사이에 속성을 상속하는 방법을 설명한다.
데이터베이스 관리: 사용자 관리, SET, SHOW 문에 대해 설명한다.
사용자 스키마: 사용자와 함께 생성되는 데이터베이스의 논리적인 객체 모음을 설명한다.
시스템 카탈로그: 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
- CURRENT_DATETIME, NOW
- CURTIME, CURRENT_TIME
- CURRENT_TIMESTAMP, LOCALTIME, LOCALTIMESTAMP
- DATE
- DATEDIFF
- DATE_SUB, SUBDATE
- DAY, DAYOFMONTH
- DAYOFWEEK
- DAYOFYEAR
- EXTRACT
- FROM_DAYS
- FROM_TZ
- FROM_UNIXTIME
- HOUR
- LAST_DAY
- MAKEDATE
- MAKETIME
- MINUTE
- MONTH
- MONTHS_BETWEEN
- NEW_TIME
- QUARTER
- ROUND
- SEC_TO_TIME
- SECOND
- SYS_DATE, SYSDATE
- SYS_DATETIME, SYSDATETIME
- SYS_TIME, SYSTIME
- SYS_TIMESTAMP, SYSTIMESTAMP
- TIME
- TIME_TO_SEC
- TIMEDIFF
- TIMESTAMP
- TO_DAYS
- TRUNC
- TZ_OFFSET
- UNIX_TIMESTAMP
- UTC_DATE
- UTC_TIME
- WEEK
- WEEKDAY
- YEAR
- JSON 함수
- JSON 함수 소개
- JSON_ARRAY
- JSON_OBJECT
- JSON_KEYS
- JSON_DEPTH
- JSON_LENGTH
- JSON_VALID
- JSON_TYPE
- JSON_QUOTE
- JSON_UNQUOTE
- JSON_PRETTY
- JSON_SEARCH
- JSON_EXTRACT
- ->
- ->>
- JSON_CONTAINS_PATH
- JSON_CONTAINS
- JSON_MERGE_PATCH
- JSON_MERGE_PRESERVE
- JSON_MERGE
- JSON_ARRAY_APPEND
- JSON_ARRAY_INSERT
- JSON_INSERT
- JSON_SET
- JSON_REPLACE
- JSON_REMOVE
- JSON_TABLE
- LOB 함수
- 데이터 타입 변환 함수와 연산자
- 집계/분석 함수
- 개요
- 집계 함수와 분석 함수 비교
- OVER 함수 내에 “ORDER BY” 절을 명시해야 하는 분석 함수
- AVG
- COUNT
- CUME_DIST
- DENSE_RANK
- FIRST_VALUE
- GROUP_CONCAT
- LAG
- LAST_VALUE
- LEAD
- MAX
- MEDIAN
- MIN
- NTH_VALUE
- NTILE
- PERCENT_RANK
- PERCENTILE_CONT
- PERCENTILE_DISC
- RANK
- ROW_NUMBER
- STDDEV, STDDEV_POP
- STDDEV_SAMP
- SUM
- VARIANCE, VAR_POP
- VAR_SAMP
- JSON_ARRAYAGG
- JSON_OBJECTAGG
- 클릭 카운터 함수
- ROWNUM 함수
- 정보 함수
- 암호화 함수
- 비교 연산식
- 비교 함수
- 기타 함수
- 데이터 조작문
- 질의 최적화
- 분할
- 다국어 지원
- 트랜잭션과 잠금
- 트리거
- Java 저장 함수/프로시저
- CUBRID DBLink
- 메서드
- 클래스 상속
- 데이터베이스 관리
- 사용자 스키마
- 시스템 카탈로그
- 시스템 카탈로그 클래스
- _db_class
- _db_attribute
- _db_domain
- _db_charset
- _db_collation
- _db_method
- _db_meth_sig
- _db_meth_arg
- _db_meth_file
- _db_query_spec
- _db_index
- _db_index_key
- _db_auth
- _db_data_type
- _db_partition
- _db_stored_procedure
- _db_stored_procedure_args
- _db_server
- _db_synonym
- db_user
- db_authorization
- db_serial
- db_trigger
- db_ha_apply_info
- dual
- 시스템 카탈로그 가상 클래스
- 카탈로그 클래스/가상 클래스 사용 권한
- 카탈로그에 대한 질의
- 시스템 카탈로그 클래스