SQLRevision Notes
SQLRevision Notes
Database Commands
CREATE DATABASE db_name;
CREATE DATABASE IF NOT EXISTS db_name;
DROP DATABASE db_name;
DROP DATABASE IF EXISTS db_name;
SHOW DATABASES;
USE db_name;
Create Table
CREATE TABLE table_name(
col1 datatype constraint,
col2 datatype constraint
);
Datatypes
CHAR, VARCHAR, INT, TINYINT, BIGINT, FLOAT, DOUBLE,
BOOLEAN, DATE, YEAR, BLOB.
Keys
Primary Key:
id INT PRIMARY KEY
Foreign Key:
FOREIGN KEY(col_name)
REFERENCES parent_table(id)
PK = Unique + Not Null.
FK = Creates relationship between tables.
Constraints
NOT NULL:
name VARCHAR(50) NOT NULL
UNIQUE:
email VARCHAR(100) UNIQUE
DEFAULT:
salary INT DEFAULT 25000
CHECK:
age INT CHECK(age >= 18)
SELECT col1,col2
FROM table_name
WHERE condition;
Operators
Comparison: =, !=, >, <, >=, <=
Logical: AND, OR, NOT, IN, BETWEEN
Arithmetic: +, -, *, /, %
Examples:
WHERE marks > 80
WHERE city IN ('Delhi','Mumbai')
WHERE marks BETWEEN 80 AND 90
Aggregate Functions
COUNT():
SELECT COUNT(*) FROM student;
SUM():
SELECT SUM(marks) FROM student;
AVG():
SELECT AVG(marks) FROM student;
MAX():
SELECT MAX(marks) FROM student;
MIN():
SELECT MIN(marks) FROM student;
SELECT city,COUNT(*)
FROM student
GROUP BY city
HAVING MAX(marks) > 90;
GROUP BY = grouping
HAVING = condition after grouping
UPDATE:
UPDATE table_name
SET col1=value
WHERE condition;
DELETE:
DELETE FROM table_name
WHERE condition;
Cascade
ON DELETE CASCADE
ON UPDATE CASCADE
ALTER TABLE
ADD COLUMN:
ALTER TABLE table_name
ADD COLUMN col_name datatype;
DROP COLUMN:
ALTER TABLE table_name
DROP COLUMN col_name;
MODIFY COLUMN:
ALTER TABLE table_name
MODIFY col_name datatype;
CHANGE COLUMN:
ALTER TABLE table_name
CHANGE COLUMN old_name new_name datatype;
RENAME TABLE:
ALTER TABLE table_name
RENAME TO new_table_name;
JOINS
INNER JOIN:
SELECT * FROM A
INNER JOIN B ON [Link]=[Link];
LEFT JOIN:
SELECT * FROM A
LEFT JOIN B ON [Link]=[Link];
RIGHT JOIN:
SELECT * FROM A
RIGHT JOIN B ON [Link]=[Link];
SELF JOIN:
SELECT *
FROM employee a
JOIN employee b
ON [Link]=b.manager_id;
UNION
SELECT col FROM tableA
UNION
SELECT col FROM tableB;
Rules:
Same number of columns
Similar datatypes
Same order
View:
A virtual table based on an SQL query.
Most Important:
PK, FK, Constraints, WHERE, GROUP BY, HAVING,
Aggregate Functions, ALTER TABLE, JOINS,
UNION, Subqueries.