Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating...

74
Marketing Analytics: Database Query with MySQL Disclaimer: All logos, photos, etc. used in this presentation are the property of their respective copyright owners and are used here for educational purposes only © Stephan Sorger 2015. www.StephanSorger.com ; Database Query with MySQL; SQL.1

Transcript of Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating...

Page 1: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

Marketing Analytics: Database Query with MySQL

Disclaimer:

• All logos, photos, etc. used in this presentation are the property of their respective

copyright owners and are used here for educational purposes only

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.1

Page 2: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

Category Description

Introduction Overview of database query languages

RDBMS Example of Relational Database Management System

Hosting Obtaining hosting server for MySQL (free or paid)

Setup Setting up the MySQL Server on hosting platforms

Import Importing databases into MySQL Server

Structure Data structure; Showing tables within databases

SHOW Commands to display data

SELECT Commands to choose certain pieces of data

Sorting Commands to sort data

Filtering Commands to filter data

Logical Using logical commands (AND, OR) in commands

Creating Creating, Dropping, and Altering databases and tables

Outline

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.2

Page 3: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

Category Description

SQL Structured Query Language

Programming language for accessing RDBMS

RDBMS Relational Database Management System

SQL Consists of two items:

Data Definition Language: Syntax for defining data structures

Data Manipulation Language: Syntax for selecting, inserting

deleting, and updating data in databases

Top 3 Top 3 Database engines:

Oracle

MySQL

Microsoft SQL Server

MySQL Open source; Free; Available for Mac and PC

Manual: See dev.mysql.com/doc/index.html

Database Query: Introduction

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.3

Page 4: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

RDBMS Database Example

Row: Record

Primary Key: Column with 100% unique entries

similar to Social Security Number

(‘Engine’ column will not work; duplicate entries)

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.4

Page 5: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Hosting

Go to

000webhost.com

(or other similar

Web hosting service)

and get an account

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.5

Page 6: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL Server:

Setup

Creating MySQL

Databases for

hosting accounts

on GoDaddy.com

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.6

Page 7: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

For GoDaddy,

launch hosting

account to see

cPanel (shown).

Click on MySQL

Database Wizard

MySQL:

Server Setup

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.7

Page 8: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL Server: Setup

Enter name for

database

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.8

Page 9: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL Server: Setup

Enter username

and password

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.9

Page 10: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL Server: Setup

Select privileges

for user

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.10

Page 11: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL Server: Setup

Select

phpMyAdmin

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.11

Page 12: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Importing Databases

Select your Database

(Database1)

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.12

Page 13: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Importing Databases

Select Import

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.13

Page 14: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Importing Databases

MySQL Sample

Databases:

dev.mysql.com/doc/index-other.html

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.14

Page 15: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Importing Databases

Choose File:

Dataset:

world.sql

Click “Go”

(bottom of page)

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.15

Page 16: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Importing Databases

Imported OK;

Click “Database1”

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.16

Page 17: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Data Structure

Check “City” Table

within World database

Click on SQL tab

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.17

Page 18: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Data Structure

In SQL tab, enter

“SHOW DATABASES”

and hit “Go”

SQL commands

also called “queries”

are in ALL CAPS

Table entries are in lower case or Mixed Case

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.18

Page 19: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Data Structure

Shows databases:

information_schema

(already in SQL server)

Database1

(we created)

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.19

Page 20: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Data Structure

In SQL tab, enter

“SHOW TABLES”

and hit “Go”

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.20

Page 21: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Data Structure

Tables:

City

Country

Country Language

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.21

Page 22: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: SHOW Commands

View columns of table

Click on SQL tab

Syntax:

SHOW COLUMNS FROM (table)

Here:

SHOW COLUMNS FROM City

Then click Go

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.22

Page 23: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: SHOW Commands

Results:

See columns from table

Note PRI (primary) key

Here, PRI = ID field

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.23

Page 24: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: SHOW Commands

Click on file structure list

in left column to see table

Here, click on “City”

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.24

Page 25: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: SELECT Commands

SELECT Name FROM City

