CQLAI Features
Comprehensive guide to CQLAI’s features and capabilities.
Shell Features
Section titled “Shell Features”Syntax Highlighting
Section titled “Syntax Highlighting”CQLAI provides real-time syntax highlighting for:
- CQL keywords (SELECT, INSERT, CREATE, etc.)
- Table and keyspace names
- Data types
- String literals
- Numbers
- Comments
Auto-Completion
Section titled “Auto-Completion”cqlai> SEL<Tab>SELECT
cqlai> SELECT * FROM us<Tab>users user_events user_sessions
cqlai> SELECT * FROM users WHERE user_<Tab>user_id user_name user_emailMulti-Line Queries
Section titled “Multi-Line Queries”cqlai> SELECT user_id, ...> username, ...> email ...> FROM users ...> WHERE user_id = 123e4567-e89b-12d3-a456-426614174000;Query History
Section titled “Query History”# Search historyCtrl+R: search history
# View historycqlai> .history
# Execute from historycqlai> !42 # Run command #42Output Formats
Section titled “Output Formats”Table Format (Default)
Section titled “Table Format (Default)”cqlai> SELECT * FROM users LIMIT 3;
┌──────────────────────────────────────┬──────────┬─────────────────────┐│ user_id │ username │ email │├──────────────────────────────────────┼──────────┼─────────────────────┤│ 123e4567-e89b-12d3-a456-426614174000 │ alice │ alice@example.com ││ 223e4567-e89b-12d3-a456-426614174001 │ bob │ bob@example.com ││ 323e4567-e89b-12d3-a456-426614174002 │ charlie │ charlie@example.com │└──────────────────────────────────────┴──────────┴─────────────────────┘3 rowsJSON Format
Section titled “JSON Format”cqlai> .format jsoncqlai> SELECT * FROM users LIMIT 1;
{ "user_id": "123e4567-e89b-12d3-a456-426614174000", "username": "alice", "email": "alice@example.com"}CSV Format
Section titled “CSV Format”cqlai> .format csvcqlai> SELECT * FROM users LIMIT 3;
user_id,username,email123e4567-e89b-12d3-a456-426614174000,alice,alice@example.com223e4567-e89b-12d3-a456-426614174001,bob,bob@example.comVertical Format
Section titled “Vertical Format”cqlai> .format verticalcqlai> SELECT * FROM users LIMIT 1;
*************************** 1. row *************************** user_id: 123e4567-e89b-12d3-a456-426614174000username: alice email: alice@example.comSchema Commands
Section titled “Schema Commands”Describe Keyspace
Section titled “Describe Keyspace”cqlai> DESCRIBE KEYSPACE my_keyspace;
CREATE KEYSPACE my_keyspace WITH replication = { 'class': 'NetworkTopologyStrategy', 'dc1': 3} AND durable_writes = true;Describe Table
Section titled “Describe Table”cqlai> DESCRIBE TABLE users;
CREATE TABLE my_keyspace.users ( user_id uuid PRIMARY KEY, username text, email text, created_at timestamp) WITH bloom_filter_fp_chance = 0.01 AND caching = {'keys': 'ALL', 'rows_per_partition': 'NONE'} AND compaction = {'class': 'LeveledCompactionStrategy'} ...Quick Description
Section titled “Quick Description”cqlai> .desc users
Table: usersKeyspace: my_keyspace
Columns: user_id uuid partition key username text email text created_at timestamp
Indexes: noneQuery Execution
Section titled “Query Execution”Consistency Level
Section titled “Consistency Level”cqlai> CONSISTENCY LOCAL_QUORUM;Consistency level set to LOCAL_QUORUM.
cqlai> SELECT * FROM users;Tracing
Section titled “Tracing”cqlai> TRACING ON;cqlai> SELECT * FROM users WHERE user_id = ?;
Tracing session: abc123Activity | Timestamp | Source-------------------------------------------+---------------+-----------Execute CQL3 query | 10:30:45.123 | 192.168.1.10Parsing SELECT * FROM users WHERE... | 10:30:45.124 | 192.168.1.10Executing single-partition query on users | 10:30:45.125 | 192.168.1.10...Paging
Section titled “Paging”cqlai> .page 50Page size set to 50.
cqlai> SELECT * FROM large_table;[First 50 rows displayed]-- Press Enter for more, q to quit --Connection Management
Section titled “Connection Management”Multiple Connections
Section titled “Multiple Connections”cqlai> .connect production -h prod-cluster.example.com -u adminConnected to production.
cqlai> .connect staging -h staging.example.comConnected to staging.
cqlai> .switch productionSwitched to production.Connection Status
Section titled “Connection Status”cqlai> .status
Connection: productionHost: prod-cluster.example.com:9042Keyspace: my_keyspaceUser: adminProtocol: v4Consistency: LOCAL_QUORUMScripting
Section titled “Scripting”Execute Script File
Section titled “Execute Script File”# From command linecqlai -f script.cql
# From shellcqlai> SOURCE '/path/to/script.cql';Script Example
Section titled “Script Example”-- script.cqlUSE my_keyspace;
-- Create tablesCREATE TABLE IF NOT EXISTS events ( event_id uuid PRIMARY KEY, event_type text, payload text);
-- Insert test dataINSERT INTO events (event_id, event_type, payload)VALUES (uuid(), 'test', '{"data": "value"}');
-- VerifySELECT * FROM events;Batch Mode
Section titled “Batch Mode”# Non-interactive executionecho "SELECT * FROM users LIMIT 5;" | cqlai -h localhost
# Pipe resultscqlai -h localhost -e "SELECT * FROM users" | grep "alice"Utility Commands
Section titled “Utility Commands”Clear Screen
Section titled “Clear Screen”cqlai> .clearShow Settings
Section titled “Show Settings”cqlai> .settings
Current Settings: Host: localhost:9042 Keyspace: my_keyspace Consistency: LOCAL_QUORUM Page size: 100 Format: table Color: enabled AI Provider: openaicqlai> .help
Available Commands: .ai <prompt> Natural language to CQL .clear Clear screen .connect Manage connections .desc <table> Quick table description .export Export data .format <type> Set output format .help Show this help .history Show command history .import Import data .page <size> Set page size .settings Show current settings .status Connection statusNext Steps
Section titled “Next Steps”- AI Features - AI capabilities
- Data Import/Export - Data migration
- Configuration - Advanced settings