Official Database Cheat Codes
20 essential cheat codes for each of our 10 database engines. Instant copy-paste reference for querying, schema design, and administration.
Retrieve columns from table.
SELECT col1, col2 FROM tbl; SELECT id, email FROM users; Filter query output rows.
SELECT * FROM tbl WHERE col = val; SELECT * FROM orders WHERE total > 100; Combine rows from two tables on key.
SELECT * FROM t1 JOIN t2 ON t1.id = t2.fk; SELECT u.name, o.id FROM users u JOIN orders o ON u.id = o.user_id; Group rows for aggregate computations.
SELECT col, COUNT(*) FROM tbl GROUP BY col; SELECT dept, COUNT(*) FROM emp GROUP BY dept; Filter aggregated grouped output.
SELECT col, AVG(x) FROM tbl GROUP BY col HAVING AVG(x) > 50; SELECT dept, AVG(sal) FROM emp GROUP BY dept HAVING AVG(sal) > 50000; Add new row records into table.
INSERT INTO tbl (col1) VALUES (val1); INSERT INTO users (email) VALUES ('a@b.com'); Modify existing table column values.
UPDATE tbl SET col = val WHERE condition; UPDATE users SET status = 'active' WHERE id = 1; Remove records matching condition.
DELETE FROM tbl WHERE condition; DELETE FROM sessions WHERE expired = true; Insert row or update on key conflict.
INSERT INTO tbl (id, val) VALUES (1, 'a') ON CONFLICT (id) DO UPDATE SET val = EXCLUDED.val; INSERT INTO stats (id, count) VALUES (1, 1) ON CONFLICT (id) DO UPDATE SET count = stats.count + 1; Return modified column values directly.
INSERT INTO tbl (col) VALUES (val) RETURNING id; INSERT INTO users (email) VALUES ('a@b.com') RETURNING id, created_at; Extract JSON field as text string.
SELECT data->>'field' FROM tbl; SELECT metadata->>'author' FROM docs; Check if JSONB contains key-value pair.
SELECT * FROM tbl WHERE data @> '{"key": "val"}'; SELECT * FROM events WHERE payload @> '{"type": "click"}'; Concatenate group strings with delimiter.
SELECT STRING_AGG(col, ', ') FROM tbl GROUP BY grp; SELECT dept, STRING_AGG(name, ', ') FROM emp GROUP BY dept; Execute query and return real runtime stats.
EXPLAIN ANALYZE SELECT * FROM tbl WHERE col = val; EXPLAIN ANALYZE SELECT * FROM users WHERE email = 'a@b.com'; Build B-Tree index to accelerate lookups.
CREATE INDEX idx_name ON tbl(col); CREATE INDEX idx_users_email ON users(email); Build GIN index for JSONB or array columns.
CREATE INDEX idx_name ON tbl USING GIN (json_col); CREATE INDEX idx_docs_meta ON docs USING GIN (metadata); Query hierarchical org or tree data.
WITH RECURSIVE cte AS (...) SELECT * FROM cte; WITH RECURSIVE tree AS (SELECT id FROM emp UNION ALL SELECT e.id FROM emp e JOIN tree t ON e.mgr_id = t.id) SELECT * FROM tree; Assign row index numbers within partition.
SELECT col, ROW_NUMBER() OVER(PARTITION BY grp ORDER BY val) FROM tbl; SELECT name, ROW_NUMBER() OVER(PARTITION BY dept ORDER BY sal DESC) FROM emp; Reclaim dead tuples and update statistics.
VACUUM ANALYZE tbl_name; VACUUM ANALYZE users; Rapidly wipe all rows from table.
TRUNCATE TABLE tbl RESTART IDENTITY; TRUNCATE TABLE staging_events RESTART IDENTITY; Retrieve columns from MySQL table.
SELECT col1, col2 FROM tbl; SELECT id, username FROM users; Filter output matching condition.
SELECT * FROM tbl WHERE col = val; SELECT * FROM products WHERE price > 50; Match rows across joined tables.
SELECT * FROM t1 INNER JOIN t2 ON t1.id = t2.fk; SELECT u.name, o.id FROM users u INNER JOIN orders o ON u.id = o.user_id; Keep all left rows with matching right rows.
SELECT * FROM t1 LEFT JOIN t2 ON t1.id = t2.fk; SELECT u.name, o.id FROM users u LEFT JOIN orders o ON u.id = o.user_id; Group rows for calculation.
SELECT col, COUNT(*) FROM tbl GROUP BY col; SELECT status, COUNT(*) FROM orders GROUP BY status; Filter aggregated results.
SELECT col, SUM(x) FROM tbl GROUP BY col HAVING SUM(x) > 1000; SELECT dept, SUM(sales) FROM rep GROUP BY dept HAVING SUM(sales) > 10000; Add new records into table.
INSERT INTO tbl (col1) VALUES (val1); INSERT INTO customers (name) VALUES ('Acme Corp'); Modify column values in rows.
UPDATE tbl SET col = val WHERE condition; UPDATE orders SET status = 'shipped' WHERE id = 101; Remove records from table.
DELETE FROM tbl WHERE condition; DELETE FROM logs WHERE created_at < '2026-01-01'; Execute upsert on unique key duplicate.
INSERT INTO tbl (id, val) VALUES (1, 10) ON DUPLICATE KEY UPDATE val = val + 10; INSERT INTO views (page_id, count) VALUES (5, 1) ON DUPLICATE KEY UPDATE count = count + 1; Combine text values into single string.
SELECT GROUP_CONCAT(col SEPARATOR ', ') FROM tbl GROUP BY grp; SELECT dept_id, GROUP_CONCAT(name SEPARATOR ', ') FROM emp GROUP BY dept_id; Format DATETIME into custom string.
SELECT DATE_FORMAT(dt, '%Y-%m-%d') FROM tbl; SELECT order_id, DATE_FORMAT(created_at, '%W, %M %e') FROM orders; Paginate result rows.
SELECT * FROM tbl ORDER BY col LIMIT count OFFSET skip; SELECT * FROM items ORDER BY id DESC LIMIT 10 OFFSET 20; Define new table with AUTO_INCREMENT key.
CREATE TABLE tbl (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100)); CREATE TABLE users (id INT AUTO_INCREMENT PRIMARY KEY, email VARCHAR(255) NOT NULL); Add or drop columns from table.
ALTER TABLE tbl ADD COLUMN col datatype; ALTER TABLE users ADD COLUMN age INT; Build index on table columns.
CREATE INDEX idx_name ON tbl(col); CREATE INDEX idx_user_email ON users(email); Analyze MySQL optimizer execution details.
EXPLAIN FORMAT=JSON SELECT * FROM tbl WHERE col = val; EXPLAIN FORMAT=JSON SELECT * FROM orders WHERE user_id = 42; Inspect active database connections.
SHOW FULL PROCESSLIST; SHOW FULL PROCESSLIST; Terminate stuck client thread ID.
KILL process_id; KILL 1234; Parse nested JSON column property.
SELECT JSON_UNQUOTE(JSON_EXTRACT(json_col, '$.key')) FROM tbl; SELECT JSON_UNQUOTE(JSON_EXTRACT(meta, '$.role')) FROM users; Fetch columns from SQLite database.
SELECT col1, col2 FROM tbl; SELECT id, name FROM notes; Filter output rows.
SELECT * FROM tbl WHERE col = val; SELECT * FROM tasks WHERE completed = 1; Join two tables on condition.
SELECT * FROM t1 JOIN t2 ON t1.id = t2.fk; SELECT n.title, c.name FROM notes n JOIN categories c ON n.cat_id = c.id; Group rows for aggregate stats.
SELECT col, COUNT(*) FROM tbl GROUP BY col; SELECT category, COUNT(*) FROM tasks GROUP BY category; Sort output rows.
SELECT * FROM tbl ORDER BY col DESC; SELECT * FROM notes ORDER BY updated_at DESC; Paginate SQLite query output.
SELECT * FROM tbl LIMIT count OFFSET skip; SELECT * FROM logs LIMIT 20 OFFSET 40; Add new row into table.
INSERT INTO tbl (col) VALUES (val); INSERT INTO notes (title) VALUES ('Meeting Summary'); Modify column values in rows.
UPDATE tbl SET col = val WHERE condition; UPDATE tasks SET completed = 1 WHERE id = 5; Remove records matching filter.
DELETE FROM tbl WHERE condition; DELETE FROM temp_files WHERE age > 7; Execute upsert on unique key collision.
INSERT INTO tbl (id, val) VALUES (1, 'a') ON CONFLICT (id) DO UPDATE SET val = excluded.val; INSERT INTO kv (key, val) VALUES ('theme', 'dark') ON CONFLICT (key) DO UPDATE SET val = excluded.val; Inspect table columns and data types.
PRAGMA table_info('tbl'); PRAGMA table_info('users'); Enable high-concurrency WAL mode.
PRAGMA journal_mode = WAL; PRAGMA journal_mode = WAL; Reclaim unused file disk space.
VACUUM; VACUUM; Build full-text search index.
CREATE VIRTUAL TABLE fts_tbl USING fts5(col1, col2); CREATE VIRTUAL TABLE docs_fts USING fts5(title, body); Execute full-text search query.
SELECT * FROM fts_tbl WHERE fts_tbl MATCH 'query'; SELECT * FROM docs_fts WHERE docs_fts MATCH 'sqlite OR database'; Extract JSON field value.
SELECT json_extract(json_col, '$.key') FROM tbl; SELECT json_extract(data, '$.user.name') FROM events; Attach secondary database file.
ATTACH DATABASE 'file.db' AS alias; ATTACH DATABASE 'archive.db' AS archive; Manipulate timestamps and dates.
SELECT datetime('now', 'start of month'); SELECT datetime('now', '-7 days'); Enable foreign key constraint checks.
PRAGMA foreign_keys = ON; PRAGMA foreign_keys = ON; Enforce strict column data types.
CREATE TABLE tbl (id INT PRIMARY KEY) STRICT; CREATE TABLE accounts (id INT PRIMARY KEY, balance REAL) STRICT; Retrieve columns from Oracle table.
SELECT col1, col2 FROM tbl; SELECT employee_id, last_name FROM employees; Filter row results.
SELECT * FROM tbl WHERE col = val; SELECT * FROM employees WHERE department_id = 10; Match records across joined tables.
SELECT * FROM t1 JOIN t2 ON t1.id = t2.fk; SELECT e.last_name, d.department_name FROM employees e JOIN departments d ON e.department_id = d.department_id; Group rows for calculation.
SELECT col, COUNT(*) FROM tbl GROUP BY col; SELECT department_id, COUNT(*) FROM employees GROUP BY department_id; Filter aggregated group calculations.
SELECT col, AVG(sal) FROM tbl GROUP BY col HAVING AVG(sal) > 5000; SELECT department_id, AVG(salary) FROM employees GROUP BY department_id HAVING AVG(salary) > 8000; Add new row into Oracle table.
INSERT INTO tbl (col) VALUES (val); INSERT INTO departments (department_id, department_name) VALUES (90, 'Executive'); Modify column values.
UPDATE tbl SET col = val WHERE condition; UPDATE employees SET salary = salary * 1.10 WHERE department_id = 20; Remove records matching filter.
DELETE FROM tbl WHERE condition; DELETE FROM job_history WHERE end_date < '2020-01-01'; ANSI standard MERGE upsert statement.
MERGE INTO target t USING source s ON (t.id = s.id) WHEN MATCHED THEN UPDATE SET t.val = s.val WHEN NOT MATCHED THEN INSERT (id, val) VALUES (s.id, s.val); MERGE INTO emp_target t USING emp_stage s ON (t.emp_id = s.emp_id) WHEN MATCHED THEN UPDATE SET t.sal = s.sal WHEN NOT MATCHED THEN INSERT (emp_id, sal) VALUES (s.emp_id, s.sal); Replace NULL values with default fallback.
SELECT NVL(col, default_val) FROM tbl; SELECT last_name, NVL(commission_pct, 0) FROM employees; Standard ANSI pagination syntax in Oracle 12c+.
SELECT * FROM tbl ORDER BY col DESC FETCH FIRST n ROWS ONLY; SELECT * FROM employees ORDER BY salary DESC FETCH FIRST 10 ROWS ONLY; Concatenate string values across rows.
SELECT LISTAGG(col, '; ') WITHIN GROUP (ORDER BY col) FROM tbl GROUP BY grp; SELECT department_id, LISTAGG(last_name, ', ') WITHIN GROUP (ORDER BY last_name) FROM employees GROUP BY department_id; Legacy pseudo-column row limiter.
SELECT * FROM tbl WHERE ROWNUM <= n; SELECT * FROM employees WHERE ROWNUM <= 5; Traverse parent-child org hierarchies.
SELECT LEVEL, col FROM tbl START WITH parent IS NULL CONNECT BY PRIOR id = parent; SELECT LEVEL, employee_id, last_name FROM employees START WITH manager_id IS NULL CONNECT BY PRIOR employee_id = manager_id; Build sequence object for auto keys.
CREATE SEQUENCE seq_name START WITH 1 INCREMENT BY 1; CREATE SEQUENCE emp_seq START WITH 1000 INCREMENT BY 1; Fetch next unique value from sequence.
SELECT seq_name.NEXTVAL FROM dual; INSERT INTO employees (id, name) VALUES (emp_seq.NEXTVAL, 'Alex'); Query past historical data state.
SELECT * FROM tbl AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '10' MINUTE); SELECT * FROM employees AS OF TIMESTAMP (SYSTIMESTAMP - INTERVAL '15' MINUTE); Transform rows into reporting columns.
SELECT * FROM (SELECT grp, col, val FROM tbl) PIVOT (SUM(val) FOR col IN ('A', 'B')); SELECT * FROM (SELECT department_id, salary FROM employees) PIVOT (SUM(salary) FOR department_id IN (10, 20, 30)); Create pre-computed query snapshot view.
CREATE MATERIALIZED VIEW mv_name AS SELECT ...; CREATE MATERIALIZED VIEW dept_summary AS SELECT department_id, COUNT(*) cnt FROM employees GROUP BY department_id; Generate optimizer plan into plan_table.
EXPLAIN PLAN FOR SELECT * FROM tbl WHERE col = val; EXPLAIN PLAN FOR SELECT * FROM employees WHERE department_id = 50; Restrict returned rows in T-SQL.
SELECT TOP (n) col1 FROM dbo.tbl; SELECT TOP (10) OrderID, TotalAmount FROM dbo.Orders ORDER BY OrderDate DESC; Filter row outputs.
SELECT * FROM dbo.tbl WHERE col = val; SELECT * FROM dbo.Customers WHERE Country = 'USA'; Match records across T-SQL tables.
SELECT * FROM t1 JOIN t2 ON t1.id = t2.fk; SELECT c.CompanyName, o.OrderID FROM dbo.Customers c JOIN dbo.Orders o ON c.CustomerID = o.CustomerID; Group rows for aggregate totals.
SELECT col, COUNT(*) FROM dbo.tbl GROUP BY col; SELECT CustomerID, COUNT(*) AS OrderCount FROM dbo.Orders GROUP BY CustomerID; Filter aggregated groups.
SELECT col, SUM(val) FROM dbo.tbl GROUP BY col HAVING SUM(val) > 1000; SELECT CustomerID, SUM(TotalAmount) FROM dbo.Orders GROUP BY CustomerID HAVING SUM(TotalAmount) > 5000; Add new record into table.
INSERT INTO dbo.tbl (col) VALUES (val); INSERT INTO dbo.Categories (CategoryName) VALUES ('Hardware'); Modify column values.
UPDATE dbo.tbl SET col = val WHERE condition; UPDATE dbo.Products SET UnitPrice = UnitPrice * 1.05 WHERE CategoryID = 2; Remove records matching condition.
DELETE FROM dbo.tbl WHERE condition; DELETE FROM dbo.Logs WHERE LogDate < '2026-01-01'; T-SQL MERGE statement upsert.
MERGE INTO dbo.Target t USING dbo.Source s ON (t.id = s.id) WHEN MATCHED THEN UPDATE SET t.val = s.val WHEN NOT MATCHED THEN INSERT (id, val) VALUES (s.id, s.val); MERGE INTO dbo.TargetUsers t USING dbo.SourceUsers s ON (t.UserID = s.UserID) WHEN MATCHED THEN UPDATE SET t.Email = s.Email WHEN NOT MATCHED THEN INSERT (UserID, Email) VALUES (s.UserID, s.Email); Invoke correlated table function per row.
SELECT * FROM t1 CROSS APPLY dbo.func(t1.id); SELECT c.CustomerID, o.OrderID FROM dbo.Customers c CROSS APPLY (SELECT TOP (1) OrderID FROM dbo.Orders WHERE CustomerID = c.CustomerID ORDER BY OrderDate DESC) o; Invoke correlated table function preserving NULLs.
SELECT * FROM t1 OUTER APPLY dbo.func(t1.id); SELECT c.CustomerID, o.OrderID FROM dbo.Customers c OUTER APPLY (SELECT TOP (1) OrderID FROM dbo.Orders WHERE CustomerID = c.CustomerID ORDER BY OrderDate DESC) o; Concatenate text with specified separator.
SELECT STRING_AGG(col, ', ') WITHIN GROUP (ORDER BY col) FROM dbo.tbl GROUP BY grp; SELECT DepartmentID, STRING_AGG(FirstName, ', ') WITHIN GROUP (ORDER BY FirstName) FROM dbo.Employees GROUP BY DepartmentID; Safely convert types returning NULL on failure.
SELECT TRY_CAST(col AS INT) FROM dbo.tbl; SELECT TRY_CAST(RawString AS INT) FROM dbo.StagingData; Auto-generate unique numeric keys.
CREATE TABLE dbo.tbl (ID INT IDENTITY(1,1) PRIMARY KEY); CREATE TABLE dbo.Orders (OrderID INT IDENTITY(1,1) PRIMARY KEY, Total DECIMAL(18,2)); Create session-private temporary table.
CREATE TABLE #TempTable (id INT); CREATE TABLE #MonthlyStats (MonthID INT, TotalRev DECIMAL(18,2)); Create global session-shared temporary table.
CREATE TABLE ##GlobalTemp (id INT); CREATE TABLE ##SharedCache (KeyID INT, Val VARCHAR(100)); Assign row index inside partition.
SELECT col, ROW_NUMBER() OVER(PARTITION BY grp ORDER BY val) FROM dbo.tbl; SELECT CustomerID, OrderID, ROW_NUMBER() OVER(PARTITION BY CustomerID ORDER BY OrderDate DESC) FROM dbo.Orders; Rotate row values into output columns.
SELECT * FROM (SELECT grp, col, val FROM dbo.tbl) PIVOT (SUM(val) FOR col IN ([A], [B])) pvt; SELECT Year, [1] AS Jan, [2] AS Feb FROM (SELECT YEAR(OrderDate) AS Year, MONTH(OrderDate) AS Month, Total FROM dbo.Orders) Src PIVOT (SUM(Total) FOR Month IN ([1], [2])) pvt; Override automatic identity constraint for inserts.
SET IDENTITY_INSERT dbo.tbl ON; INSERT ... SET IDENTITY_INSERT dbo.tbl OFF; SET IDENTITY_INSERT dbo.Customers ON; INSERT INTO dbo.Customers (CustomerID, CompanyName) VALUES (999, 'Acme'); SET IDENTITY_INSERT dbo.Customers OFF; Inspect index fragmentation levels.
SELECT * FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'LIMITED'); SELECT object_name(object_id) AS TableName, avg_fragmentation_in_percent FROM sys.dm_db_index_physical_stats(DB_ID(), NULL, NULL, NULL, 'LIMITED'); Query documents matching filter criteria.
db.collection.find({ key: "value" }); db.users.find({ status: "active" }); Retrieve single document matching filter.
db.collection.findOne({ _id: ObjectId("...") }); db.users.findOne({ email: "alex@dev.com" }); Insert single document into collection.
db.collection.insertOne({ key: "val" }); db.orders.insertOne({ userId: 10, total: 99.99, createdAt: new Date() }); Insert multiple documents in bulk.
db.collection.insertMany([ { doc1 }, { doc2 } ]); db.tags.insertMany([ { name: "sql" }, { name: "nosql" } ]); Modify fields in single matching document.
db.collection.updateOne({ filter }, { $set: { key: "val" } }); db.users.updateOne({ _id: 1 }, { $set: { status: "premium" } }); Increment numeric field across multiple documents.
db.collection.updateMany({ filter }, { $inc: { count: 1 } }); db.stats.updateMany({ active: true }, { $inc: { views: 1 } }); Remove single document from collection.
db.collection.deleteOne({ _id: val }); db.sessions.deleteOne({ _id: "sess_123" }); Remove all documents matching filter.
db.collection.deleteMany({ filter }); db.logs.deleteMany({ level: "debug" }); Multi-stage pipeline filter and group totals.
db.collection.aggregate([ { $match: ... }, { $group: ... } ]); db.orders.aggregate([ { $match: { status: "completed" } }, { $group: { _id: "$userId", total: { $sum: "$amount" } } } ]); Left outer join secondary collection.
db.collection.aggregate([ { $lookup: { from: "col", localField: "a", foreignField: "b", as: "out" } } ]); db.orders.aggregate([ { $lookup: { from: "users", localField: "userId", foreignField: "_id", as: "user" } } ]); Deconstruct array field into document rows.
db.collection.aggregate([ { $unwind: "$arrayField" } ]); db.articles.aggregate([ { $unwind: "$tags" } ]); Build spatial index for geospatial queries.
db.collection.createIndex({ location: "2dsphere" }); db.places.createIndex({ location: "2dsphere" }); Build text search index over document fields.
db.collection.createIndex({ field: "text" }); db.posts.createIndex({ title: "text", content: "text" }); Set automatic document deletion TTL timestamp.
db.collection.createIndex({ createdAt: 1 }, { expireAfterSeconds: 3600 }); db.sessions.createIndex({ createdAt: 1 }, { expireAfterSeconds: 86400 }); Remove specified index from collection.
db.collection.dropIndex("index_name"); db.users.dropIndex("email_1"); Count total documents matching query filter.
db.collection.countDocuments({ filter }); db.users.countDocuments({ role: "admin" }); Paginate document search query output.
db.collection.find().sort({ field: -1 }).skip(20).limit(10); db.products.find().sort({ price: 1 }).skip(0).limit(10); Insert document if no update match found.
db.collection.updateOne({ filter }, { $set: ... }, { upsert: true }); db.stats.updateOne({ date: "2026-01-01" }, { $inc: { views: 1 } }, { upsert: true }); Enforce strict JSON Schema validation rules.
db.createCollection("name", { validator: { $jsonSchema: ... } }); db.createCollection("users", { validator: { $jsonSchema: { required: ["email"] } } }); Inspect query execution statistics and index usage.
db.collection.find({ filter }).explain("executionStats"); db.orders.find({ status: "pending" }).explain("executionStats"); Store and retrieve key-value string pairs.
SET key "value" / GET key SET user:42 "Alex" / GET user:42 Set key-value pair with TTL expiration seconds.
SET key "value" EX seconds SET cache:session "token_123" EX 3600 Store and fetch structured hash fields.
HSET key field "val" / HGETALL key HSET user:101 name "Alex" email "a@b.com" / HGETALL user:101 Push element to list head and pop from tail (queue).
LPUSH key "val" / RPOP key LPUSH jobs "job_99" / RPOP jobs Add unique members to set and fetch all members.
SADD key "member" / SMEMBERS key SADD tags:post:10 "sql" "nosql" / SMEMBERS tags:post:10 Add member with score and fetch top leaderboard ranks.
ZADD key score "member" / ZREVRANGE key 0 -1 WITHSCORES ZADD leaderboard 2500 "PlayerA" 1800 "PlayerB" / ZREVRANGE leaderboard 0 2 WITHSCORES Publish message to channel and subscribe.
PUBLISH channel "msg" / SUBSCRIBE channel PUBLISH news:updates "New release live!" Atomically increment or decrement integer key.
INCR key / DECR key INCR page:views:42 Set TTL expiration seconds on key and check remaining TTL.
EXPIRE key seconds / TTL key EXPIRE rate:limit:ip 60 / TTL rate:limit:ip Delete specified key from Redis memory.
DEL key1 key2 DEL cache:user:42 Check if key exists in memory.
EXISTS key EXISTS session:active:10 Iterate over database keys safely without blocking.
SCAN cursor MATCH pattern COUNT n SCAN 0 MATCH user:* COUNT 100 Execute atomic block of commands sequentially.
MULTI ... commands ... EXEC MULTI; INCR visits; EXPIRE visits 60; EXEC; Set and get multiple key-value pairs simultaneously.
MSET k1 "v1" k2 "v2" / MGET k1 k2 MSET user:1 "A" user:2 "B" / MGET user:1 user:2 Track unique cardinality with 12KB memory footprint.
PFADD key "val" / PFCOUNT key PFADD uv:2026-01-01 "ip_1" "ip_2" / PFCOUNT uv:2026-01-01 Store spatial coordinates and measure distance.
GEOADD key long lat "member" / GEODIST key m1 m2 km GEOADD cities -73.98 40.74 "NYC" -118.24 34.05 "LA" / GEODIST cities NYC LA km Execute atomic server-side Lua script.
EVAL "script" numkeys key1 arg1 EVAL "return redis.call('get', KEYS[1])" 1 mykey Wipe all keys from all Redis databases.
FLUSHALL [ASYNC] FLUSHALL ASYNC Inspect memory consumption and fragmentation.
INFO memory INFO memory Read or alter Redis runtime settings.
CONFIG GET param / CONFIG SET param val CONFIG GET maxmemory / CONFIG SET maxmemory 2gb Retrieve analytical column datasets.
SELECT col1, col2 FROM tbl; SELECT user_id, amount FROM sales; Filter output rows.
SELECT * FROM tbl WHERE col = val; SELECT * FROM orders WHERE status = 'completed'; Join two tables on condition.
SELECT * FROM t1 JOIN t2 ON t1.id = t2.fk; SELECT u.name, s.amount FROM users u JOIN sales s ON u.id = s.user_id; Group rows for aggregate totals.
SELECT col, SUM(x) FROM tbl GROUP BY col; SELECT region, SUM(amount) FROM sales GROUP BY region; Filter window function outputs directly without subquery wrappers.
SELECT col, ROW_NUMBER() OVER(PARTITION BY grp ORDER BY val DESC) as rn FROM tbl QUALIFY rn = 1; SELECT employee_id, dept, salary, ROW_NUMBER() OVER(PARTITION BY dept ORDER BY salary DESC) as rn FROM emp QUALIFY rn = 1; Rotate row values into reporting columns.
SELECT * FROM tbl PIVOT (SUM(val) FOR col IN ('Q1', 'Q2')); SELECT * FROM sales_summary PIVOT (SUM(amount) FOR quarter IN ('Q1', 'Q2', 'Q3', 'Q4')); Bulk load stage Parquet files into table.
COPY INTO tbl FROM @stage/file.parquet FILE_FORMAT = (TYPE = 'PARQUET'); COPY INTO target_table FROM @my_s3_stage/data/ FILE_FORMAT = (TYPE = 'PARQUET'); Create zero-copy instant database metadata clone.
CREATE DATABASE clone_db CLONE src_db; CREATE DATABASE prod_dev_sandbox CLONE production_db; Query past table data state prior to update or drop.
SELECT * FROM tbl AT(OFFSET => -60*10); SELECT * FROM orders AT(OFFSET => -60*5); Restore deleted table with zero data loss.
UNDROP TABLE tbl_name; UNDROP TABLE orders; Parse nested JSON VARIANT field value.
SELECT raw_payload:user.id::INT FROM stage_tbl; SELECT raw_payload:user.id::INT AS user_id FROM events_stage; Unpack JSON arrays into individual output rows.
SELECT id, f.value::STRING FROM tbl, LATERAL FLATTEN(input => col) f; SELECT id, f.value::STRING AS tag FROM articles, LATERAL FLATTEN(input => metadata:tags) f; Build virtual warehouse compute cluster.
CREATE WAREHOUSE wh_name WITH WAREHOUSE_SIZE = 'MEDIUM'; CREATE WAREHOUSE analytics_wh WITH WAREHOUSE_SIZE = 'MEDIUM' AUTO_SUSPEND = 300; Dynamically resize virtual warehouse size.
ALTER WAREHOUSE wh_name SET WAREHOUSE_SIZE = 'LARGE'; ALTER WAREHOUSE analytics_wh SET WAREHOUSE_SIZE = 'LARGE'; Query cached result set of previous statement.
SELECT * FROM TABLE(RESULT_SCAN(LAST_QUERY_ID())); SELECT * FROM TABLE(RESULT_SCAN(LAST_QUERY_ID())); Securely store cloud authentication tokens.
CREATE SECRET secret_name TYPE = S3 ...; CREATE SECRET s3_dev TYPE = S3 KEY_ID = 'AKIA...' SECRET = 'wJal...'; List files located in external cloud stage.
LIST @stage_name; LIST @my_s3_stage; List tables in current database schema.
SHOW TABLES LIKE 'pattern%'; SHOW TABLES LIKE 'orders%'; Analyze Snowflake micro-partition pruning plan.
EXPLAIN SELECT * FROM tbl WHERE col = val; EXPLAIN SELECT * FROM sales WHERE sale_date >= '2026-01-01'; Define continuous automated S3 data ingestion pipe.
CREATE PIPE pipe_name AS COPY INTO tbl FROM @stage; CREATE PIPE auto_pipe AS COPY INTO raw_events FROM @s3_events_stage; Query columnar data at high execution speed.
SELECT col1, col2 FROM tbl; SELECT user_id, event_type FROM user_events; Filter rows matching partition pruning.
SELECT * FROM tbl WHERE col = val; SELECT * FROM logs WHERE status = 500; Aggregate billions of rows in memory.
SELECT col, COUNT(*) FROM tbl GROUP BY col; SELECT domainWithoutWWW(url), COUNT(*) FROM web_clicks GROUP BY 1; Default MergeTree table engine DDL declaration.
CREATE TABLE tbl (...) ENGINE = MergeTree() ORDER BY (col); CREATE TABLE logs (dt Date, user_id UInt64) ENGINE = MergeTree() ORDER BY (dt, user_id); Partition MergeTree table parts by month or date.
CREATE TABLE tbl (...) ENGINE = MergeTree() PARTITION BY toYYYYMM(dt) ORDER BY (col); CREATE TABLE sales (dt Date, amt Float64) ENGINE = MergeTree() PARTITION BY toYYYYMM(dt) ORDER BY dt; Background deduplicating table engine.
CREATE TABLE tbl (...) ENGINE = ReplacingMergeTree(ver) ORDER BY (id); CREATE TABLE profiles (id UInt64, email String, updated DateTime) ENGINE = ReplacingMergeTree(updated) ORDER BY id; Automatically sum numeric columns on background merge.
CREATE TABLE tbl (...) ENGINE = SummingMergeTree() ORDER BY (id); CREATE TABLE daily_totals (date Date, category String, amount Float64) ENGINE = SummingMergeTree() ORDER BY (date, category); Continuous streaming aggregation materialized view.
CREATE MATERIALIZED VIEW mv ENGINE = SummingMergeTree() ORDER BY (col) AS SELECT ...; CREATE MATERIALIZED VIEW mv_sales ENGINE = SummingMergeTree() ORDER BY (date) AS SELECT dt AS date, SUM(amt) FROM sales GROUP BY date; Unpack array elements into individual output rows.
SELECT col, arrayJoin(arr_col) FROM tbl; SELECT user_id, arrayJoin(tags) FROM user_profiles; Compute exact 95th/99th percentile query latency.
SELECT quantileExact(0.95)(latency) FROM tbl; SELECT service, quantileExact(0.95)(duration_ms) FROM logs GROUP BY service; Parse clean domain from URL string.
SELECT domainWithoutWWW(url_col) FROM tbl; SELECT domainWithoutWWW(referrer) FROM web_clicks; Fetch column value matching maximum timestamp.
SELECT argMax(val, timestamp) FROM tbl GROUP BY grp; SELECT user_id, argMax(status, updated_at) FROM status_logs GROUP BY user_id; Inspect physical MergeTree part file sizes.
SELECT table, sum(bytes), sum(rows) FROM system.parts GROUP BY table; SELECT table, formatReadableSize(sum(bytes)) FROM system.parts WHERE active = 1 GROUP BY table; Force immediate background partition merge.
OPTIMIZE TABLE tbl FINAL; OPTIMIZE TABLE user_profiles FINAL; Output query results as formatted JSON text.
SELECT * FROM tbl FORMAT JSON; SELECT * FROM user_events LIMIT 5 FORMAT JSON; View ClickHouse query execution plan.
EXPLAIN SELECT * FROM tbl WHERE col = val; EXPLAIN SELECT COUNT(*) FROM user_events WHERE event_date = '2026-01-01'; Convert date to numeric YYYYMM integer for partitioning.
SELECT toYYYYMM(date_col); SELECT toYYYYMM(today()); Perform high-speed external dictionary lookup.
SELECT dictGetString('dict_name', 'attr', key_col); SELECT user_id, dictGetString('users_dict', 'email', user_id) FROM clicks; Bulk insert aggregated data into target MergeTree table.
INSERT INTO target_tbl SELECT * FROM src_tbl; INSERT INTO archive_events SELECT * FROM user_events WHERE event_date < '2025-01-01'; Asynchronously delete rows matching condition.
ALTER TABLE tbl DELETE WHERE condition; ALTER TABLE user_events DELETE WHERE user_id = 999; Query local in-memory or file datasets.
SELECT col1, col2 FROM tbl; SELECT country, amount FROM sales; Filter output rows.
SELECT * FROM tbl WHERE col = val; SELECT * FROM orders WHERE status = 'shipped'; Join datasets in vectorized execution engine.
SELECT * FROM t1 JOIN t2 ON t1.id = t2.fk; SELECT u.name, s.amount FROM users u JOIN sales s ON u.id = s.user_id; Vectorized aggregation grouping.
SELECT col, AVG(x) FROM tbl GROUP BY col; SELECT category, AVG(price) FROM products GROUP BY category; Query Parquet files directly using SQL without import.
SELECT * FROM read_parquet('file.parquet'); SELECT country, COUNT(*) FROM read_parquet('data/sales_2026.parquet') GROUP BY country; Export query results directly into compressed Parquet file.
COPY (SELECT ...) TO 'output.parquet' (FORMAT PARQUET); COPY (SELECT * FROM orders WHERE year = 2026) TO 'orders_2026.parquet' (FORMAT PARQUET, COMPRESSION SNAPPY); Auto-detect CSV schema and query file directly.
SELECT * FROM read_csv_auto('file.csv'); SELECT * FROM read_csv_auto('logs/*.csv') WHERE status = 500; Generate statistical summary (nulls, min, max, avg) for all columns.
SUMMARIZE SELECT * FROM tbl; SUMMARIZE SELECT * FROM read_parquet('dataset.parquet'); Filter window function output directly without subquery wrappers.
SELECT col, ROW_NUMBER() OVER(PARTITION BY grp ORDER BY val DESC) as rn FROM tbl QUALIFY rn = 1; SELECT customer_id, order_date, amount, ROW_NUMBER() OVER(PARTITION BY customer_id ORDER BY amount DESC) as rn FROM orders QUALIFY rn = 1; Rotate quarterly row values into reporting columns.
PIVOT (SELECT year, quarter, sales FROM tbl) ON quarter IN ('Q1', 'Q2') USING SUM(sales); PIVOT (SELECT year, quarter, sales FROM quarterly_sales) ON quarter IN ('Q1', 'Q2', 'Q3', 'Q4') USING SUM(sales); Query Python Pandas DataFrame directly in DuckDB.
import duckdb; duckdb.query('SELECT * FROM df'); import duckdb, pandas as pd; df = pd.DataFrame({'a': [1,2]}); duckdb.query('SELECT AVG(a) FROM df').df(); Enable HTTP and S3 remote file querying.
INSTALL httpfs; LOAD httpfs; INSTALL httpfs; LOAD httpfs; SELECT * FROM 's3://my-bucket/data.parquet' LIMIT 10; Store S3 access key and secret token.
CREATE SECRET s3_dev (TYPE S3, KEY_ID '...', SECRET '...'); CREATE SECRET s3_dev (TYPE S3, KEY_ID 'AKIA...', SECRET 'wJal...', REGION 'us-east-1'); Display vectorized query execution plan and timing metrics.
EXPLAIN ANALYZE SELECT ...; EXPLAIN ANALYZE SELECT COUNT(*) FROM read_parquet('large_file.parquet'); Output JSON query profiling timings to file.
PRAGMA enable_profiling = 'json'; PRAGMA profiling_output = 'prof.json'; PRAGMA enable_profiling = 'json'; PRAGMA profiling_output = 'prof.json'; Create table from Parquet or CSV query result.
CREATE TABLE tbl AS SELECT * FROM read_parquet('file.parquet'); CREATE TABLE orders_cache AS SELECT * FROM read_parquet('s3://bucket/orders.parquet'); Query JSON or NDJSON files directly.
SELECT * FROM read_json_auto('file.json'); SELECT * FROM read_json_auto('events/*.json') WHERE type = 'signup'; Rank rows without rank gaps.
SELECT col, DENSE_RANK() OVER(ORDER BY val DESC) FROM tbl; SELECT player, score, DENSE_RANK() OVER(ORDER BY score DESC) FROM leaderboard; Combine result rows from multiple queries preserving duplicates.
SELECT col FROM t1 UNION ALL SELECT col FROM t2; SELECT email FROM leads UNION ALL SELECT email FROM customers; Rename column inside table schema.
ALTER TABLE tbl RENAME COLUMN old_name TO new_name; ALTER TABLE users RENAME COLUMN fname TO first_name; No cheat codes found matching your query filter.