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

MySQL Bootcamp

Lesson Objectives

  1. What are the different ways to store data
  2. What is a DB
  3. Why do we need SQL
  4. Diagram MySQL structure
  5. Connect to MySQL
  6. Create a DB
  7. CRUD
  8. LIKE
  9. AND/OR
  10. DISTINCT
  11. ORDER BY
  12. OFFEST/LIMIT
  13. ALTER
  14. 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;

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

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