Skip to main content

Posts

MySQL for Analytics and Business Intelligence Part 1: Script to generate schema and tables

Please execute the following script to create database and related tables in mysql.  SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0; SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0; SET @@sql_mode='no_engine_substitution'; SET global time_zone = '-5:00';  SET SQL_MODE='TRADITIONAL,ALLOW_INVALID_DATES';    DROP SCHEMA IF EXISTS mavenfuzzyfactory; -- this will cause an errror if DB doesn't exist. Dont worry CREATE SCHEMA mavenfuzzyfactory; USE mavenfuzzyfactory; -- -- Creating an empty shell for the table 'website_sessions'. We will populate it later.  -- CREATE TABLE website_sessions (   website_session_id BIGINT,   created_at TIMESTAMP,   user_id BIGINT,   is_repeat_session SMALLINT,    utm_source VARCHAR(12),    utm_campaign VARCHAR(20),   utm_content VARCHAR(15),    device_type VARCHAR(15),    http_referer VARCHAR(30),   PRIMARY KEY (website_session_id), ...

MySQL practical Tutorials part 12- foreign key and different types of joins(inner join, left join, right join, cross join) and multiple join exercises

 ======================================================================== Working With Foreign Keys -- Creating the customers and orders tables CREATE TABLE customers(     id INT AUTO_INCREMENT PRIMARY KEY,     first_name VARCHAR(100),     last_name VARCHAR(100),     email VARCHAR(100) ); CREATE TABLE orders(     id INT AUTO_INCREMENT PRIMARY KEY,     order_date DATE,     amount DECIMAL(8,2),     customer_id INT,     FOREIGN KEY(customer_id) REFERENCES customers(id) ); -- Inserting some customers and orders INSERT INTO customers (first_name, last_name, email)  VALUES ('Boy', 'George', 'george@gmail.com'),        ('George', 'Michael', 'gm@gmail.com'),        ('David', 'Bowie', 'david@gmail.com'),        ('Blue', 'Steele', 'blue@gmail.com'),        ('Bette', 'Davis', 'bette@aol.com');        ...

MySQL practical Tutorials part 11- MySQL IN, CASE statement and some practical exercises on logical operators.

 ========================================================================= In And Not In show databases(); use book_shop;   SELECT      title,      author_lname  FROM books WHERE author_lname='Carver' OR       author_lname='Lahiri' OR       author_lname='Smith';   SELECT title, author_lname FROM books WHERE author_lname IN ('Carver', 'Lahiri', 'Smith');   SELECT title, released_year FROM books WHERE released_year IN (2017, 1985);   SELECT title, released_year FROM books WHERE released_year != 2000 AND       released_year != 2002 AND       released_year != 2004 AND       released_year != 2006 AND       released_year != 2008 AND       released_year != 2010 AND       released_year != 2012 AND       released_year != 2014 AND       released_year != 2016;   SELECT title, released_y...

MySQL practical Tutorials part 10- MySQL logical AND, logical OR and BETWEEN operator.

 MySQL logical AND, logical OR and BETWEEN operator practical queries. ======================================================================================================================= Logical AND SELECT title, author_lname, released_year FROM books WHERE author_lname='Eggers';   SELECT title, author_lname, released_year FROM books WHERE released_year > 2010;   SELECT       title,      author_lname,      released_year FROM books WHERE author_lname='Eggers'      AND released_year > 2010;   SELECT 1 < 5 && 7 = 9; -- false   SELECT -10 > -20 && 0 <= 0; -- true   SELECT -40 <= 0 AND 10 > 40; --false   SELECT 54 <= 54 && 'a' = 'A'; -- true   SELECT *  FROM books WHERE author_lname='Eggers'      AND released_year > 2010      AND title LIKE '%novel%'; Please note, as of MySQL 8.0.17, the && o...

MySQL practical Tutorials part 9- SQL not operator, SQL Not Like, SQL greater than, SQL less than greater than operator

 ========================================================================= Not Equal SELECT title FROM books WHERE released_year = 2017;   SELECT title FROM books WHERE released_year != 2017;   SELECT title, author_lname FROM books;   SELECT title, author_lname FROM books WHERE author_lname = 'Harris';   SELECT title, author_lname FROM books WHERE author_lname != 'Harris'; ========================================================================= Not Like SELECT title FROM books WHERE title LIKE 'W';   SELECT title FROM books WHERE title LIKE 'W%';   SELECT title FROM books WHERE title LIKE '%W%';   SELECT title FROM books WHERE title LIKE 'W%';   SELECT title FROM books WHERE title NOT LIKE 'W%'; ========================================================================= Greater Than SELECT title, released_year FROM books ORDER BY released_year;   SELECT title, released_year FROM books  WHERE released_year > 2000 ORDER BY release...

MySQL practical Tutorials part 8- SQL date and timestamp functions and miscellaneous exercises on that

 Date Math SELECT * FROM people;   SELECT DATEDIFF(NOW(), birthdate) FROM people;   SELECT name, birthdate, DATEDIFF(NOW(), birthdate) FROM people;   SELECT birthdt FROM people;   SELECT birthdt, DATE_ADD(birthdt, INTERVAL 1 MONTH) FROM people;   SELECT birthdt, DATE_ADD(birthdt, INTERVAL 10 SECOND) FROM people;   SELECT birthdt, DATE_ADD(birthdt, INTERVAL 3 QUARTER) FROM people;   SELECT birthdt, birthdt + INTERVAL 1 MONTH FROM people;   SELECT birthdt, birthdt - INTERVAL 5 MONTH FROM people;   SELECT birthdt, birthdt + INTERVAL 15 MONTH + INTERVAL 10 HOUR FROM people; ======================================================================================================================= Working with TIMESTAMPS CREATE TABLE comments (     content VARCHAR(100),     created_at TIMESTAMP DEFAULT NOW() );   INSERT INTO comments (content) VALUES('lol what a funny article');   INSERT INTO comments (content) VALUES...

MySQL practical Tutorials part 7- sql Date Float, double , Date datatype all queries

Mysql Date Float, double , Date datatype all queries ======================================================================================================================= FLOAT and DOUBLE CREATE TABLE thingies (price FLOAT);   INSERT INTO thingies(price) VALUES (88.45);   SELECT * FROM thingies;   INSERT INTO thingies(price) VALUES (8877.45);   SELECT * FROM thingies;   INSERT INTO thingies(price) VALUES (8877665544.45);   SELECT * FROM thingies; ======================================================================================================================= Creating Our DATE data CREATE TABLE people (name VARCHAR(100), birthdate DATE, birthtime TIME, birthdt DATETIME);   INSERT INTO people (name, birthdate, birthtime, birthdt) VALUES('Padma', '1983-11-11', '10:07:35', '1983-11-11 10:07:35');   INSERT INTO people (name, birthdate, birthtime, birthdt) VALUES('Larry', '1943-12-25', '04:10:42', '1943-12-25 04:10:42');...