📖 Guide

MySQL — Complete Reference

Comprehensive MySQL cheat sheet covering queries, joins, indexes, transactions, and database administration.

98 commands across 12 categories

Database Management

CommandDescription
CREATE DATABASE dbname;
Create a new database
CREATE DATABASE IF NOT EXISTS dbname;
Create database only if it doesn't exist
DROP DATABASE dbname;
Delete a database and all its tables
SHOW DATABASES;
List all databases on the server
USE dbname;
Switch to a database
SELECT DATABASE();
Show currently selected database
ALTER DATABASE dbname CHARACTER SET utf8mb4;
Change database character set
SHOW CREATE DATABASE dbname;
Show the CREATE statement for a database

Table Operations

CommandDescription
CREATE TABLE users (\n id INT AUTO_INCREMENT PRIMARY KEY,\n name VARCHAR(100) NOT NULL,\n email VARCHAR(255) UNIQUE\n);
Create a table with columns and constraints
SHOW TABLES;
List all tables in current database
DESCRIBE users;
Show table structure (columns, types, keys)
ALTER TABLE users ADD age INT;
Add a column to existing table
ALTER TABLE users DROP COLUMN age;
Remove a column
ALTER TABLE users MODIFY name VARCHAR(200);
Change column type
ALTER TABLE users RENAME TO members;
Rename a table
DROP TABLE IF EXISTS users;
Delete table if it exists
TRUNCATE TABLE users;
Delete all rows (faster than DELETE, resets auto-increment)

CRUD

CommandDescription
INSERT INTO users (name, email) VALUES ('Dan', 'dan@ex.com');
Insert a single row
INSERT INTO users (name, email) VALUES\n ('A', 'a@x.com'),\n ('B', 'b@x.com');
Insert multiple rows at once
SELECT * FROM users;
Select all columns from table
SELECT name, email FROM users WHERE id = 1;
Select specific columns with condition
UPDATE users SET name = 'Daniel' WHERE id = 1;
Update rows matching condition
DELETE FROM users WHERE id = 1;
Delete rows matching condition
INSERT INTO users (name, email) VALUES ('Dan', 'dan@ex.com')\n ON DUPLICATE KEY UPDATE name = 'Dan';
Insert or update on duplicate key
REPLACE INTO users (id, name) VALUES (1, 'Dan');
Insert or replace existing row

Filtering & Sorting

CommandDescription
WHERE age > 18 AND status = 'active'
Filter with conditions (AND, OR, NOT)
WHERE name LIKE 'Dan%'
Pattern matching (% = any chars, _ = one char)
WHERE age BETWEEN 18 AND 30
Range filter (inclusive)
WHERE status IN ('active', 'pending')
Match any value in a list
WHERE email IS NULL
Check for NULL values (use IS, not =)
ORDER BY name ASC, age DESC
Sort results (ASC default, DESC descending)
LIMIT 10 OFFSET 20
Limit results with pagination
SELECT DISTINCT country FROM users;
Return only unique values

Joins

CommandDescription
SELECT * FROM users\n INNER JOIN orders ON users.id = orders.user_id;
Inner join — only matching rows from both tables
SELECT * FROM users\n LEFT JOIN orders ON users.id = orders.user_id;
Left join — all left rows, NULLs for unmatched right
SELECT * FROM users\n RIGHT JOIN orders ON users.id = orders.user_id;
Right join — all right rows, NULLs for unmatched left
SELECT * FROM a CROSS JOIN b;
Cross join — cartesian product of both tables
SELECT * FROM users u\n JOIN orders o ON u.id = o.user_id\n JOIN products p ON o.product_id = p.id;
Multi-table join with aliases
SELECT * FROM users\n LEFT JOIN orders ON users.id = orders.user_id\n WHERE orders.id IS NULL;
Find rows with no match (anti-join)
SELECT a.name, b.name FROM users a\n JOIN users b ON a.manager_id = b.id;
Self join — join table to itself

Aggregation

CommandDescription
SELECT COUNT(*) FROM users;
Count total rows
SELECT SUM(amount) FROM orders;
Sum of a numeric column
SELECT AVG(age) FROM users;
Average value
SELECT MIN(price), MAX(price) FROM products;
Minimum and maximum values
SELECT country, COUNT(*) FROM users GROUP BY country;
Group rows and aggregate
GROUP BY country HAVING COUNT(*) > 5
Filter groups (WHERE filters rows, HAVING filters groups)
SELECT country, COUNT(*) AS total FROM users\n GROUP BY country\n ORDER BY total DESC;
Alias aggregation result and sort
SELECT country, GROUP_CONCAT(name SEPARATOR ', ') FROM users GROUP BY country;
Concatenate grouped values into string