and click Go

Note column names on right

Note commands on bottom

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.25

Page 26: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: SELECT Commands

Result:

Names of cities

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.26

Page 27: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: SELECT Commands

Select multiple columns

from tables using comma (,)

between column labels

Note semicolon at end of line

(most compilers will run command without semicolon if command is only 1 line)

SELECT Name, CountryCode FROM City;

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.27

Page 28: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: SELECT Commands

Result:

Names of cities

AND

Names of Country Codes

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.28

Page 29: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: SELECT Commands

Insert wildcard

character (*) to

retrieve all information

SELECT * FROM City

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.29

Page 30: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: SELECT Commands

Result:

Entire dataset

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.30

Page 31: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: SELECT with Distinct and LIMIT

DISTINCT:

To show only one

instance of a particular

value

SELECT DISTINCT CountryCode FROM City

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.31

Page 32: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

Result:

Distinct country codes

MySQL: SELECT with Distinct and LIMIT

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.32

Page 33: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

Show only first 5

using LIMIT command

SELECT Name, CountryCode FROM City LIMIT 5

MySQL: SELECT with Distinct and LIMIT

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.33

Page 34: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

Result: First 5 entries

MySQL: SELECT with Distinct and LIMIT

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.34

Page 35: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

Select only limited set of entries

From start point (say, 5)

To a certain number of data points (say, 10)

