SQL Reference
SQL Reference
Complete SQL syntax reference for Machbase. This section provides detailed documentation for all SQL commands, data types, functions, and operators.
SQL Command Categories
Data Definition Language (DDL)
CREATE TABLE
- Create log tablesCREATE TAGDATA TABLE
- Create tag tablesCREATE VOLATILE TABLE
- Create volatile tablesCREATE LOOKUP TABLE
- Create lookup tablesALTER TABLE
- Modify table structureDROP TABLE
- Delete tablesCREATE INDEX
- Create indexesDROP INDEX
- Delete indexes
Data Manipulation Language (DML)
INSERT
- Insert dataSELECT
- Query dataUPDATE
- Update data (Volatile/Lookup tables)DELETE
- Delete dataDURATION
- Time-based query clause
Data Control Language (DCL)
CREATE USER
- Create database usersALTER USER
- Modify usersDROP USER
- Delete usersGRANT
- Grant permissionsREVOKE
- Revoke permissions
System Commands
SHOW TABLES
- List tablesSHOW TABLE
- View table structureSHOW USERS
- List usersSHOW INDEXES
- List indexesSHOW STORAGE
- View storage infoSHOW LICENSE
- View license info
Data Types
Numeric Types
SHORT
,INTEGER
,LONG
FLOAT
,DOUBLE
String Types
CHAR(n)
,VARCHAR(n)
Date/Time Types
DATE
,DATETIME
Binary Types
BINARY(n)
Network Types
IPV4
,IPV6
Functions
Time Functions
NOW
,SYSDATE
TO_DATE()
,TO_TIMESTAMP()
TO_CHAR()
INTERVAL
Aggregate Functions
COUNT()
,SUM()
,AVG()
MIN()
,MAX()
STDDEV()
,VARIANCE()
String Functions
UPPER()
,LOWER()
LENGTH()
,SUBSTR()
SEARCH
keyword
Mathematical Functions
ABS()
,CEIL()
,FLOOR()
ROUND()
,TRUNC()
POWER()
,SQRT()
Machbase-Specific Features
DURATION Clause
SELECT * FROM table DURATION n MINUTE|HOUR|DAY [BEFORE n MINUTE|HOUR|DAY];
SEARCH Keyword
SELECT * FROM table WHERE column SEARCH 'keyword';
Rollup Queries
SELECT * FROM tag_table WHERE rollup = sec|min|hour;
Time-Based Deletion
DELETE FROM table OLDEST n ROWS;
DELETE FROM table EXCEPT n ROWS|DAYS;
DELETE FROM table BEFORE datetime;
Complete Reference
For complete SQL syntax documentation, see:
- SQL Reference - Detailed SQL command reference
Quick Reference Examples
Create Tables
-- Tag table
CREATE TAGDATA TABLE sensors (
sensor_id VARCHAR(20) PRIMARY KEY,
time DATETIME BASETIME,
value DOUBLE SUMMARIZED
);
-- Log table
CREATE TABLE logs (
level VARCHAR(10),
message VARCHAR(2000)
);
-- Volatile table
CREATE VOLATILE TABLE cache (
key VARCHAR(100) PRIMARY KEY,
value VARCHAR(500)
);
-- Lookup table
CREATE LOOKUP TABLE devices (
device_id INTEGER,
name VARCHAR(100)
);
Query Data
-- Recent data
SELECT * FROM sensors DURATION 1 HOUR;
-- With conditions
SELECT * FROM logs WHERE level = 'ERROR' DURATION 1 DAY;
-- Aggregations
SELECT sensor_id, AVG(value) FROM sensors
DURATION 1 DAY GROUP BY sensor_id;
-- Rollup query
SELECT * FROM sensors WHERE rollup = hour DURATION 7 DAY;
Manage Users
-- Create user
CREATE USER analyst IDENTIFIED BY 'password';
-- Grant permissions
GRANT SELECT ON sensors TO analyst;
-- Change password
ALTER USER analyst IDENTIFIED BY 'newpassword';
Learning Path
- Start with: Basic DDL/DML commands
- Learn: Machbase-specific features (DURATION, SEARCH)
- Master: Advanced queries and functions
- Reference: This section for syntax details
Related Documentation
- Core Concepts - Understanding Machbase
- Common Tasks - Query examples
- Tutorials - Hands-on practice
Last updated on