Vous êtes sur la page 1sur 23

Structured Query Language

An Overview of SQL
SQL stands for Structured Query Language. It is the most commonly used relational database language today. SQL works with a variety of different fourth-generation (4GL) programming languages, such as Visual Basic. When a user wants to get some information from a database file, he can issue a query A query is a userrequest to retrieve data or information with a certain condition SQL is a query language that allows user to specify the conditions. (instead of algorithms)

Concept of SQL
The user specifies a certain condition.
The program will go through all the records in the database file and select those records that satisfy the condition. (searching). Statistical information of the data. The result of the query will then be stored in form of a table.

SQL Requirements
SQL Must be embedded in a programming language, or used with a 4GL like VB SQL is a free form language so there is no limit to the the number of words per line or fixed line break.

Syntax statements, words or phrases are always in lower case; keywords are in uppercase.

Not all versions are case sensitive!

SQL is a Relational Database


A Fully Relational Database Management System must:
Represent all info in database as tables
Keep logical representation of data independent from its physical storage characteristics Use one high-level language for structuring, querying, and changing info in the database Support the main relational operations Support alternate ways of looking at data in tables

Provide a method for differentiating between unknown values and nulls (zero or blank)
Support Mechanisms for integrity, authorization, transactions, and recovery

SQL

Design
SQL represents all information in the form of tables
Supports three relational operations: selection, projection, and join. These are for specifying exactly what data you want to display or use

SQL is used for data manipulation, definition and administration

Basic structure of an SQL query


General Structure Comparison Grouping Display Order Logical Operators Output Union SELECT, ALL / DISTINCT, *, AS, FROM, WHERE IN, BETWEEN, LIKE "% _" GROUP BY, HAVING, COUNT( ), SUM( ), AVG( ), MAX( ), MIN( ) ORDER BY, ASC / DESC AND, OR, NOT

INTO TABLE / CURSOR TO FILE [ADDITIVE], TO PRINTER, TO SCREEN UNION

Table Design
Columns describe one characteristic of the entity Rows describe the Occurrence of an Entity

Name Jane Doe John Smith Mary Poe

Address 123 Main Street 456 Second Street 789 Third Ave

Data Retrieval (Queries)


Queries search the database, fetch info, and display it. This is done using the keyword SELECT SELECT * FROM publishers
pub_id
0736 0987 1120

pub_name
New Age Books Binnet & Hardley Algodata Infosys

address
1 1st Street 2 2nd Street 3 3rd Street

state
MA DC CA

The Operator asks for every column in the table.

Data Retrieval (Queries)


Queries can be more specific with a few more lines
SELECT * from publishers where state = CA
pub_id
0736 0987 1120

pub_name
New Age Books Binnet & Hardley Algodata Infosys

address
1 1st Street 2 2nd Street 3 3rd Street

state
MA DC CA

Only publishers in CA are displayed

Data Input
Putting data into a table is accomplished using the keyword INSERT
INSERT INTO publishers VALUES (0010, pragmatics, 4 4th Ln, chicago, il) Keyword

Variable

pub_id 0736 0010 0987 0736 1120 0987 1120

pub_name New Age Books Pragmatics Binnet & Hardley New Age Books Algodata Hardley Binnet & Infosys Algodata Infosys

address 1 1st Street 4 4th Ln 2 2nd Street 1 1st Street 3 3rd Street 2 2nd Street 3 3rd Street

state MA IL DC MA CA DC CA

Table is updated with new information

Types of Tables
There are two types of tables which make up a relational database in SQL
User Tables: contain information that is the database management system System Tables: contain the database description, kept up to date by DBMS itself Relation Table
Tuple Attribute Row Column

Using SQL
SQL statements can be embedded into a program (cgi or perl script, Visual Basic, MS Access)
OR SQL statements can be entered directly at the command prompt of the SQL software being used (such as mySQL)

Using SQL
To begin, you must first CREATE a database using the following SQL statement:

CREATE DATABASE database_name


Depending on the version of SQL being used the following statement is needed to begin using the database:

USE database_name

Using SQL
To create a table in the current database, use the CREATE TABLE keyword CREATE TABLE authors (auth_id int(9) not null, auth_name char(40) not null)
auth_id (9 digit int) auth_name (40 char string)

Using SQL
To insert data in the current table, use the keyword INSERT INTO
INSERT INTO authors values(000000001, John Smith)

Then issue the statement


SELECT * FROM authors
auth_id 000000001 auth_name John Smith

Using SQL
If you only want to display the authors name and city from the following table:
auth_id auth_name auth_city Dearborn Taylor auth_state MI MI 123456789 Jane Doe 000000001 John Smith

SELECT auth_name, auth_city FROM publishers


auth_name Jane Doe
John Smith

auth_city Dearborn
Taylor

Using SQL
To delete data from a table, use the DELETE statement: DELETE from authors WHERE auth_name=John Smith
auth_id auth_name auth_city Dearborn Taylor auth_state MI MI

123456789 Jane Doe 000000001 John Smith

Using SQL
To Update information in a database use the UPDATE keyword UPDATE authors SET auth_name=hello
auth_id auth_name auth_city Dearborn Taylor auth_state MI MI

Hello 123456789 Jane Doe Hello 000000001 John Smith

Sets all auth_name fields to hello

Using SQL
To change a table in a database use ALTER TABLE. ADD adds a characteristic.
Type ALTER TABLE authors ADD birth_date datetime null Initializer

auth_id

auth_name

auth_city Dearborn Taylor

auth_state MI MI

birth_date . .

123456789 Jane Doe 000000001 John Smith

ADD puts a new column in the table called birth_date

Using SQL
To delete a column or row, use the keyword DROP ALTER TABLE authors DROP birth_date
auth_id auth_name auth_city Dearborn Taylor auth_state MI MI auth_state . .

123456789 Jane Doe 000000001 John Smith

DROP removed the birth_date characteristic from the table

Using SQL
The DROP statement is also used to delete an entire database. DROP DATABASE authors
auth_id auth_name auth_city Dearborn Taylor auth_state MI MI

123456789 Jane Doe 000000001 John Smith

DROP removed the database and returned the memory to system

Conclusion
SQL is a versatile language that can integrate with numerous 4GL languages and applications SQL simplifies data manipulation by reducing the amount of code required.
More reliable than creating a database using files with linked-list implementation

Vous aimerez peut-être aussi