SQL
Structured Query Language
What is SQL?
•SQL stands for Structured Query Language
•SQL lets you access and manipulate databases
•SQL is in ANSI (American National Standards Institute)
standard
RDBMS
RDBMS stands for Relational Database Management
System.
RDBMS is the basis for SQL, and for all modern
database systems such as MS SQL Server, IBM DB2,
Oracle, MySQL, and Microsoft Access.
The data in RDBMS is stored in database objects called
tables.
A table is a collection of related data entries and it
consists of columns and rows.
What Can SQL do?
SQL can execute queries against a database
SQL can retrieve data from a database
SQL can insert records in a database
SQL can update records in a database
SQL can delete records from a database
SQL can create new databases
SQL can create new tables in a database
SQL
Data Definition Language
CREATE TABLE - Add new table to data base
ALTER TABLE - Change the structure of an existing table
DROP TABLE - Remove a table from database
Data Manipulation Language
INSERT - Add some new row of data to database
SELECT - Retrieving data from the database
DELETE - Removing rows of data from database
UPDATE - Modifying an existing database data
Some SQL Data Types
Data type Description
CHARACTER(n) Character string. Fixed-length n
VARCHAR(n) or Character string. Variable length. Maximum length n
CHARACTER
VARYING(n)
BOOLEAN Stores TRUE or FALSE values
INTEGER(p) Integer numerical (no decimal). Precision p
FLOAT(p) Approximate numerical, mantissa precision p. A
floating number in base 10 exponential notation. The
size argument for this type consists of a single number
specifying the minimum precision
DATE Stores year, month, and day values
TIME Stores hour, minute, and second values
Database Tables
A database most often contains one or more
tables. Each table is identified by a name (e.g.
"Customers" or "Orders").
Tables contain records (rows) with data.
Customer CustomerName ContactName Address City PostalCode Country
ID
1 Alfreds Maria Anders Obere Str. 57 Berlin 12209 Germany
Futterkiste
2 Ana Trujillo Ana Trujillo Avda. de la México D.F. 05021 Mexico
Emparedados y Constitución 2222
helados
3 Antonio Moreno Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
Taquería
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds Christina Berguvsvägen 8 Luleå S-958 22 Sweden
snabbköp Berglund
6 Frankenversand Peter Franken Berliner Platz 43 München 80805 Germany
SQL SELECT Statement
The SELECT statement is used to select data from
a database.
SQL SELECT Syntax
SELECT column_name,column_name
FROM table_name;
and
SELECT * FROM table_name;
SELECT CustomerName,City FROM Customers;
CustomerName City
Alfreds Futterkiste Berlin
Ana Trujillo Emparedados México D.F.
y helados
Antonio Moreno Taquería México D.F.
Around the Horn London
Berglunds snabbköp Luleå
Frankenversand München
SELECT * FROM Customers;
Customer CustomerName Contact Address City Postal Country
ID Name Code
1 Alfreds Futterkiste Maria Obere Str. 57 Berlin 12209 Germany
Anders
2 Ana Trujillo Ana Trujillo Avda. de la México 05021 Mexico
Emparedados y Constitución D.F.
helados 2222
3 Antonio Moreno Antonio Mataderos 2312 México 05023 Mexico
Taquería Moreno D.F.
4 Around the Horn Thomas 120 Hanover Sq. London WA1 UK
Hardy 1DP
5 Berglunds snabbköp Christina Berguvsvägen 8 Luleå S-958 Sweden
Berglund 22
6 Frankenversand Peter Berliner Platz 43 München 80805 Germany
Franken
The SQL WHERE Clause
The WHERE clause is used to extract only those
records that fulfil a specified criterion.
SQL WHERE Syntax
SELECT column_name,column_name
FROM table_name
WHERE column_name operator value;
SELECT * FROM Customers WHERE Country='Mexico';
Customer Customer Contact Address City Postal Country
ID Name Name Code
2 Ana Trujillo Ana Trujillo Avda. de la México 05021 Mexico
Emparedados Constitución D.F.
y helados 2222
3 Antonio Antonio Mataderos México 05023 Mexico
Moreno Moreno 2312 D.F.
Taquería
The SQL AND & OR Operators
SELECT * FROM Customers WHERE
Country='Germany' AND City='Berlin';
Customer Customer Contact Address City Postal Country
ID Name Name Code
1 Alfreds Maria Anders Obere Str. 57 Berlin 12209 Germany
Futterkiste
SELECT * FROM Customers WHERE City='Berlin' OR
City='München';
Customer Customer ContactNa Address City Postal Country
ID Name me Code
1 Alfreds Maria Obere Str. Berlin 12209 Germany
Futterkiste Anders 57
6 Frankenver Peter Berliner München 80805 Germany
sand Franken Platz 43
The SQL ORDER BY Keyword
The ORDER BY keyword is used to sort the result-set by one
or more columns.
SQL ORDER BY Syntax
SELECT column_name,column_name FROM table_name
ORDER BY column_name,column_name ASC|DESC;
SELECT * FROM Customers ORDER BY Country;
CustomerID CustomerName Contact Address City Postal Country
Name Code
1 Alfreds Futterkiste Maria Obere Str. 57 Berlin 12209 Germany
Anders
6 Frankenversand Peter Berliner Platz 43 München 80805 Germany
Franken
2 Ana Trujillo Ana Avda. de la México 05021 Mexico
Emparedados y Trujillo Constitución D.F.
helados 2222
3 Antonio Moreno Antonio Mataderos 2312 México 05023 Mexico
Taquería Moreno D.F.
5 Berglunds snabbköp Christina Berguvsvägen 8 Luleå S-958 Sweden
Berglund 22
4 Around the Horn Thomas 120 Hanover Sq. London WA1 UK
Hardy 1DP
The SQL INSERT INTO Statement
The INSERT INTO statement is used to insert new records in
a table.
SQL INSERT INTO Syntax
INSERT INTO table_name (column1,column2,column3,...)
VALUES (value1,value2,value3,...);
INSERT INTO Customers (CustomerName, ContactName, Address, City,
PostalCode, Country)
VALUES ('Cardinal','Tom B. Erichsen','Skagen21','Stavanger','4006', 'Norway');
Custo CustomerName ContactName Address City Postal Country
merID Code
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Ana Trujillo Avda. de la México 05021 Mexico
Emparedados y Constitución D.F.
helados 2222
3 Antonio Moreno Antonio Moreno Mataderos México 05023 Mexico
Taquería 2312 D.F.
4 Around the Horn Thomas Hardy 120 Hanover London WA1 UK
Sq. 1DP
5 Berglunds Christina Berguvsvägen Luleå S-958 Sweden
snabbköp Berglund 8 22
6 Frankenversand Peter Franken Berliner Platz München 80805 Germany
43
7 Cardinal Tom B. Erichsen Skagen 21 Stavanger 4006 Norway
The SQL UPDATE Statement
The UPDATE statement is used to update existing records in
a table.
SQL UPDATE Syntax
UPDATE table_name SET column1=value1,column2=value2,...
WHERE some_column=some_value;
UPDATE Customers SET ContactName='Alfred Schmidt', City='Hamburg'
WHERE CustomerName='Alfreds Futterkiste';
Custo CustomerName ContactName Address City Postal Country
merID Code
1 Alfreds Futterkiste Alfred Schmidt Obere Str. 57 Hamburg 12209 Germany
2 Ana Trujillo Ana Trujillo Avda. de la México 05021 Mexico
Emparedados y Constitución D.F.
helados 2222
3 Antonio Moreno Antonio Moreno Mataderos México 05023 Mexico
Taquería 2312 D.F.
4 Around the Horn Thomas Hardy 120 Hanover London WA1 1DP UK
Sq.
5 Berglunds snabbköp Christina Berguvsvägen Luleå S-958 22 Sweden
Berglund 8
6 Frankenversand Peter Franken Berliner Platz München 80805 Germany
43
7 Cardinal Tom B. Erichsen Skagen 21 Stavang 4006 Norway
er
The SQL DELETE Statement
The DELETE statement is used to delete rows in a table.
SQL DELETE Syntax
DELETE FROM table_name WHERE some_column=some_value;
DELETE FROM Customers WHERE CustomerName='Alfreds
Futterkiste' AND ContactName='Maria Anders';
Custo CustomerName ContactName Address City Postal Country
merID Code
2 Ana Trujillo Ana Trujillo Avda. de la México D.F. 05021 Mexico
Emparedados y Constitución
helados 2222
3 Antonio Moreno Antonio Moreno Mataderos México D.F. 05023 Mexico
Taquería 2312
4 Around the Horn Thomas Hardy 120 Hanover London WA1 1DP UK
Sq.
5 Berglunds Christina Berguvsvägen Luleå S-958 22 Sweden
snabbköp Berglund 8
6 Frankenversand Peter Franken Berliner Platz München 80805 Germany
43
7 Cardinal Tom B. Erichsen Skagen 21 Stavanger 4006 Norway
The SQL LIKE Statement
The LIKE operator is used to search for a specified pattern in a
column.
SQL LIKE Syntax
SELECT column_name(s) FROM table_name
WHERE column_name LIKE pattern;
SELECT * FROM Customers WHERE City LIKE 'M%';
Customer CustomerName ContactName Address City Postal Country
ID Code
2 Ana Trujillo Ana Trujillo Avda. de México 05021 Mexico
Emparedados y la D.F.
helados Constitu
SQL LIKE Syntax
ción
2222
3 Antonio Antonio Matader México 05023 Mexico
Moreno Moreno os 2312 D.F.
Taquería
The SQL CREATE DATABASE Statement
The CREATE DATABASE statement is used to create a
database.
SQL CREATE DATABASE Syntax
CREATE DATABASE dbname;
Eg. CREATE DATABASE my_db;
The SQL CREATE TABLE Statement
The CREATE TABLE statement is used to create a table
in a database.
Tables are organized into rows and columns
Each table must have a name.
CREATE TABLE table_name
(
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size),
....
);
CREATE TABLE Persons(PersonID int,LastName varchar(255),
FirstName varchar(255),Address varchar(255),City varchar(255));
PersonID LastName FirstName Address City
The DROP TABLE Statement
The DROP TABLE statement is used to delete a table.
DROP TABLE table_name
The DROP DATABASE Statement
The DROP DATABASE statement is used to delete a
database.
DROP DATABASE database_name
The ALTER TABLE Statement
The ALTER TABLE statement is used to add, delete, or
modify columns in an existing table.
SQL ALTER TABLE Syntax
To add a column in a table:
ALTER TABLE table_name
ADD column_name datatype
To delete a column in a table:
ALTER TABLE table_name
DROP COLUMN column_name
To change the data type of a column in a table:
ALTER TABLE table_name
ALTER COLUMN column_name datatype
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
ALTER TABLE Persons ADD DateOfBirth date
P_Id LastName FirstName Address City DateOfBirth
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
ALTER TABLE Persons ALTER COLUMN DateOfBirth year
Changes the data type of the column DateOfBirth to year
ALTER TABLE Persons DROP COLUMN DateOfBirth
P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger
SQL Functions
AVG() - Returns the average value
COUNT() - Returns the number of rows
MAX() - Returns the largest value
MIN() - Returns the smallest value
SUM() - Returns the sum
SQL AVG() Syntax
SELECT AVG(column_name) FROM table_name
ProductID ProductName SupplierID CategoryID Unit Price
1 Chais 1 1 10 boxes x 20 bags 18
2 Chang 1 1 24 - 12 oz bottles 19
3 Aniseed Syrup 1 2 12 - 550 ml bottles 10
4 Chef Anton's 2 2 48 - 6 oz jars 21.35
Cajun Seasoning
5 Chef Anton's 2 2 36 boxes 25
Gumbo Mix
SELECT AVG(Price) AS PriceAverage FROM Products;
PriceAverage
18.67
Eg. SELECT ProductID,ProductName, Price FROM Products
WHERE Price>(SELECT AVG(Price) FROM Products);
ProductI ProductName Price
D
2 Chang 19
4 Chef Anton's 21.35
Cajun Seasoning
5 Chef Anton's 25
Gumbo Mix
SQL COUNT() Syntax
SELECT COUNT(column_name) FROM table_name;
SQL MAX() Syntax
SELECT MAX(column_name) FROM table_name;
SQL MIN() Syntax
SELECT MIN(column_name) FROM table_name;
End