SQL Reference
SQL Reference
Machbase의 완전한 SQL 구문 레퍼런스입니다. 이 섹션은 모든 SQL 명령어, 데이터 타입, 함수 및 연산자에 대한 상세한 문서를 제공합니다.
SQL 명령어 카테고리
데이터 정의 언어 (DDL)
CREATE TABLE- LOG 테이블 생성CREATE TAGDATA TABLE- TAG 테이블 생성CREATE VOLATILE TABLE- VOLATILE 테이블 생성CREATE LOOKUP TABLE- LOOKUP 테이블 생성ALTER TABLE- 테이블 구조 수정DROP TABLE- 테이블 삭제CREATE INDEX- 인덱스 생성DROP INDEX- 인덱스 삭제
데이터 조작 언어 (DML)
INSERT- 데이터 삽입SELECT- 데이터 조회UPDATE- 데이터 업데이트 (VOLATILE/LOOKUP 테이블)DELETE- 데이터 삭제DURATION- 시간 기반 쿼리 절
데이터 제어 언어 (DCL)
CREATE USER- 데이터베이스 사용자 생성ALTER USER- 사용자 수정DROP USER- 사용자 삭제GRANT- 권한 부여REVOKE- 권한 취소
시스템 명령어
SHOW TABLES- 테이블 목록SHOW TABLE- 테이블 구조 보기SHOW USERS- 사용자 목록SHOW INDEXES- 인덱스 목록SHOW STORAGE- 스토리지 정보 보기SHOW LICENSE- 라이선스 정보 보기
데이터 타입
숫자 타입
SHORT,INTEGER,LONGFLOAT,DOUBLE
문자열 타입
CHAR(n),VARCHAR(n)
날짜/시간 타입
DATE,DATETIME
바이너리 타입
BINARY(n)
네트워크 타입
IPV4,IPV6
함수
시간 함수
NOW,SYSDATETO_DATE(),TO_TIMESTAMP()TO_CHAR()INTERVAL
집계 함수
COUNT(),SUM(),AVG()MIN(),MAX()STDDEV(),VARIANCE()
문자열 함수
UPPER(),LOWER()LENGTH(),SUBSTR()SEARCH키워드
수학 함수
ABS(),CEIL(),FLOOR()ROUND(),TRUNC()POWER(),SQRT()
Machbase 전용 기능
DURATION 절
SELECT * FROM table DURATION n MINUTE|HOUR|DAY [BEFORE n MINUTE|HOUR|DAY];SEARCH 키워드
SELECT * FROM table WHERE column SEARCH 'keyword';Rollup 쿼리
SELECT * FROM tag_table WHERE rollup = sec|min|hour;시간 기반 삭제
DELETE FROM table OLDEST n ROWS;
DELETE FROM table EXCEPT n ROWS|DAYS;
DELETE FROM table BEFORE datetime;완전한 레퍼런스
완전한 SQL 구문 문서는 다음을 참조하세요:
- SQL 레퍼런스 - 상세한 SQL 명령어 레퍼런스
빠른 참조 예제
테이블 생성
-- TAG 테이블
CREATE TAGDATA TABLE sensors (
sensor_id VARCHAR(20) PRIMARY KEY,
time DATETIME BASETIME,
value DOUBLE SUMMARIZED
);
-- LOG 테이블
CREATE TABLE logs (
level VARCHAR(10),
message VARCHAR(2000)
);
-- VOLATILE 테이블
CREATE VOLATILE TABLE cache (
key VARCHAR(100) PRIMARY KEY,
value VARCHAR(500)
);
-- LOOKUP 테이블
CREATE LOOKUP TABLE devices (
device_id INTEGER,
name VARCHAR(100)
);데이터 조회
-- 최근 데이터
SELECT * FROM sensors DURATION 1 HOUR;
-- 조건과 함께
SELECT * FROM logs WHERE level = 'ERROR' DURATION 1 DAY;
-- 집계
SELECT sensor_id, AVG(value) FROM sensors
DURATION 1 DAY GROUP BY sensor_id;
-- Rollup 쿼리
SELECT * FROM sensors WHERE rollup = hour DURATION 7 DAY;사용자 관리
-- 사용자 생성
CREATE USER analyst IDENTIFIED BY 'password';
-- 권한 부여
GRANT SELECT ON sensors TO analyst;
-- 비밀번호 변경
ALTER USER analyst IDENTIFIED BY 'newpassword';학습 경로
- 시작하기: 기본 DDL/DML 명령어
- 학습하기: Machbase 전용 기능 (DURATION, SEARCH)
- 마스터하기: 고급 쿼리 및 함수
- 참조하기: 구문 세부 사항은 이 섹션 참조
관련 문서
최근 업데이트