(Computers start counting at 0, not at 1,

so results will show “6”, not “5”

SELECT Name, CountryCode FROM City LIMIT 5, 10

MySQL: SELECT with Distinct and LIMIT

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.35

Page 36: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

Result: Results 5 - 15

MySQL: SELECT with Distinct and LIMIT

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.36

Page 37: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

Fully Qualified Names:

“dataset.label”

Handy if working on

multiple databases

with the same column

SELECT City.Name FROM City

MySQL: SELECT with Distinct and LIMIT

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.37

Page 38: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

Results: Same as before

Note names in order as

found in the original table;

Can be confusing.

Alternative: Sort.

MySQL: SELECT with Distinct and LIMIT

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.38

Page 39: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Sorting

Sort results using

ORDER BY command

SELECT Name FROM City ORDER BY Name

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.39

Page 40: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Sorting

Results are now in

alphabetic order

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.40

Page 41: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Sorting

Sorting multiple columns,

specifying order parameter

SELECT Name, CountryCode, District FROM City ORDER BY Name

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.41

Page 42: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Sorting

Results:

Multiple columns,

sorted by Name

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.42

Page 43: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Sorting

Sequential Sort:

Sort by x, then by y

SELECT Name,CountryCode,District from City ORDER BY name,CountryCode

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.43

Page 44: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Sorting

Result:

Sort by Name,

then by Country Code

(not very interesting

in this case, because

data is unique for each area)

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.44

Page 45: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Sorting

Sorting in reverse

direction; from high to low

DESC = Descending

ASC = Ascending

SELECT Name, CountryCode FROM City ORDER BY Name DESC

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.45

Page 46: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Sorting

Result: Names from Z – A

BUT: Algorithm lists

special characters,

such as umlauted vowels,

AFTER Z

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.46

Page 47: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Sorting

Select highest value

(or lowest value)

SELECT Name, Population FROM City ORDER BY Population LIMIT 1

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.47

Page 48: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Sorting

Results:

Adamstown has the

smallest population,

with only 42 people

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.48

Page 49: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Sorting

Select highest value

(or lowest value)

SELECT Name, Population FROM City ORDER BY Population DESC LIMIT 1

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.49

Page 50: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Sorting

Results:

Mubai has the

largest population,

with 10,500,000 people

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.50

Page 51: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Filtering

Filtering:

Want only areas

within country code ‘AFG’

SELECT Name, CountryCode FROM City WHERE CountryCode=‘AFG’

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.51

Page 52: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Filtering

Results

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.52

Page 53: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Filtering

Filtering:

Want to list

“small cities”,

i.e. areas

with population

under 10,000

SELECT Name, Population FROM City WHERE Population <= 10000

(could also show “large cities”) :

SELECT Name, Population FROM City WHERE Population >= 10000

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.53

Page 54: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Filtering

Result:

Listing of “small” cities

in ID order

(could also sort if desired)

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.54

Page 55: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Filtering

Filtering:

Want to list

“medium cities”

i.e. areas

with population

between

10,000 and 50,000: SELECT Name, Population FROM City WHERE Population BETWEEN 10000 AND 50000

OR

SELECT Name, Population FROM City WHERE Population >= 10000 && Population <= 50000

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.55

Page 56: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Filtering

Result:

“Sweet spot” cities

between 10,000 and

50,000

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.56

Page 57: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Logical Operators

Find name of city

within AFG with a

population greater

than 200,000

SELECT Name, CountryCode FROM City WHERE CountryCode=‘AFG’ AND Population>200000

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.57

Page 58: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Logical Operators

Result: Two cities

met both criteria

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.58

Page 59: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Logical Operators

Find name of city

within NLD

OR with a population

greater than 400,000

SELECT Name, CountryCode, Population

FROM City WHERE CountryCode=‘NLD’ AND Population>400000

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.59

Page 60: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL Server

Result: Three cities

met at least one of the

criteria

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.60

Page 61: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Searching

Use REGEXP

(regular expression)

to search for item.

Here, we want to

search for any district

with the word “Holland”

in it.

SELECT Name, District FROM City WHERE District REGEXP 'Holland'

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.61

Page 62: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Searching

Results:

Many districts have

the word “Holland”

in them

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.62

Page 63: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Special Columns

Create special columns

using math: +, -, *, /

For example, what if

population were to grow by 10%?

SELECT Name, Population, Population*1.1 AS Population_Growth FROM City

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.63

Page 64: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Special Columns

Result:

Special Column temporarily

inserted in database:

Population Growth

Shows population + 10%

SELECT Name, Population, Population*1.1 AS Population_Growth FROM City

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.64

Page 65: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Create Database

Create new database

called “database2”

CREATE DATABASE database2

To delete database:

DROP DATABASE database2

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.65

Page 66: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Create Table

Create new table

through phpMyAdmin

By clicking on Database

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.66

Page 67: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Create Table

Within phpMyAdmin:

Create table:

Enter Name

Enter number of columns

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.67

Page 68: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Create Table

Within MySQL:

Create new table: CREATE

Drop or rename table:

DROP TABLE signup

RENAME TABLE signup TO users

Create new table

for website

where people can

sign up for emails

CREATE TABLE signup ( Open bracket; Create new lines

id int NOT NULL AUTO_INCREMENT First variable: id; data type: Integer; Automatically add 1

name varchar (30) NOT NULL Second variable: name; alphanumeric text; Required

email varchar (30) NOT NULL Third variable: email; max length: 30 char. ; Required

PRIMARY KEY (id) Declare primary key; in this case, “id”

) Close bracket

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.68

Page 69: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Create Table

Click on Structure

to see table structure

id underlined

PRIMARY KEY

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.69

Page 70: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Create Table

Manually enter data

by clicking Insert tab,

then click Go

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.70

Page 71: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL Server

Results:

-Data inserted

-ID incremented

To Delete a Row:

DELETE FROM signup WHERE name = ‘Kathy Kar’

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.71

Page 72: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Alter Table

Add column:

phone (phone number)

To add a column:

ALTER TABLE signup ADD phone varchar(10) NOT NULL

To delete a column:

ALTER TABLE signup DROP COLUMN phone

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.72

Page 73: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL Server

Results:

New column inserted:

“phone”

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.73

Page 74: Marketing Analytics - Stephan SorgerLogical Using logical commands (AND, OR) in commands Creating Creating, Dropping, and Altering databases and tables ... For GoDaddy, launch hosting

MySQL: Reference Manuals

To learn all commands, functions, etc. available, go to:

dev.mysql.com/doc/index.html

© Stephan Sorger 2015. www.StephanSorger.com; Database Query with MySQL; SQL.74