SQL language note
Date: September 13, 2023 Tags: SQL
Summary
This document provides an overview of common SQL commands and operations spanning categories like data retrieval, data modification, and database management.
Data Retrieval (Queries):
SELECT column1, column2, ... FROM table_name: Retrieve specific columns from a table.SELECT * FROM table_name: Retrieve all columns from a table.SELECT column1, column2, ... FROM table_name WHERE condition: Retrieve specific columns based on a condition.
Sorting and Filtering:
SELECT column1, column2, ... FROM table_name ORDER BY column1 ASC, column2 DESC: Sort results based on columns.SELECT column1, column2, ... FROM table_name WHERE condition LIMIT number: Limit the number of results returned.
Joining Tables:
SELECT ... FROM table1 INNER JOIN table2 ON table1.column = table2.column: Inner join.SELECT ... FROM table1 LEFT JOIN table2 ON table1.column = table2.column: Left join.SELECT ... FROM table1 RIGHT JOIN table2 ON table1.column = table2.column: Right join.SELECT ... FROM table1 FULL JOIN table2 ON table1.column = table2.column: Full (outer) join.
Data Modification:
INSERT INTO table_name (column1, column2, ... ) VALUES (value1, value2, ... ): Insert new records.UPDATE table_name SET column1 = value1, column2 = value2, ... WHERE condition: Modify existing records.DELETE FROM table_name WHERE condition: Delete records.
Database and Table Management:
CREATE DATABASE database_name: Create a new database.DROP DATABASE database_name: Delete a database.CREATE TABLE table_name ( column1 datatype, column2 datatype, ... ): Create a new table.DROP TABLE table_name: Delete a table.ALTER TABLE table_name ADD column_name datatype: Add a new column to a table.
Aggregation Functions:
COUNT(column): Count entries.SUM(column): Sum entries.AVG(column): Calculate average.MIN(column): Get minimum value.MAX(column): Get maximum value.
Data Definition Language (DDL):
CREATE: Used to create objects like databases, tables, etc.ALTER: Used to alter existing database objects.DROP: Used to delete database objects.
Data Manipulation Language (DML):
SELECT: Used to query data from a database.INSERT: Used to insert data into tables.UPDATE: Used to update existing data.DELETE: Used to delete data from a database.
Data Control Language (DCL):
GRANT: Provides privileges on database objects.REVOKE: Removes privileges provided with the GRANT command.
Transactional Control Commands:
COMMIT: Saves the work done during the current transaction.ROLLBACK: Restores the database state to the last committed state.SET TRANSACTION: Configures the properties of a transaction.
Constraints in SQL:
PRIMARY KEY: A column or group of columns used to uniquely identify rows in a table.FOREIGN KEY: A set of columns used to establish and enforce a link between data in two tables.UNIQUE: Ensures that all values in a column are unique.NOT NULL: Ensures that a column cannot have a NULL value.CHECK: Ensures that the value in a column meets a specific condition.
SQL examples list:
- Basic Operations:
- Retrieve all records:
SELECT * FROM table_name; - Retrieve specific columns:
SELECT column1, column2 FROM table_name; - Retrieve with conditions:
SELECT column1, column2 FROM table_name WHERE column1 = value;
- Retrieve all records:
- Filtering and Sorting:
- Using AND & OR:
SELECT * FROM table_name WHERE column1 = value1 AND column2 = value2; - Sorting in ascending order:
SELECT * FROM table_name ORDER BY column1 ASC; - Sorting in descending order:
SELECT * FROM table_name ORDER BY column1 DESC; - Limit results:
SELECT * FROM table_name LIMIT 10;
- Using AND & OR:
- Aggregate Functions:
- Count:
SELECT COUNT(column1) FROM table_name; - Average:
SELECT AVG(column1) FROM table_name; - Maximum:
SELECT MAX(column1) FROM table_name; - Minimum:
SELECT MIN(column1) FROM table_name;
- Count:
- Joining Tables:
- 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; - Full Outer Join:
SELECT * FROM table1 FULL JOIN table2 ON table1.column = table2.column;
- Inner Join:
- Insert, Update, Delete:
- Insert:
INSERT INTO table_name (column1, column2) VALUES (value1, value2); - Update:
UPDATE table_name SET column1 = value1 WHERE column2 = value2; - Delete:
DELETE FROM table_name WHERE column1 = value1;
- Insert:
- Creating & Modifying Tables:
- Create Table:
CREATE TABLE table_name (column1 datatype, column2 datatype); - Add Column:
ALTER TABLE table_name ADD column_name datatype; - Drop (Delete) Table:
DROP TABLE table_name;
- Create Table:
- Database Management:
- Create Database:
CREATE DATABASE database_name; - Use Database:
USE database_name; - Drop (Delete) Database:
DROP DATABASE database_name;
- Create Database:
- Constraints:
- Primary Key:
ALTER TABLE table_name ADD PRIMARY KEY (column1); - Foreign Key:
ALTER TABLE table_name ADD FOREIGN KEY (column1) REFERENCES other_table (other_column); - Unique:
ALTER TABLE table_name ADD UNIQUE (column1); - Check:
ALTER TABLE table_name ADD CHECK (condition); - Not Null:
ALTER TABLE table_name MODIFY column1 datatype NOT NULL;
- Primary Key:
- Index:
- Create Index:
CREATE INDEX index_name ON table_name (column1); - Drop Index:
DROP INDEX table_name.index_name;
- Create Index:
- Transactions:
- Start Transaction:
START TRANSACTION; - Commit:
COMMIT; - Rollback:
ROLLBACK;
- Start Transaction: