Download: SQL

Download Report

Transcript Download: SQL

SQL
Nitin Singh/AAO RTI
ALLAHABAD
1
OBJECTIVES







What is SQL?
Types of SQL commands and their function
Query
Index
Views
Synonyms
Database transactions
Nitin Singh/AAO RTI
ALLAHABAD
2
SQL
 Sequential Query Language
 Used for authenticating,accessing,
manipulating of data from database.
Nitin Singh/AAO RTI
ALLAHABAD
3
Types of SQL Commands






Data Definition Language(DDL)
Data Manipulation Language(DML)
Data Query Language(DQL)
Data Control Language(DCL)
Data Administration Command
Transactional Control Command
Nitin Singh/AAO RTI
ALLAHABAD
4
DDL






Create Table
Alter Table
Drop Table
Create Index
Alter Index
Drop Index
Nitin Singh/AAO RTI
ALLAHABAD
5
DML
 Insert
 Update
 Delete
Nitin Singh/AAO RTI
ALLAHABAD
6
DQL
 Select Statement: Used to select rows from
a table
 Select contains following main keywords
–
–
–
–
–
SELECT
FROM
WHERE
GROUP BY
ORDER BY
Nitin Singh/AAO RTI
ALLAHABAD
7
Transactional Control Command
 Commit
 Rollback
 Savepoint
Nitin Singh/AAO RTI
ALLAHABAD
8
DCL




Alter Password
Grant
Revoke
Create Synonym
Nitin Singh/AAO RTI
ALLAHABAD
9
Data Manipulation Language
 Inserting into the table
INSERT INTO emp ( name , age , doj , phone_no)
VALUES(‘Anshuman’, 21 , 12/07/1999, ‘393751’) ;
 Updating Existing Data
UPDATE emp
SET name = ‘Sumit’
age = 31
WHERE name = ‘Anshuman’ ;
Nitin Singh/AAO RTI
ALLAHABAD
10
Data Manipulation Language
 Deleting data from table
DELETE FROM emp
WHERE name = ‘Anshuman’ ;
Nitin Singh/AAO RTI
ALLAHABAD
11
Managing Tables
 Creating A Table

CREATE TABLE emp
( name VARCHAR2(10) NOT NULL ,
age NUMBER(2)
NOT NULL ,
doj
DATE
NOT NULL )
STORAGE
(INITIAL 2K
NEXT 3K) ;
Continue……….
Nitin Singh/AAO RTI
ALLAHABAD
12
Managing Tables
 Modifying the table
ALTER TABLE emp
MODIFY (name VARCHAR2(12) NOT NULL)
ADD
phone_no VARCHAR2(10) ;
 Dropping the table
DROP TABLE emp CASCADE
Nitin Singh/AAO RTI
ALLAHABAD
13
DQL
 Selecting all the rows of table emp
– SELECT *
FROM emp
 Selecting phone no. & age of employee
Anshuman from table emp
– SELECT phone_no , age
FROM emp
WHERE name = ‘Anshuman’ ;
Nitin Singh/AAO RTI
ALLAHABAD
14
AGGREGATE FUNCTIONS
 Used to provide summarization information
for a SQL statement, such as
COUNT,TOTAL,AVERAGE .
 Aggregate functions to be covered are
–
–
–
–
–
COUNT
SUM
MAX
MIN
AVG
Nitin Singh/AAO RTI
ALLAHABAD
15
AGGREGATE FUNCTIONS
 COUNT
–
–
–
–
Used to return no. of rows .
Return a numeric value when used with a query.
Can be used with three options: */DISTINCT/ALL.
COUNT(*) counts all the rows of a table including
duplicates, whether a NULL value is contained in a
column or not.
– COUNT(ALL) counts all the rows including the
duplicates but excluding the rows containing NULL
values.
– COUNT(DISTINCT)counts all the rows excluding
the duplicate rows and the rows containing NULL
Nitin Singh/AAO RTI
16
values.
ALLAHABAD
AGGREGATE FUNCTIONS
 Usage:
– SELECT COUNT(*)
FROM emp ;
– SELECT COUNT(DISTINCT name)
FROM emp ;
– SELECT COUNT(ALL name)
FROM emp ;
Nitin Singh/AAO RTI
ALLAHABAD
17
AGGREGATE FUNCTIONS
 SUM
– Used to return a total on the values of a column
– DISTINCT can be used with SUM where only distinct column
values are to be added.
 Usage:
– SELECT SUM (age)
FROM emp ;
– SELECT SUM(DISTINCT age)
FROM emp ;
Nitin Singh/AAO RTI
ALLAHABAD
18
AGGREGATE FUNCTIONS
 AVG
– Used to find the averages for a group of rows.
– Can be used with DISTINCT command when average of
distinct rows is to be found out.
 Usage:
– SELECT AVG(age)
FROM emp ;
– SELECT AVG(DISTINCT age)
FROM emp ;
Nitin Singh/AAO RTI
ALLAHABAD
19
AGGREGATE FUNCTIONS
 MAX
– Used to return the maximum value of a column in a group
of rows.
– NULL values are ignored .
 Usage:
