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