You are on page 1of 32

Database concepts

SQL
Introduction
 The SQL is a two in one language containing both the
DDL and the DML.
 The data definition language(DDL) is used define the
structure of the data , modify the data and specify
security constraints on the data.
 The DML manipulates the data that is in database. For
instance one can use the DML to extract certain
information that he/she needs from a database.
DDL
 The CREATE TABLE c0mmand is used to specify a
new relation by giving it a name and specifying its
attributes and constraints.
 The attributes are specified first and each attribute is
given a name, a data type to specify its domain of
values and possible some constraint.
 The key attributes , entity integrity and referential
integrity constraints are then specified.
DDL1
 The data types available for the attributes include
numeric, character-string , bit string , date and time.
 Numeric – INTEGER
 DATE
 TIME
 DECIMAL (i,j) were i the total number of decimal
digits and j is the number of digits after the decimal
point.
 SQL allows NULLs to be specified as attribute values, a
constant NOT NULL can be specified if NULL is not
permitted for that attribute.
DDL cont2
 It is also possible to define a default value for an
attribute by appending the clause DEFAULT <value>
to an attribute definition.
 The PRIMARY KEY clause specifies one or more
attributes that make up the primary key of a relation.
 The UNIQUE clause specifies alternate keys
 Referential integrity is specified via the FOREIGN key
clause .
 A referential integrity can be violated when tuples are
inserted or deleted or when a foreign key attribute
value is modified.
Basic Queries in SQL
 A database most often contains one or more tables
each identified by a name (relation).
 The table consists of columns(attributes) and
rows(tuples).
 Below is an example of a Table called PERSONS
SQL database tables
Person

LastName FirstName Address City


Smith John 11 home avenue Bulawayo

Dube Sam 54 home crescent Bulawayo

Kelly Joseph 43 masasa park Harare


SQL queries
 The result of an SQL query is another table or relation.
 With an sql query like this:
SELECT LastName FROM Person
Gives a result like this:

LastName
Smith
Dube

Kelly
SQL data manipulation
language
 SQL (Structured Query Language) is a syntax for executing
queries. But the SQL language also includes a syntax to
update, insert, and delete records.
 These query and update commands together form the Data
Manipulation Language (DML) part of SQL:

 SELECT - extracts data from a database table


 UPDATE - updates data in a database table
 DELETE - deletes data from a database table
 INSERT INTO - inserts new data into a database table
The SELECT statement
 The select statement is formed of three clauses,
SELECT, FROM and WHERE and has the following
form:
SELECT <attribute list>
FROM <table list>
WHERE<condition>
Where:
 <attribute list> is a list of attribute names whose values
are to be retrieved by the query.
 <table list>is a list of relation names required to
process the query.
To select all the last names and first names of people
from the Persons table
we use the following statement
 SELECT LastName,FirstName,
 FROM Person

LastName FirstName
Smith John
Dube Sam
Kelly Joseph
Select all columns
 To select all columns from the "Persons" table, use a *
symbol instead of column names, like this:
SELECT * FROM Persons
The SELECT DISTINCT Statement
The DISTINCT keyword is used to return only distinct
(different) values.
The SELECT statement returns information from table
columns.
What if we only want to select distinct elements?
With SQL, all we need to do is to add a DISTINCT keyword to
the SELECT statement:

Syntax
SELECT DISTINCT column_name(s)
FROM table_name
Using the DISTINCT keyword
To select ALL values from the column named "Company" we use a SELECT
statement like this:
SELECT Company FROM Orders

Orders
Company
Sega
Company OrderNumber
W3Schools
Sega 3412
Trio
W3Schools 2312
W3Schools
Trio 4678
W3Schools 6798
Note that "W3Schools" is listed twice in the result-set.
To select only DIFFERENT values from the column named
"Company" we use a SELECT DISTINCT statement like this:
SELECT DISTINCT Company FROM Orders

Orders
Company
Sega
Company OrderNumber W3Schools
Sega 3412 Trio
W3Schools 2312
Trio 4678
W3Schools 6798
Select All Columns
The WHERE clause is used to specify a selection criterion.
The WHERE Clause
To conditionally select data from a table, a WHERE clause can be added to the
SELECT statement.

