SQL
Structured Query Language
SQL is a Standard - BUT....
SQL is an ANSI (American National Standards Institute) standard computer language for accessing and manipulating database systems. SQL statements are used to retrieve and update data in a database. SQL works with database programs like MS Access, DB2, Informix, MS SQL Server, Oracle, Sybase, etc. Unfortunately, there are many different versions of the SQL language, but to be in compliance with the ANSI standard, they must support the same major keywords in a similar manner (such as SELECT, UPDATE, DELETE, INSERT, WHERE, and others).
Note: Most of the SQL database programs also have their own proprietary extensions in addition to the SQL standard!
SQL 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. Below is an example of a table called "Persons":
LastName Hansen Svendson Pettersen FirstName Ola Tove Kari Address Timoteivn 10 Borgvn 23 Storgt 20 City Sandnes Sandnes Stavanger
SQL Queries
With SQL, we can query a database and have a result set returned. A query like this:
SELECT LastName FROM Persons
Gives a result set like this:
LastName Hansen Svendson Pettersen
SQL Data Manipulation Language (DML)
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
SQL Data Definition Language (DDL)
The Data Definition Language (DDL) part of SQL permits database tables to be created or deleted. We can also define indexes (keys), specify links between tables, and impose constraints between database tables. The most important DDL statements in SQL are: CREATE TABLE - creates a new database table ALTER TABLE - alters (changes) a database table DROP TABLE - deletes a database table CREATE INDEX - creates an index (search key) DROP INDEX - deletes an index
SQL The SELECT Statement
The SELECT statement is used to select data from a table. The tabular result is stored in a result table (called the result-set). Syntax
SELECT column_name(s) FROM table_name
To select the columns named "LastName" and "FirstName", use a SELECT statement like this:
SELECT LastName, FirstName FROM Persons
Persons
LastName Hansen
FirstName Ola
Address Timoteivn 10
City Sandnes
Svendson
Pettersen
Tove
Kari
Borgvn 23
Storgt 20
Sandnes
Stavanger
vsledok
LastName Hansen Svendson Pettersen
FirstName Ola Tove Kari
Select All Columns
To select all columns from the "Persons" table, use a * symbol instead of column names, like this:
SELECT * FROM Persons
LastName Hansen Svendson Pettersen
FirstName Ola Tove Kari
Address Timoteivn 10 Borgvn 23 Storgt 20
City Sandnes Sandnes Stavanger
Using the WHERE Clause
To select only the persons living in the city "Sandnes", we add a WHERE clause to the SELECT statement: SELECT * FROM Persons WHERE City='Sandnes'
LastName Hansen Svendson Svendson Pettersen LastName Hansen Svendson Svendson FirstName Ola Tove Stale Kari FirstName Ola Tove Stale Address Timoteivn 10 Borgvn 23 Kaivn 18 Storgt 20 Address Timoteivn 10 Borgvn 23 Kaivn 18 City Sandnes Sandnes Sandnes Stavanger City Sandnes Sandnes Sandnes Year 1951 1978 1980 1960 Year 1951 1978 1980
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 Pettersen FirstName Kari Address Storgt 20 City Stavanger
And this SQL statement: INSERT INTO Persons VALUES ('Hetland', 'Camilla', 'Hagabakka 24', 'Sandnes')
LastName Pettersen Hetland FirstName Kari Camilla Address Storgt 20 Hagabakka 24 City Stavanger Sandnes
Insert Data in Specified Columns
LastName
Pettersen Hetland
FirstName
Kari Camilla
Address
Storgt 20 Hagabakka 24
City
Stavanger Sandnes
And This SQL statement: INSERT INTO Persons (LastName, Address) VALUES ('Rasmussen', 'Storgt 67')
LastName
Pettersen Hetland Rasmussen
FirstName
Kari Camilla
Address
Storgt 20 Hagabakka 24 Storgt 67
City
Stavanger Sandnes
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 Nilsen Rasmussen FirstName Fred Address Kirkegt 56 Storgt 67 City Stavanger
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 Nilsen Rasmussen FirstName Fred Nina Address Kirkegt 56 Storgt 67 City Stavanger
Update several Columns in a Row
LastName Nilsen Rasmussen FirstName Fred Address Kirkegt 56 Storgt 67 City Stavanger
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 Nilsen Rasmussen FirstName Fred Nina Address Kirkegt 56 Stien 12 City Stavanger Stavanger
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
Delete a Row
LastName Nilsen Rasmussen FirstName Fred Nina Address Kirkegt 56 Stien 12 City Stavanger Stavanger
"Nina Rasmussen" is going to be deleted:
DELETE FROM Person WHERE LastName = 'Rasmussen'
LastName Nilsen FirstName Fred Address Kirkegt 56 City Stavanger
Delete All Rows
It is possible to delete all rows in a table without deleting the table. This means that the table structure, attributes, and indexes will be intact: DELETE FROM table_name Or DELETE * FROM table_name