diff --git a/README.md b/README.md index 1783510..fd122ac 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ - [Perl](https://git.namenode.xyz/CSnap/cheetsheetz/src/branch/main/perl.md) - [PHP](https://git.namenode.xyz/CSnap/cheetsheetz/src/branch/main/PHP.md) - [Python](https://git.namenode.xyz/CSnap/cheetsheetz/src/branch/main/python.md) +- [SQL](https://git.namenode.xyz/CSnap/cheetsheetz/src/branch/main/SQL.md) ### Guides - [LEMP Guide](https://git.namenode.xyz/CSnap/cheetsheetz/src/branch/main/LEMP.md) diff --git a/SQL.md b/SQL.md new file mode 100644 index 0000000..8d634c6 --- /dev/null +++ b/SQL.md @@ -0,0 +1,266 @@ +# Comprehensive SQL Cheat Sheet + +## Table of Contents + +1. [Database Basics](#database-basics) +2. [SQL Syntax](#sql-syntax) +3. [Data Types](#data-types) +4. [Table Operations](#table-operations) +5. [Querying Data](#querying-data) +6. [Filtering Data](#filtering-data) +7. [Joins](#joins) +8. [Aggregate Functions](#aggregate-functions) +9. [Group By](#group-by) +10. [Subqueries](#subqueries) +11. [Transactions](#transactions) +12. [Indexes](#indexes) +13. [Views](#views) + +## Database Basics + +### Creating a Database + +```sql +CREATE DATABASE dbname; +``` + +### Using a Database + +```sql +USE dbname; +``` + +### Deleting a Database + +```sql +DROP DATABASE dbname; +``` + +## SQL Syntax + +### SELECT Statement + +```sql +SELECT column1, column2 FROM table_name; +``` + +### WHERE Clause + +```sql +SELECT * FROM table_name WHERE condition; +``` + +### ORDER BY Clause + +```sql +SELECT * FROM table_name ORDER BY column1 ASC, column2 DESC; +``` + +### LIMIT Clause + +```sql +SELECT * FROM table_name LIMIT 10; +``` + +## Data Types + +### Numeric Types + +```sql +INT, FLOAT, DOUBLE, DECIMAL +``` + +### Character Types + +```sql +CHAR, VARCHAR, TEXT +``` + +### Date and Time Types + +```sql +DATE, TIME, DATETIME +``` + +## Table Operations + +### Creating a Table + +```sql +CREATE TABLE table_name ( + column1 datatype, + column2 datatype, + ... +); +``` + +### Altering a Table + +```sql +ALTER TABLE table_name +ADD column_name datatype; +``` + +### Dropping a Table + +```sql +DROP TABLE table_name; +``` + +## Querying Data + +### Basic SELECT + +```sql +SELECT * FROM table_name; +``` + +### Aliasing Columns + +```sql +SELECT column1 AS alias1, column2 AS alias2 FROM table_name; +``` + +## Filtering Data + +### WHERE Clause + +```sql +SELECT * FROM table_name WHERE condition; +``` + +### AND, OR, NOT + +```sql +SELECT * FROM table_name WHERE condition1 AND condition2; +``` + +### IN Clause + +```sql +SELECT * FROM table_name WHERE column_name IN (value1, value2); +``` + +## Joins + +### INNER JOIN + +```sql +SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column; +``` + +### LEFT JOIN + +```sql +SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column; +``` + +### RIGHT JOIN + +```sql +SELECT * FROM table1 RIGHT JOIN table2 ON table1.column = table2.column; +``` + +## Aggregate Functions + +### COUNT + +```sql +SELECT COUNT(column) FROM table_name; +``` + +### SUM + +```sql +SELECT SUM(column) FROM table_name; +``` + +### AVG + +```sql +SELECT AVG(column) FROM table_name; +``` + +### MIN and MAX + +```sql +SELECT MIN(column), MAX(column) FROM table_name; +``` + +## Group By + +```sql +SELECT column1, COUNT(column2) FROM table_name GROUP BY column1; +``` + +## Subqueries + +### Single-Row Subquery + +```sql +SELECT column1 FROM table_name WHERE column2 = (SELECT column2 FROM another_table WHERE condition); +``` + +### Multi-Row Subquery + +```sql +SELECT column1 FROM table_name WHERE column2 IN (SELECT column2 FROM another_table WHERE condition); +``` + +## Transactions + +### Begin Transaction + +```sql +BEGIN; +``` + +### Commit Transaction + +```sql +COMMIT; +``` + +### Rollback Transaction + +```sql +ROLLBACK; +``` + +## Indexes + +### Creating an Index + +```sql +CREATE INDEX index_name ON table_name (column1, column2); +``` + +### Dropping an Index + +```sql +DROP INDEX index_name; +``` + +## Views + +### Creating a View + +```sql +CREATE VIEW view_name AS +SELECT column1, column2 FROM table_name WHERE condition; +``` + +### Updating a View + +```sql +CREATE OR REPLACE VIEW view_name AS +SELECT new_column1, new_column2 FROM table_name WHERE condition; +``` + +### Dropping a View + +```sql +DROP VIEW view_name; +``` + +