Syntax
SELECT column FROM table
WHERE column operator value
With the WHERE clause, the following operators can be used:

Operator Description
= Equal
<> Not equal
> Greater than
< Less than
>= Greater than or equal
<= Less than or equal
BETWEEN Between an inclusive range
LIKE Search for a pattern

Note: In some versions of SQL the <> operator may be written as !=


Using the WHERE clause
 To select people who live in Bulawayo only , we use the
WHERE clause in the SELECT statement.
SELECT * FROM Persons
WHERE city = ‘Bulawayo’

LastName FirstName Address City


Smith John 11 home avenue Bulawayo

Dube Sam 54 home crescent Bulawayo

Kelly Joseph 43 masasa park Bulawayo

Zhou Tinashe 12 home street Harare


Output from the query
Bulawayo

LastName FirstName Address City


Smith John 11 home avenue Bulawayo
Dube Sam 54 home crescent Bulawayo
Kelly Joseph 43 masasa park Bulawayo
Using Quotes
Note that we have used single quotes around the conditional values in the
examples.
SQL uses single quotes around text values (most database systems will also
accept double quotes). Numeric values should not be enclosed in quotes.
For text values:
This is correct:
SELECT *
FROM Persons
WHERE FirstName=‘Sam'

This is wrong:
SELECT *
FROM Person
WHERE FirstName=Sam
Cont
 This is also incorrect
 Select * Lastname, Firstname
From Person
Where city = ‘hre’

Select< Firstname, lastname>


From <Person>
Where age = ‘18’
NB : please take note of what is the correct way of writing
SQL statements and what is incorrect.
SQL The INSERT INTO
Statement
The INSERT INTO Statement
The INSERT INTO statement is used to insert new rows into a table.

Syntax
INSERT INTO table_name
VALUES (value1, value2,....)

You can also specify the columns for which you want to insert data:
INSERT INTO table_name (column1, column2,...)
VALUES (value1, value2,....)
Insert a New Row
LastName FirstName Address City

Pettersen Kari Storgt 20 Stavanger

And this SQL statement:


INSERT INTO Persons
VALUES ('Hetland', 'Camilla', 'Hagabakka 24', 'Sandnes')

LastName FirstName Address City

Pettersen Kari Storgt 20 Stavanger

Hetland Camilla Hagabakka 24 Sandnes


Insert Data in Specified
ColumnsLastName FirstName Address City

Pettersen Kari Storgt 20 Stavanger

Hetland Camilla Hagabakka 24 Sandnes

And This SQL statement:


INSERT INTO Persons (LastName, Address)
VALUES ('Rasmussen', 'Storgt 67')

LastName FirstName Address City


Pettersen Kari Storgt 20 Stavanger
Hetland Camilla Hagabakka 24 Sandnes
Rasmussen Storgt 67
SQL The UPDATE Statement
The Update Statement
The UPDATE statement is used to modify the data in a table.
Syntax
UPDATE table_name
SET column_name = new_value
WHERE column_name = some_value
Update one Column in a Row
LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Storgt 67

We want to add a first name to the person with a last name of "Rasmussen":
UPDATE Person
SET FirstName = 'Nina'
WHERE LastName = 'Rasmussen'

LastName FirstName Address City


Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Nina Storgt 67
Update several Columns in a
Row
LastName FirstName Address City
Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Storgt 67

We want to change the address and add the name of the city:
UPDATE Person
SET Address = 'Stien 12', City = 'Stavanger'
WHERE LastName = 'Rasmussen'

LastName FirstName Address City


Nilsen Fred Kirkegt 56 Stavanger
Rasmussen Nina Stien 12 Stavanger
Cont
 If Nina has changed city to another city for instance
Montrose we write the following SQL statement to
reflect this change.

 Update Person
 Set city = ‘ Montrose’
 Where Firstname = ‘Nina’
SQL The Delete Statement
The Delete Statement
The DELETE statement is used to delete rows in a table.
Syntax
DELETE FROM table_name
WHERE column_name = some_value

You might also like