Subqueries

CommandDescription
SELECT * FROM users WHERE id IN\n (SELECT user_id FROM orders);
Subquery in WHERE clause
SELECT *, (SELECT COUNT(*) FROM orders WHERE orders.user_id = users.id) AS order_count\nFROM users;
Correlated subquery in SELECT
SELECT * FROM users WHERE age >\n (SELECT AVG(age) FROM users);
Compare against aggregate subquery
SELECT * FROM (\n SELECT country, COUNT(*) AS cnt FROM users GROUP BY country\n) AS sub WHERE cnt > 5;
Derived table (subquery in FROM)
SELECT * FROM users WHERE EXISTS\n (SELECT 1 FROM orders WHERE orders.user_id = users.id);
EXISTS — check if subquery returns any rows
WITH cte AS (\n SELECT country, COUNT(*) AS cnt FROM users GROUP BY country\n)\nSELECT * FROM cte WHERE cnt > 5;
Common Table Expression (CTE, MySQL 8.0+)

Indexes

CommandDescription
CREATE INDEX idx_name ON users(name);
Create an index on a column
CREATE UNIQUE INDEX idx_email ON users(email);
Create unique index (enforces uniqueness)
CREATE INDEX idx_comp ON orders(user_id, status);
Composite index on multiple columns
DROP INDEX idx_name ON users;
Remove an index
SHOW INDEX FROM users;
List all indexes on a table
EXPLAIN SELECT * FROM users WHERE name = 'Dan';
Show query execution plan (check if index is used)
CREATE FULLTEXT INDEX idx_ft ON posts(title, body);
Full-text search index
ALTER TABLE users ADD INDEX idx_age(age);
Add index via ALTER TABLE

Users & Permissions

CommandDescription
CREATE USER 'app'@'localhost' IDENTIFIED BY 'pass';
Create a new user
GRANT ALL PRIVILEGES ON dbname.* TO 'app'@'localhost';
Grant full access to a database
GRANT SELECT, INSERT ON dbname.users TO 'app'@'localhost';
Grant specific privileges on a table
REVOKE INSERT ON dbname.users FROM 'app'@'localhost';
Remove specific privilege
SHOW GRANTS FOR 'app'@'localhost';
View user privileges
DROP USER 'app'@'localhost';
Delete a user
ALTER USER 'app'@'localhost' IDENTIFIED BY 'newpass';
Change user password
FLUSH PRIVILEGES;
Reload privilege tables (after manual edits)

Data Types

CommandDescription
INT / BIGINT
Integer (4 bytes) / large integer (8 bytes)
DECIMAL(10,2)
Exact decimal — use for money (10 digits, 2 after point)
FLOAT / DOUBLE
Approximate floating point (avoid for money)
VARCHAR(255)
Variable-length string up to specified max
TEXT / MEDIUMTEXT / LONGTEXT
Large text fields (64KB / 16MB / 4GB)
DATETIME / TIMESTAMP
Date+time (DATETIME: no timezone, TIMESTAMP: UTC-converted)
DATE / TIME
Date only (YYYY-MM-DD) / time only (HH:MM:SS)
BOOLEAN
Alias for TINYINT(1) — 0 is false, 1 is true
JSON
Native JSON column type (MySQL 5.7+)
ENUM('a','b','c')
Column restricted to listed values

Common Functions

CommandDescription
NOW()
Current date and time
CURDATE() / CURTIME()
Current date / current time
DATE_FORMAT(date, '%Y-%m-%d')
Format date as string
DATEDIFF(d1, d2)
Days between two dates
CONCAT(first, ' ', last)
Concatenate strings
COALESCE(val1, val2, 'default')
Return first non-NULL value
IFNULL(expr, 'fallback')
Return fallback if expr is NULL
CAST(val AS UNSIGNED)
Convert value to different type
LENGTH(str) / CHAR_LENGTH(str)
Byte length / character length of string
SUBSTRING(str, start, len)
Extract substring

Transactions

CommandDescription
START TRANSACTION;
Begin a transaction
COMMIT;
Save all changes made in transaction
ROLLBACK;
Undo all changes made in transaction
SAVEPOINT sp1;
Create a savepoint within transaction
ROLLBACK TO sp1;
Roll back to a savepoint
SET autocommit = 0;
Disable auto-commit (each statement needs explicit COMMIT)
SELECT ... FOR UPDATE;
Lock selected rows until transaction ends
SET TRANSACTION ISOLATION LEVEL READ COMMITTED;
Set isolation level for next transaction

