You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2.9 KiB
2.9 KiB
MySQL Bootcamp
Lesson Objectives
- What does SQL Stand for? What is it?
- What is a DB?
- What are the different ways to store data?
- What are the advantages of a database?
- Diagram MySQL structure
- Connect to MySQL
- Create a DB
- CRUD
- Operators
- AND/OR
- ORDER BY
- OFFEST/LIMIT
- ALTER
- GROUP BY
-- CREATE DB/TABLES
SHOW DATABASES;
CREATE DATABASE users;
USE users;
CREATE TABLE employees (first_name VARCHAR(20), age INT);
DESCRIBE employees;
-- 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";
-- 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;
-- AND/OR
SELECT * FROM users WHERE first_name = 'Matt' AND age = 43;
SELECT * FROM users 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;
-- 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;
-- AGGREGATION
SELECT COUNT(*), age FROM employees GROUP BY age;
SELECT COUNT(*) FROM employees GROUP BY age;
SELECT SUM(age) FROM employees GROUP BY age;
SELECT AVG(age) FROM employees;
SELECT MIN(age) FROM employees;
SELECT MAX(age) FROM employees;
SELECT GROUP_CONCAT(age) FROM employees;
SELECT GROUP_CONCAT(age) FROM employees, first_name;
-- JOINS
SELECT * from employees FULL JOIN companies;
SELECT * FROM employees JOIN companies ON employees.`employer_id` = companies.`id`;
SELECT * FROM employees RIGHT OUTER JOIN companies ON employees.`employer_id` = companies.id WHERE employees.`employer_id` IS NULL;
SELECT * FROM employees LEFT OUTER JOIN companies ON employees.`employer_id` = companies.id WHERE employees.`employer_id` IS NULL;
SELECT employees.*, companies.`name` FROM employees INNER JOIN companies ON employees.`employer_id` = companies.id;
SELECT e.*, c.name AS company_name FROM employees AS e INNER JOIN companies AS c ON e.employer_id = c.id;