– SELECT MAX(age)
FROM emp ;
Nitin Singh/AAO RTI
ALLAHABAD
20
AGGREGATE FUNCTIONS
 MIN
– Used to return the minimum value of a column for a group
of rows.
– NULL values are ignored .
 Usage:
– SELECT MIN(age)
FROM emp ;
Nitin Singh/AAO RTI
ALLAHABAD
21
ACCESSING DATA FROM
MULTIPLE TABLES
 By joining the tables
 By using nested queries.
 By using compound queries
Nitin Singh/AAO RTI
ALLAHABAD
22
JOIN
 Join combines two or more tables in order
to retrieve data from multiple tables.
 Example
SELECT name , address
FROM student , stu
where student.stid = stu.stid ;
Nitin Singh/AAO RTI
ALLAHABAD
23
Sub Query
 Query within another query
 Sub query is used to return data that will be
used in the main query as a condition to
furthur restrict the data to be retrieved .
 Used with Select , Insert , Update , Delete
statements.
Nitin Singh/AAO RTI
ALLAHABAD
24
COMPOUND QUERY
 Includes two or more SELECT statements
 Formed by using
UNION,INTERSECT,EXCEPT operators.
Nitin Singh/AAO RTI
ALLAHABAD
25
INDEX
 Pointer to the database.
 When index is created , it records the location of values in
a table that are associated with the column that is indexed.
 Entries are added to the index when new data is added to
the table .
 When a query is executed against the database and a
condition is specified on a column in the WHERE clause
that is indexed, the index is first searched for the values
specified in the WHERE clause . If the value is found in
index , the index returns the exact location of the searched
data in the table.
Nitin Singh/AAO RTI
ALLAHABAD
26
INDEX
 Types of index
– Single column index
– Unique index
– Composite index

Single Column Index
– Based on only one table column

Creating Single Column Index
– CREATE INDEX name_idx
ON emp(name) ;
Nitin Singh/AAO RTI
ALLAHABAD
27
INDEX
 Unique Index
– Does not allow any duplicate values to be inserted into the
table
 Creating Unique Index
CREATE UNIQUE INDEX name1_idx
ON emp(name) ;
Nitin Singh/AAO RTI
ALLAHABAD
28
INDEX
 Composite Index
– An index on two or more columns
 Creating Composite Index
CREATE INDEX nam1_idx
ON emp(name, age) ;
Nitin Singh/AAO RTI
ALLAHABAD
29
INDEX
 Dropping the index
DROP INDEX name_idx ;
Nitin Singh/AAO RTI
ALLAHABAD
30
INDEX
 Conditions where index should be avoided
– Should not be used for small tables.
– Should not be used on the columns that contain high no. of
null values.
– Columns that are frequently manipulated should not be
indexed .
 Conditions where index should be considered
– Columns that are frequently referenced in the ORDER BY &
GROUP BY clauses should be considered for indexes.
– Indexes should be created on the columns with high no. of
unique values.
– Foreign keys are
candidates for index , as they are
Nitinexcellent
Singh/AAO RTI
31
often used to joinALLAHABAD
parent table.
VIEW




A virtual table.
Looks like a table and acts like a table.
Does not require physical storage space.
ORDER BY clause can’t be used in CREATE
VIEW but GROUP BY clause can be used
which has same effect as ORDER BY clause
Nitin Singh/AAO RTI
ALLAHABAD
32
VIEW
 Creating a view
– CREATE VIEW nam_vew AS
SELECT emp.name ,emp.age , detail.address ,
detail.status
FROM emp , detail
WITH CHECK OPTION ;
 Dropping a view
– DROP VIEW nam_vew ;
Nitin Singh/AAO RTI
ALLAHABAD
33
SYNONYM
 Another name for table or view
 Usually created so that a user can avoid
having to qualify another user’s table or
view to access the table or view.
 Creating a synonym
– CREATE SYNONYM employ FOR emp ;
 Dropping a synonym
– DROP SYNONYM employ ;
Nitin Singh/AAO RTI
ALLAHABAD
34
Managing Database Transactions
 Transaction: Sequence of work
accomplished in a logical manner.
 Commands to control transactions:
– COMMIT
– ROLLBACK
– SAVEPOINT
Nitin Singh/AAO RTI
ALLAHABAD
35
Managing Database Transactions
 Commit
• Used to save changes invoked by a transaction to the
database.
• Syntax: COMMIT[WORK] ;
 Rollback
• Used to undo transactions that have not already been
saved to the database.
• Syntax: ROLLBACK[WORK] ;
Nitin Singh/AAO RTI
ALLAHABAD
36
Managing Database Transactions
 Savepoint
• It is a point in a transaction that one can roll the
transaction back to without rolling back the entire
transaction.
• Syntax: SAVEPOINT s1 ;
 Example
SAVEPOINT s1 ;
DELETE FROM emp
WHERE name = ‘Anshuman’ ;
SAVEPOINT s2 ;
DELETE FROM emp
WHERE name = ‘Sumit’ ;
SAVEPOINT s3 ;
ROLLBACK s2;
Nitin Singh/AAO RTI
ALLAHABAD
37