More Guides

🌿
Git Commands
Complete Git command reference — from basics to advanced workflows. Searchable, with examples.
📝
Vim Commands
Complete Vim/Vi command reference — modes, motions, editing, search, and advanced features.
🐳
Docker Commands
Complete Docker & Docker Compose command reference — containers, images, volumes, networks, and orchestration.
🔤
Regex Reference
Complete regular expression reference — syntax, patterns, quantifiers, groups, lookaheads, and common recipes.
🐧
Linux Commands
Complete Linux/Bash command reference — file management, text processing, networking, system admin, and shell scripting.
☸️
Kubernetes Commands
Complete Kubernetes & kubectl command reference — pods, deployments, services, configmaps, and cluster management.
🐍
Python Reference
Complete Python reference — syntax, data structures, string methods, file I/O, comprehensions, and common patterns.
🗃️
SQL Reference
Complete SQL reference — queries, joins, aggregation, subqueries, indexes, and database management.
🌐
Nginx Reference
Complete Nginx configuration reference — server blocks, locations, proxying, SSL, load balancing, and caching.
🔐
SSH Commands
Complete SSH reference — connections, key management, tunneling, config, SCP/SFTP, and security hardening.
👷
Jenkins Reference
Complete Jenkins reference — pipeline syntax, Jenkinsfile, plugins, CLI, agents, and CI/CD patterns.
📨
HTTP Headers Reference
Complete HTTP headers reference — request headers, response headers, caching, security, CORS, and content negotiation. Searchable, with examples.
🐘
PostgreSQL Reference
Comprehensive PostgreSQL reference — from connection basics to advanced features like JSONB, full-text search, window functions, and performance tuning.
Async Patterns Reference
Multi-language async/concurrency patterns — JavaScript, Python, Go, Rust, Java, and universal concurrency patterns.
📡
Protobuf & gRPC Reference
Comprehensive reference for Protocol Buffers (proto3) and gRPC — message definitions, services, streaming, and common patterns.
📚
JS Array Methods
Complete JavaScript Array methods reference — creating, searching, transforming, sorting, iterating, and common patterns. Searchable, with examples.
🌊
Tailwind CSS Reference
Complete Tailwind CSS reference — layout, spacing, typography, colors, responsive design, states, and common patterns. Searchable, with examples.
GraphQL Reference
Complete GraphQL reference — schema definition, types, queries, mutations, directives, fragments, and common patterns. Searchable, with examples.
💻
VS Code Shortcuts
Complete VS Code keyboard shortcuts — editing, navigation, search, multi-cursor, terminal, debug, and more. Searchable, with Cmd/Ctrl notation.
🔲
CSS Grid Reference
Complete CSS Grid reference — container properties, item placement, grid functions, and common layout patterns. Searchable, with examples.
📦
CSS Flexbox Reference
Complete CSS Flexbox reference — container properties, item properties, and common layout patterns. Searchable, with examples.
⚛️
React Hooks Reference
Complete React Hooks reference — useState, useEffect, useContext, custom hooks, and common patterns. Searchable, with examples.
🔷
TypeScript Reference
Complete TypeScript reference — types, interfaces, generics, utility types, and advanced patterns. Searchable, with examples.
☁️
AWS CLI Reference
Complete AWS CLI reference — EC2, S3, IAM, Lambda, ECS, RDS, CloudFormation, and common operations.
🐹
Go Reference
Complete Go (Golang) reference — syntax, types, functions, concurrency, error handling, and common patterns.
💠
PowerShell Reference
Complete PowerShell reference — cmdlets, pipelines, scripting, file operations, remote management, and Active Directory.
💾
Redis Commands
Complete Redis command reference — strings, hashes, lists, sets, sorted sets, pub/sub, transactions, and server management.
🏗️
Terraform Commands
Complete Terraform reference — init, plan, apply, state management, modules, workspaces, and HCL syntax.
⚙️
Ansible Commands
Complete Ansible reference — playbooks, modules, inventory, roles, vault, and ad-hoc commands.
🟨
JavaScript
Complete JavaScript reference — variables, types, operators, strings, arrays, objects, functions, async, DOM, ES6+, and more.
🎨
CSS
Complete CSS reference — selectors, box model, positioning, typography, animations, media queries, custom properties, and more.
📄
HTML
Complete HTML reference — document structure, text content, forms, media, semantic elements, accessibility, and more.
Java
Complete Java reference — data types, strings, collections, OOP, interfaces, exceptions, file I/O, streams, lambdas, and more.
💻
Bash
Complete Bash reference — variables, strings, arrays, conditionals, loops, functions, file tests, I/O redirection, process management, and more.
🦀
Rust
Comprehensive Rust language cheat sheet covering ownership, traits, pattern matching, concurrency, and more.
📝
Markdown
Complete Markdown syntax reference for headings, formatting, links, tables, code blocks, and extensions.
📋
YAML
YAML syntax reference covering scalars, collections, anchors, multi-line strings, and common patterns.
🌐
Curl
Curl command-line reference for HTTP requests, authentication, file transfers, debugging, and common API patterns.
Cron
Cron scheduling reference covering syntax, field values, crontab management, and common schedule patterns.
🖥️
Tmux
Terminal multiplexer for managing multiple sessions, windows, and panes from a single terminal.
🔧
Awk
Powerful text processing language for pattern scanning, data extraction, and report generation.
✂️
Sed
Stream editor for filtering and transforming text, line by line.
🔍
Find
Search for files and directories in a directory hierarchy with powerful filtering options.
🔎
Grep
Search text using patterns. Filter lines from files, command output, or streams with regular expressions.
🐘
PHP
Complete PHP cheat sheet covering syntax, OOP, arrays, PDO, and modern PHP 8.x features.
⚙️
C
Complete C programming cheat sheet covering syntax, pointers, memory management, and standard library.
🔷
C++
Complete C++ cheat sheet covering STL containers, OOP, templates, smart pointers, and modern C++ features.
💅
Sass
Complete Sass/SCSS cheat sheet covering variables, mixins, functions, nesting, and modern module system.
🔐
Chmod
Linux file permission commands and patterns for chmod.
🔢
NumPy
Essential NumPy commands for array manipulation and numerical computing in Python.
🐼
Pandas
Pandas cheat sheet for data manipulation, analysis, and transformation in Python.
🎯
Dart
Dart language cheat sheet covering syntax, types, OOP, null safety, and async patterns.
🔺
Laravel
Laravel PHP framework cheat sheet for routing, Eloquent, Blade, Artisan, and more.
🟩
Node.js
Comprehensive Node.js runtime reference covering modules, file system, HTTP, streams, and more.
Next.js
Next.js App Router reference covering routing, data fetching, server components, and deployment.
🍃
MongoDB
MongoDB reference covering CRUD operations, aggregation, indexes, and administration.
🔥
Firebase
Firebase reference covering Authentication, Firestore, Realtime Database, Cloud Functions, and Hosting.
🐳
Docker Compose
Docker Compose reference covering CLI commands, service configuration, networking, volumes, and more.
💲
jQuery
Quick reference for jQuery selectors, DOM manipulation, events, AJAX, and more.
📐
LaTeX
Quick reference for LaTeX document structure, math mode, formatting, and common packages.
🎯
XPath
Quick reference for XPath expressions, axes, predicates, and functions for XML/HTML querying.
Emmet
Quick reference for Emmet abbreviations for lightning-fast HTML and CSS coding.
📦
TOML
Quick reference for TOML configuration file syntax, types, tables, and common patterns.
💎
Prisma
Complete Prisma ORM cheat sheet — schema, queries, migrations, and CLI.
🤖
GitHub Actions
Complete GitHub Actions cheat sheet — workflows, triggers, jobs, and CI/CD patterns.
📦
npm
Complete npm cheat sheet — package management, scripts, publishing, and configuration.
Supabase
Complete Supabase cheat sheet — auth, database, realtime, storage, and edge functions.
🪶
Apache
Complete Apache HTTP Server cheat sheet — virtual hosts, modules, rewrite rules, and SSL.
📡
HTTP Status Codes
Complete reference of all standard HTTP response status codes with descriptions and use cases.
🔤
ASCII Table
Complete ASCII character reference with decimal, hexadecimal, and character values.
🔧
Chrome DevTools
Essential Chrome DevTools shortcuts, commands, and workflows for web developers.
💧
Drizzle ORM
Complete Drizzle ORM reference for schema definition, queries, relations, migrations, and common patterns.
Vercel CLI
Complete Vercel CLI reference for deployment, project management, domains, environment variables, and configuration.
🔄
PM2
Production process manager for Node.js applications with built-in load balancer, monitoring, and zero-downtime reloads.
📺
Screen
GNU Screen terminal multiplexer for persistent sessions, window management, and remote work.
📦
Webpack
Module bundler for JavaScript applications — loaders, plugins, code splitting, optimization, and dev server.
Vite
Next-generation frontend build tool with instant HMR, native ES modules, and optimized production builds via Rollup.

📖 Free, searchable command reference. Bookmark this page for quick access.