diff --git a/MySQLNotes.md b/MySQLNotes.md index dd9bf46..1c20b18 100644 --- a/MySQLNotes.md +++ b/MySQLNotes.md @@ -22,60 +22,60 @@ SHOW DATABASES; CREATE DATABASE our_database_name; USE our_database_name; -CREATE TABLE employees (first_name VARCHAR(20), age INT); -DESCRIBE employees; +CREATE TABLE people (first_name VARCHAR(20), age INT); +DESCRIBE people; -- CRUD -INSERT INTO employees (first_name, age) VALUES ('Matt' , 34); -SELECT age FROM employees; -SELECT * FROM employees; -UPDATE employees SET weight = 300 WHERE first_name = 'Bill'; -DELETE FROM employees WHERE first_name = "Bill"; +INSERT INTO people (first_name, age) VALUES ('Matt' , 34); +SELECT age FROM people; +SELECT * FROM people; +UPDATE people SET weight = 300 WHERE first_name = 'Bill'; +DELETE FROM people WHERE first_name = "Bill"; -- OPERATORS -SELECT * FROM employees WHERE age != 63; -SELECT * FROM employees WHERE age < 63; -SELECT * FROM employees WHERE age > 63; -SELECT * FROM employees WHERE age >= 63; -SELECT * FROM employees WHERE age <= 63; -SELECT * FROM employees WHERE first_name first_name LIKE "%Charlie%"; -SELECT * FROM employees WHERE first_name NOT LIKE "%Charlie%"; -SELECT * FROM employees WHERE age IS NULL; -SELECT * FROM employees WHERE age IS NOT NULL; +SELECT * FROM people WHERE age != 63; +SELECT * FROM people WHERE age < 63; +SELECT * FROM people WHERE age > 63; +SELECT * FROM people WHERE age >= 63; +SELECT * FROM people WHERE age <= 63; +SELECT * FROM people WHERE first_name first_name LIKE "%Charlie%"; +SELECT * FROM people WHERE first_name NOT LIKE "%Charlie%"; +SELECT * FROM people WHERE age IS NULL; +SELECT * FROM people WHERE age IS NOT NULL; -- AND/OR -SELECT * FROM employees WHERE first_name = 'Matt' AND age = 43; -SELECT * FROM employees WHERE first_name = 'Matt' OR age = 49; +SELECT * FROM people WHERE first_name = 'Matt' AND age = 43; +SELECT * FROM people WHERE first_name = 'Matt' OR age = 49; -- ORDER -SELECT * FROM employees ORDER BY age DESC; -SELECT * FROM employees ORDER BY age ASC LIMIT 2; -SELECT * FROM employees ORDER BY age ASC LIMIT 2 OFFSET 1; -SELECT * FROM employees ORDER BY age DESC, first_name ASC; +SELECT * FROM people ORDER BY age DESC; +SELECT * FROM people ORDER BY age ASC LIMIT 2; +SELECT * FROM people ORDER BY age ASC LIMIT 2 OFFSET 1; +SELECT * FROM people ORDER BY age DESC, first_name ASC; -- ALTER TABLE -ALTER TABLE employees ADD COLUMN weight FLOAT; -ALTER TABLE employees DROP COLUMN height; -ALTER TABLE employees ADD COLUMN height FLOAT AFTER first_name; -ALTER TABLE employees MODIFY COLUMN height FLOAT AFTER age; -ALTER TABLE employees ADD COLUMN id INT FIRST; -ALTER TABLE employees ADD COLUMN dob DATETIME; -ALTER TABLE employees CHANGE dob date_of_birth DATETIME; -ALTER TABLE companies ADD COLUMN id INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST; +ALTER TABLE people ADD COLUMN weight FLOAT; +ALTER TABLE people DROP COLUMN height; +ALTER TABLE people ADD COLUMN height FLOAT AFTER first_name; +ALTER TABLE people MODIFY COLUMN height FLOAT AFTER age; +ALTER TABLE people ADD COLUMN id INT FIRST; +ALTER TABLE people ADD COLUMN dob DATETIME; +ALTER TABLE people CHANGE dob date_of_birth DATETIME; +ALTER TABLE people ADD COLUMN id INT NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST; -- AGGREGATION -SELECT COUNT(*), age FROM employees GROUP BY age; -SELECT SUM(salary), age FROM employees GROUP BY age; -SELECT AVG(salary) FROM employees GROUP BY age; -SELECT MIN(salary) FROM employees GROUP BY age; -SELECT MAX(salary) FROM employees GROUP BY age; -SELECT GROUP_CONCAT(first_name) FROM employees GROUP BY age; -SELECT GROUP_CONCAT(first_name), age, height FROM employees GROUP BY age, height; +SELECT COUNT(*), age FROM people GROUP BY age; +SELECT SUM(salary), age FROM people GROUP BY age; +SELECT AVG(salary) FROM people GROUP BY age; +SELECT MIN(salary) FROM people GROUP BY age; +SELECT MAX(salary) FROM people GROUP BY age; +SELECT GROUP_CONCAT(first_name) FROM people GROUP BY age; +SELECT GROUP_CONCAT(first_name), age, height FROM people GROUP BY age, height; -- JOINS -SELECT * FROM employees JOIN companies ON employees.employer_id = companies.id; -SELECT * from employees JOIN companies; -SELECT * FROM employees RIGHT OUTER JOIN companies ON employees.employer_id = companies.id; -SELECT * FROM employees LEFT OUTER JOIN companies ON employees.employer_id = companies.id; +SELECT * FROM people JOIN companies ON people.employer_id = companies.id; +SELECT * from people JOIN companies; +SELECT * FROM people RIGHT OUTER JOIN companies ON people.employer_id = companies.id; +SELECT * FROM people LEFT OUTER JOIN companies ON people.employer_id = companies.id; ```