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.5 KiB

MySQL Bootcamp

Lesson Objectives

  1. What does SQL Stand for? What is it?
  2. What are the different ways to store data
  3. What is a DB
  4. Why do we need SQL
  5. Diagram MySQL structure
  6. Connect to MySQL
  7. Create a DB
  8. CRUD
  9. LIKE
  10. AND/OR
  11. DISTINCT
  12. ORDER BY
  13. OFFEST/LIMIT
  14. ALTER
  15. GROUP BY
SHOW DATABASES;
CREATE DATABASE users;
USE users;
CREATE TABLE employees (NAME VARCHAR(20), age INT);
DESCRIBE employees;

INSERT INTO employees (NAME, age) VALUES ('Matt' , 34);

SELECT * FROM employees;
SELECT age FROM employees;

UPDATE employees SET weight = 300 WHERE NAME = 'Bill' LIMIT 1;
UPDATE employees SET dob = NOW() WHERE id = 9;
UPDATE employees SET dob = '2015-06-26 12:04:10' WHERE id = 10;

DELETE FROM employees WHERE NAME = "Bill" AND age = 10;

SELECT * FROM employees WHERE NAME LIKE "%Charlie%" OR age = 80;
SELECT DISTINCT name FROM employees WHERE age > 45;
SELECT * FROM employees WHERE age != 63;

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, NAME ASC;

ALTER TABLE employees ADD COLUMN weight FLOAT;
ALTER TABLE employees DROP COLUMN height;
ALTER TABLE employees ADD COLUMN height FLOAT AFTER 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;

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, name;

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;