Basic SQL Tutorial

Preview:

DESCRIPTION

Basic SQL Tutorial

Citation preview

Basic SQL

โดย Yuttana J.

: mySQL for Beginner

School of Informaticstinybronko@gmail.com

1

Today’s Agenda

2

Querying data from MySQL database1

Modifying data in MySQL2

Working with MySQL databases3

MySQL Globalization4

Download MySQL Sample Database

3

4

5

6

7

8

Create new account

9

10

11

SQL statement

CREATE USER 'user1'@'%' IDENTIFIED WITH mysql_native_password AS '***';

GRANT ALL PRIVILEGES ON *.* TO 'user1'@'%' REQUIRE NONE WITH GRANT OPTION;

CREATE DATABASE IF NOT EXISTS `user1`; GRANT ALL PRIVILEGES ON `user1`.* TO 'user1'@'%'; GRANT ALL PRIVILEGES ON `user1\_%`.* TO 'user1'@'%';

12

SQL statement (REVOKE)

REVOKE ALL PRIVILEGES ON *.* FROM'user1'@'%'; GRANT SELECT ON *.* TO'user1'@'%' ;

13

REVOKE ALL PRIVILEGES ON `user1`.* FROM 'user1'@'%'; GRANT ALL PRIVILEGESON `user1`.* TO 'user1'@'%' WITH GRANT OPTION;

SELECT Statement

14

the syntax of the SELECT statement

SELECT

column_1, column_2, ...

FROM

table_1

WHERE

conditions

ORDER BY column_1 ;

15

16

17

ตอ้งการขอ้มูลจาก 3 fields คือ lastName, firstName และ jobTitle

SELECT Statement

SELECT

lastname, firstname, jobtitle

FROM

employees;

18

SELECT Statement

19

Introduction to ORDER BY clause

SELECT column1, column2,...

FROM tbl

ORDER BY column1 [ASC|DESC], column2 [ASC|DESC],...

20

Example of ORDER BY clause

SELECT

contactLastname, contactFirstname

FROM

customers

ORDER BY contactLastname;

21

Example of ORDER BY clause

SELECT

contactLastname, contactFirstname

FROM

customers

ORDER BY contactLastname DESC;

22

Example of ORDER BY clause

SELECT

ordernumber, orderlinenumber, FORMAT(quantityOrdered * priceEach, 2)

FROM

orderdetails

ORDER BY ordernumber , orderLineNumber, quantityOrdered * priceEach;

23

Example of ORDER BY clause

SELECT

orderNumber, status

FROM

orders

ORDER BY FIELD (status, 'In Process', 'On Hold', 'Cancelled', 'Resolved', 'Disputed', 'Shipped');

24

Using DISTINCT to Eliminate Duplicates

25

syntax of using the DISTINCT clause

SELECT DISTINCT

columns

FROM

table_name

WHERE

where_conditions;

26

DISTINCT example 1

SELECT

lastname

FROM

employees

ORDER BY lastname;

27

DISTINCT example 2

SELECT DISTINCT

lastname

FROM

employees

ORDER BY lastname;

28

DISTINCT with multiple columns

SELECT DISTINCT

state, city

FROM

customers

WHERE

state IS NOT NULL

ORDER BY state , city;

29

DISTINCT with multiple columns

SELECT DISTINCT

state, city

FROM

customers

WHERE

state IS NOT NULL

ORDER BY state , city;

30

DISTINCT and aggregate function

SELECT

COUNT(DISTINCT state)

FROM

customers

WHERE

country = 'USA';

31

Introduction to LIMIT clause

the LIMIT clause syntax with two arguments…

SELECT

column1,column2,...

FROM

table

LIMIT offset , count;

32

Using LIMIT to get the first N rows

You can use the LIMIT clause to select the first N rows in a table, for example…

SELECT

customernumber, customername, creditlimit

FROM

customers

LIMIT 10;

33

Using LIMIT to get the highest values

SELECT

customernumber, customername, creditlimit

FROM

customers

ORDER BY creditlimit DESC

LIMIT 5;

34

Using LIMIT to get the lowest values

SELECT

customernumber, customername, creditlimit

FROM

customers

ORDER BY creditlimit ASC

LIMIT 5;

35

Using LIMIT to get the lowest values

SELECT

customernumber, customername, creditlimit

FROM

customers

ORDER BY creditlimit ASC

LIMIT 5;

36

BETWEEN Operator Explained

37

Introduction to BETWEEN Operator

The BETWEEN operator allows you to specify a range to test. We often use the BETWEEN operator in the WHEREclause of the SELECT, INSERT, UPDATE, and DELETEstatements.

38

syntax of the BETWEEN operator:

expr [NOT] BETWEEN begin_expr AND end_expr;

BETWEEN with number examples

SELECT

productCode, productName, buyPrice

FROM

products

WHERE

buyPrice BETWEEN 90 AND 100;

39

BETWEEN with number examples

40

BETWEEN with number examples 2

SELECT

productCode, productName, buyPrice

FROM

products

WHERE

buyPrice >= 90 AND buyPrice <= 100;

41

BETWEEN with number examples 3

SELECT

productCode, productName, buyPrice

FROM

products

WHERE

buyPrice NOT BETWEEN 20 AND 100;

42

BETWEEN with number examples 4

SELECT

productCode, productName, buyPrice

FROM

products

WHERE

buyPrice < 20 OR buyPrice > 100;

43

Using LIKE Operator To Select Data Based

• The percentage ( % ) wildcard allows you to match any string of zero or more characters.

• The underscore ( _ ) wildcard allows you to match any single character.

44

LIKE with percentage (%) wildcard

SELECT

employeeNumber, lastName, firstName

FROM

employees

WHERE

firstName LIKE 'a%';

45

LIKE with percentage (%) wildcard 2

SELECT

employeeNumber, lastName, firstName

FROM

employees

WHERE

lastName LIKE '%on';

46

LIKE with percentage (%) wildcard 3

SELECT

employeeNumber, lastName, firstName

FROM

employees

WHERE

lastName LIKE '%on%';

47

LIKE with underscore( _ ) wildcard

SELECT

employeeNumber, lastName, firstName

FROM

employees

WHERE

firstName LIKE 'T_m';

48

LIKE operator with NOT operator

SELECT

employeeNumber, lastName, firstName

FROM

employees

WHERE

lastName NOT LIKE 'B%';

49

Introducing to GROUP BY clause

The following illustrates the GROUP BY clause syntax:

SELECT c1, c2,..., cn, aggregate_function(ci)

FROM table

WHERE where_conditions

GROUP BY c1 , c2,...,cn;

50

Simple GROUP BY example 1

SELECT

status

FROM

orders

GROUP BY status;

51

GROUP BY with aggregate functions

SELECT

status, COUNT(*)

FROM

orders

GROUP BY status;

52

Simple GROUP BY example 2

SELECT

status, COUNT(*)

FROM

orders

GROUP BY status DESC;

53

54