cheetsheetz/SQL.md

3.4 KiB

Comprehensive SQL Cheat Sheet

Table of Contents

  1. Database Basics
  2. SQL Syntax
  3. Data Types
  4. Table Operations
  5. Querying Data
  6. Filtering Data
  7. Joins
  8. Aggregate Functions
  9. Group By
  10. Subqueries
  11. Transactions
  12. Indexes
  13. Views

Database Basics

Creating a Database

CREATE DATABASE dbname;

Using a Database

USE dbname;

Deleting a Database

DROP DATABASE dbname;

SQL Syntax

SELECT Statement

SELECT column1, column2 FROM table_name;

WHERE Clause

SELECT * FROM table_name WHERE condition;

ORDER BY Clause

SELECT * FROM table_name ORDER BY column1 ASC, column2 DESC;

LIMIT Clause

SELECT * FROM table_name LIMIT 10;

Data Types

Numeric Types

INT, FLOAT, DOUBLE, DECIMAL

Character Types

CHAR, VARCHAR, TEXT

Date and Time Types

DATE, TIME, DATETIME

Table Operations

Creating a Table

CREATE TABLE table_name (
    column1 datatype,
    column2 datatype,
    ...
);

Altering a Table

ALTER TABLE table_name
ADD column_name datatype;

Dropping a Table

DROP TABLE table_name;

Querying Data

Basic SELECT

SELECT * FROM table_name;

Aliasing Columns

SELECT column1 AS alias1, column2 AS alias2 FROM table_name;

Filtering Data

WHERE Clause

SELECT * FROM table_name WHERE condition;

AND, OR, NOT

SELECT * FROM table_name WHERE condition1 AND condition2;

IN Clause

SELECT * FROM table_name WHERE column_name IN (value1, value2);

Joins

INNER JOIN

SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;

LEFT JOIN

SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column;

RIGHT JOIN

SELECT * FROM table1 RIGHT JOIN table2 ON table1.column = table2.column;

Aggregate Functions

COUNT

SELECT COUNT(column) FROM table_name;

SUM

SELECT SUM(column) FROM table_name;

AVG

SELECT AVG(column) FROM table_name;

MIN and MAX

SELECT MIN(column), MAX(column) FROM table_name;

Group By

SELECT column1, COUNT(column2) FROM table_name GROUP BY column1;

Subqueries

Single-Row Subquery

SELECT column1 FROM table_name WHERE column2 = (SELECT column2 FROM another_table WHERE condition);

Multi-Row Subquery

SELECT column1 FROM table_name WHERE column2 IN (SELECT column2 FROM another_table WHERE condition);

Transactions

Begin Transaction

BEGIN;

Commit Transaction

COMMIT;

Rollback Transaction

ROLLBACK;

Indexes

Creating an Index

CREATE INDEX index_name ON table_name (column1, column2);

Dropping an Index

DROP INDEX index_name;

Views

Creating a View

CREATE VIEW view_name AS
SELECT column1, column2 FROM table_name WHERE condition;

Updating a View

CREATE OR REPLACE VIEW view_name AS
SELECT new_column1, new_column2 FROM table_name WHERE condition;

Dropping a View

DROP VIEW view_name;