0% found this document useful (0 votes)
54 views33 pages

SQL - Day 5 Singlerowfunction & Sub Languages

The document outlines various single row functions in SQL, including LENGTH, CONCAT, UPPER, LOWER, INITCAP, REVERSE, SUBSTR, INSTR, REPLACE, MOD, TRUNC, ROUND, MONTHS_BETWEEN, LAST_DAY, TO_CHAR, and NVL. Each function is described with its purpose, syntax, and examples of usage. Additionally, it provides practical SQL queries to demonstrate how these functions can be applied to manipulate and analyze string and numeric data.

Uploaded by

rapakareehanth
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
54 views33 pages

SQL - Day 5 Singlerowfunction & Sub Languages

The document outlines various single row functions in SQL, including LENGTH, CONCAT, UPPER, LOWER, INITCAP, REVERSE, SUBSTR, INSTR, REPLACE, MOD, TRUNC, ROUND, MONTHS_BETWEEN, LAST_DAY, TO_CHAR, and NVL. Each function is described with its purpose, syntax, and examples of usage. Additionally, it provides practical SQL queries to demonstrate how these functions can be applied to manipulate and analyze string and numeric data.

Uploaded by

rapakareehanth
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

SINGLE ROW FUNCTIONS

1. LENGTH( ) NOTE : DUAL TABLE


2. CONCAT( ) It is a DUMMY table which has 1 col and 1 row .
3. UPPER( ) Which is used to output the result .
4. LOWER( )
5. INITCAP( ) ➢ DESC DUAL ;
6. REVERSE( )
7. SUSBTR( ) ➢ SELECT *
8. INSTR( ) FROM DUAL ;
9. REPLACE( )
10. MOD( )
11. TRUNC( ) 2. CONCAT( ) : "It is used to join the given two strings '
12. ROUND( )
13. MONTHS_BETWEEN( ) SYNTAX : CONCAT ( 'string1' , 'String2' )
14. LAST_DAY( )
15. TO_CHAR( ) Example :
16. NVL( ) NULL VALUE LOGIC
Input : Smith
1. LENGTH : "It is used to count the number of characters present Output : Mr. Smith
In the given string ".
SELECT CONCAT( 'Mr. ' , ENAME )
SYNTAX: LENGTH ( 'string' ) FROM EMP
WHERE ENAME ='SMITH' ;
Example :
3. UPPER( ) : "It is used to convert a given string to upper case "
➢ WAQT count number of characters present in 'SMITH' .
SYNTAX: UPPER ( 'string' )
SELECT LENGTH ( ENAME )
FROM EMP LENGTH(ENAME) 4. LOWER( ) :"It is used to convert a given string to lower case "
WHERE ENAME ='SMITH' ;
5
SYNTAX: LOWER( 'string' )
SELECT LENGTH( 'SMITH' )
FROM DUAL ;
5. INITCAP( ):"It is used to convert a given string to initial capital letter
SELECT LENGTH( 'HELLO WORLD' ) 11 case ".
FROM DUAL;
SYNTAX: INITCAP( 'string' )
e -7 -6 -5 -4 -3 -2 -1

6. REVERSE( ): "It is used to reverse a given string ". Q S P I D E R


e 1 2 3 4 5 6 7
SYNTAX: REVERSE( 'string' )
Example : SUBSTR( 'QSPIDER' , 2 , 3 ) SPI
Example : Example : SUBSTR( 'QSPIDER' , 3 , 3 ) PID
REVERSE( 'SMITH' )
Example : SUBSTR( 'QSPIDER' , 2 ) SPIDER
SELECT REVERSE( 'SMITH' ). HTIMS
FROM DUAL ; Example : SUBSTR( 'QSPIDER' , 1 , 6 ) QSPIDE
UPPER( 'smith' ) Example : SUBSTR( 'QSPIDER' , 4, 1) I
SELECT UPPER( 'smith' ). Example : SUBSTR( 'QSPIDER' , 1 , 1 ) Q
SMITH
FROM DUAL ;
Example : SUBSTR( 'QSPIDER' , 7 , 1) R
SELECT LOWER( 'SMITH' ). LOWER( 'SMITH' ) Example : SUBSTR( 'QSPIDER' , 6 ) ER
FROM DUAL ; smith Example : SUBSTR( 'QSPIDER' , 0 , 3 ) QSP
Example : SUBSTR( 'QSPIDER' , 6 , 6 ) ER
SELECT INITCAP( 'SMITH' ).
FROM DUAL ; INITCAP( 'SMITH' ) Example : SUBSTR( 'QSPIDER' , -2 , 1 ) E
Smith Example : SUBSTR( 'QSPIDER' , -5 , 3 ) PID
Example : SUBSTR( 'QSPIDER' , -7 , 2 ) QS
7. SUBSTR : "It is used to extract a part of string from the given Example : SUBSTR( 'QSPIDER' , -1 ) R
Original string " .

➢ WAQT extract first 3 characters of the emp names .


SYNTAX: SUBSTR ( 'Original_String' , Position [ , Length ] )
SELECT SUBSTR(ENAME, 1,3)
NOTE: Length is not mandatory , FROM EMP;
Example : If length is not mentioned then

➢ WAQT extract last 3 characters of the employee names .

SELECT SUBSTR(ENAME, -3 )
FROM EMP;
➢ WAQT to display first half of employee names . ➢ WAQT to display second half of employee names .

ENAME OUTPUT
ENAME OUTPUT
SMITH ITH
SMITH SM
MILLER LER
MILLER MIL
JONES NES
JONES JO
WARD RD
WARD WA
8. REPLACE ( ) : "It is used to replace a string with another string in
SELECT SUBSTR( ENAME , 1 , LENGTH( ENAME ) / 2 ) The original string.
FROM EMP ; Null
SYNTAX:REPLACE ( 'Original_String' , 'string' [, 'new_String' ] )
SMITH SUBSTR( ENAME , 1 , LENGTH( ENAME ) / 2 )
Example : REPLACE ( 'BANANA' , 'A' , 'C' ) BCNCNC
SUBSTR( 'SMITH' , 1 , LENGTH ( 'SMITH' ) / 2 )
Example : REPLACE ( 'BANANA' , 'N' , 'ABC' ) BAABCAABCA
SUBSTR( 'SMITH' , 1 , 5 / 2 )
Example : REPLACE ( 'OPPO' , 'O' , 'J' ) JPPJ
SUBSTR( 'SMITH' , 1 , 2 )
Example : REPLACE ( 'BANANA' , 'A' ) BNN
SM
Example : REPLACE ( 'ENGINEERING' , 'E' ) NGINRING
Example : REPLACE ( 'ENGINEERING' , 'E' , '123' ) 123N123123GINRING
WARD SUBSTR( ENAME , 1 , LENGTH( ENAME ) / 2 )
SUBSTR( 'WARD' , 1 , LENGTH ('WARD' ) / 2 )
SUBSTR( 'WARD' , 1 , 4 / 2 ) NOTE : if the third argument is not mentioned the default
SUBSTR( 'WARD' , 1 , 2 ) Value of it is Null .
WA
1. WAQTD the number of times char 'A' is present in BANANA !!!

2. WAQTD to count number of time 'A' is present in SELECT LENGTH('BANANA') - LENGTH ( REPLACE( 'BANANA','A' )
FROM DUAL ;
'MALAYALAM' Length ( 'BANANA' ) - LENGTH( REPLACE('BANANA','A') )
Length ('BANANA') - LENGH ('BNN' )
SELECT LENGTH('MALAYALAM') - LENGTH ( REPLACE( 6-3
'MALAYALAM','A' ) = 3 times 'A' is present in BANANA
FROM DUAL ;
9. INSTR ( ) : "it is used to obtain the position in which the string is present in the Original string ".
It is used to search for a string in the Original string if present it returns the POSITION
Else it returns 0 ".

Syntax: INSTR( 'Original_String' , 'String' , Position [, Occurrence] )

Note : if occurrence is not Mentioned then , the default value of Occurrence is 1 .

B A N A N A
1 2 3 4 5 6

Example : INSTR( 'BANANA' , 'A' , 1 , 1 ) POS: 2


Example : INSTR( 'BANANA' , 'A' , 2 , 1 ) POS: 2
Example : INSTR( 'BANANA' , 'A' , 1 , 2 ) POS: 4
Example : INSTR( 'BANANA' , 'A' , 1 , 3 ) POS: 6
Example : INSTR( 'BANANA' , 'A' , 1 , 4 ) POS: 0
Example : INSTR( 'BANANA' , 'A' , 4 , 2 ) POS: 6
Example : INSTR( 'BANANA' , 'A' , 2 ) POS: 2
Example : INSTR( 'BANANA' , 'N' , 2 , 1) POS: 3
Example : INSTR( 'BANANA' , 'O' , 1 ,1 ) POS: 0
Example : INSTR( 'BANANA' , 'NA' , 2 , 2 ) POS: 5
Example : INSTR( 'BANANA' , 'A' , 3 , 3 ) POS: 0
Example : INSTR( 'BANANA' , 'ANA' , 1 , 2 ) POS: 4
1. WAQTD NAMES OF THE EMPLOYEES IF THEY HAVE CHAR 'A' PRESENT IN THEIR NAMES

SELECT ENAME
FROM EMP
WHERE INSTR( ENAME , 'A' , 1 ,1 ) > 0 ;

2. WAQTD NAMES OF THE EMPLOYEES IF THEY HAVE CHAR 'A' PRESENT ATLEAST TWICE IN
THEIR NAMES

SELECT ENAME
FROM EMP
WHERE INSTR( ENAME , 'A' , 1 , 2 ) > 0 ;

3. WAQTD NAMES OF THE EMPLOYEES IF THEY HAVE CHAR 'A' PRESENT ATLEAST THRICE IN
THEIR NAMES

SELECT ENAME
FROM EMP
WHERE INSTR( ENAME , 'A' , 1 , 3 ) > 0 ;
4.) WAQTD NAMES OF THE EMPLOYEES IF THEY HAVE CHAR 'A' EXACTLY TWICE

SELECT ENAME
FROM EMP
WHERE INSTR( ENAME , 'A' , 1 , 2 ) > 0 AND INSTR( ENAME , 'A' , 1 , 3 ) = 0 ;

OR

SELECT ENAME
FROM EMP
WHERE ( LENGTH( ENAME ) - LENGTH( REPLACE( ENAME ,'A') ) ) = 2;

ALLEN INSTR('ALLEN','A',1,2) Pos:0 INSTR('ALLEN','A',1,3) Pos:0


ADAMS INSTR('ADAMS','A',1,2) Pos:3 INSTR('ADAMS','A',1,3) Pos:0
AATISH INSTR('AATISH','A',1,2) Pos:2 INSTR('AATISH','A',1,3) Pos:0
AAA INSTR('AAA' ,'A',1 ,2) Pos:2 INSTR('AAA' ,'A',1 ,3) Pos:3
MALAYALAM INSTR('MALAYALAM' , 'A' , 1, 2 ) Pos:4 INSTR('MALAYALAM' , 'A' , 1, 3 ) Pos:6

ALLEN LENGTH( 'ALLEN' ) - LENGTH( REPLACE( 'ALLEN' ,A' ) ) =2


5 - LENGTH( 'LLEN' )
5-4
1 != 2
ADAMS 5 - LENGTH('DMS' )
5-3
2 =2
AAAAO 5 - LENGTH('O')
5-1
4 != 2
SINGLE ROW FUNCTIONS
10. MOD( ) : "It is used to obtain modulus/remainder of the given number "
10. MOD( )
11. TRUNC( ) Syntax: MOD ( m , n ) n)m(
12. ROUND( )
Example : SELECT MOD( 5 , 2 )
13. MONTHS_BETWEEN( ) FROM DUAL ; 1
14. LAST_DAY( )
15. TO_CHAR( ) 1 . WAQTD ENAMES OF THE EMPLOYEES WHO EARN SALARY IN MULTIPLES OF 3
16. NVL( )
SELECT ENAME
FROM EMP
WHERE MOD( SAL , 3 ) = 0 ;

2. WAQTD DETAILS OF THE EMPLOYEE WHO HAVE ODD EID

SELECT *
FROM EMP
WHERE MOD( EID , 2 ) = 1 ;

Syntax: ROUND ( Number [, Scale ] ) The default value of scale is 0

Example : ROUND ( 5.6 ) 6


Example : ROUND ( 5.5 ) 6 LHS RHS
Example : ROUND ( 5.4 ) 5
Example : ROUND ( 9.9 ) 10 Before the Decimal After the Decimal
Example : ROUND ( 9.4 ) 9
-ve SCALE +ve SCALE
Example : ROUND (8.6 , 0 ) 9
Decimal
11. ROUND( ) : " It is used to Round-off the given number
based on the scale value "

Syntax: ROUND ( Number [, Scale ] ) The default value of scale is 0

Example : ROUND ( 5.6 ) 6


Example : ROUND ( 5.5 ) 6 LHS RHS
Example : ROUND ( 5.4 ) 5
Example : ROUND ( 9.9 ) 10 Before the Decimal After the Decimal
Example : ROUND ( 9.4 ) 9
-ve SCALE +ve SCALE
Example : ROUND (8.6 , 0 ) 9
Decimal

When the scale is -ve it indicated the digits before the decimal ROUND ( 8421 .12 , -1 )
And the digit count begins from 1 .

Example : ROUND ( 8421 .12 , -1 ) 8420


5.6 6 Rounding off to units place
Example : ROUND ( 8426 .12 , -1 ) 8430
Example : ROUND ( 15426 4.12 , -2 ) 154300
Example : ROUND ( 338 222 , -4 ) 340000
Example : ROUND ( 25 14 , -3 ) 3000
And the digit count begins from 0 .
When the scale is +ve it indicated the digits after the decimal
And the digit count begins from 0 . Example : ROUND ( 124.2 3541 , 0 ) 124 ( 124.23541 , 0 ) = 124
Example : ROUND ( 124. 23 541 , 1 ) 124.2 ( 124.23541 , 1 ) = 124.2
Example : ROUND ( 124.23541 , 0 ) 124 ( 124.23541 , 0 ) = 124
Example : ROUND ( 124. 235 41 , 2 ) 124.24
( 123.6712638723 , 6 ) =
Example : ROUND ( 124. 235439 1 , 5 ) 124.23544 123.671264
Syntax: TRUNC( Number [, Scale ] )

Example : TRUNC ( 5.6 ) 5


Example : TRUNC ( 5.5 ) 5
Example : TRUNC ( 5.4 ) 5 NOTE :
Example : TRUNC ( 9.9 ) 9 DATE COMMANDS :
Example : TRUNC ( 9.4 ) 9 i. SYSDATE : " it is used to obtain Todays Date "
ii. CURRERNT_DATE : " it is also used to obtain todays date "
Example : TRUNC (8.6 , 0 ) 8
iii. SYSTIMESTAMP : "It is used to obtain date , time and time zone "
Example: TRUNC( 45 1258.32541 , -5) 400000
SQL> SELECT SYSDATE
2 FROM DUAL ;

SYSDATE

17-MAY-20

SQL> SELECT CURRENT_DATE


2 FROM DUAL ;
CURRENT_D

17-MAY-20

SQL> SELECT SYSTIMESTAMP


2 FROM DUAL ;

SYSTIMESTAMP

17-MAY-20 05.05.52.356000 PM +05:30


13. MONTHS_BETWEEN( ) :"It is used to Obtain the number of months present between the
Given two dates "

Syntax: MONTHS_BETWEEN ( DATE1 , DATE2 )

SELECT TRUNC( MONTHS_BETWEEN( SYSDATE , HIREDATE ) ) || ' Months'


FROM EMP

TRUNC(MONTHS_BETWEEN(SYSDATE,HIREDATE))||'MONTH

473 Months
470 Months

14. LAST_DAY( ): " it is used to Obtain the last day in the particular of the given date" .

Syntax: LAST_DAY( DATE ) ;

SQL> SELECT LAST_DAY( SYSDATE ) SYSDATE = 08-JUL-2020


2 FROM DUAL ;

LAST_DAY

31-JUL-20
Syntax: TO_CHAR( DATE , 'Format _ Models')
Format Models :
i. YEAR : TWENTY TWENTY
ii. YYYY : 2020
iii. YY : 20
iv. MONTH : JULY
v. MON : JUL
vi. MM : 07
vii. DAY : WEDNESDAY
viii. DY : WED
ix. DD : 08
x. D : 4 ( day of the week )
xi. HH24 : 17 hours
xii. HH12 : 5 hours
xiii. MI : 22 minutes
xiv. SS : 53 seconds
xv. 'HH12:MI:SS' : 5 : 22 : 53
xvi. 'DD-MM-YY' : 17 - 05 - 20
xvii. 'MM-DD-YYYY' : 05 - 17 - 2020
A 500 + NVL ( 100 , 0 ) 500 + 100 600
16. NVL( ) : [ NULL VALUE LOGIC ] " It is used to eliminate the side effects of using null in arithmetic B 1000 + NVL ( null , 0 ) 1000 + 0 1000
operations " . C 2000 + NVL ( 200 , 0 ) 2000+200 2200
D 2000 + NVL( null , 0 ) 2000 + 0 2000
WAQTD NAME AND TOTAL SALALRY OF ALL THE EMPLOYEES?
ENAME SAL COMM After using NVL
SELECT ENAME , SAL + COMM
A 500 100 ENAME SAL+nvl(COMM ,0)
FROM EMP ;
B 1000 NULL A 600
C 2000 200 B 1000
D 2000 NULL ENAME SAL+COMM
C 2200
A 600
D 2000
B NULL
1. List employees whose name having 4 characters
C 2200 SELECT * FROM EMP
D NULL WHERE LENGTH(ENAME)=4 ;

2. List employees whose job is having 7 characters


Null value logic : Syntax : NVL ( Argument1 , Argument2 )
SELECT *
FROM EMP
Argument 1 : Here write any column / exp which can result In null . WHERE LENGTH(JOB)=4;
Argument 2 : Here we write a numeric value which will be substituted
if argument 1 results in Null , 3. Find out how many times letter 'S' occurs in 'qspiders'
If argument 1 is NOT NULL then the same value will be considered . SELECT LENGTH('QSPIDERS') - LENGTH( REPLACE( 'QSPIDERS' , 'S' ) )
FROM DUAL ;

4. List the employees whose job is having last 3 characters as 'man'


SELECT ENAME , SAL + NVL ( COMM , 0 )
SELECT *
FROM EMP ;
FROM EMP
WHERE SUBSTR( JOB , -3 ) = 'MAN' ;

5. List employees whose job is having first 3 characters as 'man'.


SELECT *
FROM EMP
WHERE SUBSTR( JOB , 1 , 3 ) = 'MAN' ;
STATEMENTS ARE CLASSIFIED INTO 5 DIFFERENT TYPES
➢ DATA DEFINITION LANGUAGE ( DDL ) [ [Link]]
➢ DATA MANIPULATION LANGUAGE ( DML )
➢ TRANSACTION CONTROL LANGUAGE ( TCL )
➢ DATA CONTROL LANGUAGE ( DCL )
➢ DATA QUERY LANGUAGE ( DQL )

1. DATA DEFINITION LANGUAGE ( DDL ):


" DDL is used to construct an object in the database and deals with the Structure of the Object "

It has 5 statements :
1. CREATE
2. RENAME
3. ALTER
4. TRUNCATE
5. DROP

1. CREATE : " IT IS USED TO BUILD / CONSTRUCT AN OBJECT "

Object / Entity can be a Table or a View ( Virtual Table ) .

How to Create a Table :

➢ Name of the table


🞂 Tables cannot have same names .
➢ Number of Columns .
➢ Names of the columns .
➢ Assign datatypes for the Columns.
➢ Assign Constraints [ NOT MANDATORY ] .
Example :
Example 1:
CREATE TABLE CUSTOMER
Table_Name : CUSTOMER (
Number of Columns : 4 CID Number(2) primary key ,
CNAME Varchar(10) ,
Customer CNO Number(10) not null check( length( CNO ) = 10 ) ,
Column_Name CID CNAME CNO ADDRESS ADDRESS Varchar(15)
Datatypes Number(2) Varchar(10) Number (10) Varchar(15) );
Null / Not Null Not Null Not Null Not Null Null
Unique Unique Unique
Check Check ( length( CNO ) = 10 )
Primary Key Primary Key

Not Mandatory
Syntax to create a table :

CREATE TABLE Table_Name CREATE TABLE CUSTOMER_DATA


( (
Column_Name1 datatype constraint_type , CID NUMBER(3) PRIMARY KEY,
Column_Name2 datatype constraint_type , CUST_NAME VARCHAR(25) NOT NULL,
Column_Name3 datatype constraint_type , CUST_MOB NUMBER(10) NOT NULL CHECK(LENGTH(CUST_MOB)=10),
. CUST_ADD VARCHAR(100) NULL
. );
Column_NameN datatype constraint_type
);
Syntax to create a table :
NOTE : To Describe the table: CREATE TABLE Table_Name (
Column_Name1 datatype constraint_type ,
Syntax: DESC Table_Name ; Column_Name2 datatype constraint_type ,
CID Column_Name3 datatype constraint_type ,
.
Example 2: .
Column_NameN datatype ,
Table_Name : PRODUCT Constraint Foreign key references Parent_Table_Name(Column_Name)
Number of Columns : 4 );

Product

Column_Name PID PNAME PRICE CID


CREATE TABLE CUSTOMER_DATA
Datatypes Number(2) Varchar(10) Number (7,2) Number(2) (
Null / Not Null Not Null Not Null Not Null Null CID NUMBER(3) PRIMARY KEY,
CUST_NAME VARCHAR(25) NOT NULL,
Unique Unique
CUST_MOB NUMBER(10) NOT NULL CHECK(LENGTH(CUST_MOB)=10),
Check Check ( Price > 0 ) CUST_ADD VARCHAR(100) NULL
Primary Key Primary Key );

Foreign Key Foreign Key

Example :

CREATE TABLE PRODUCT (


PID Number(2) primary key , PNAME
Varchar(10) NOT NULL,
PRICE Number(7,2) NOT NULL check( Price> 0) ,
CID Number(2) ,
Constraint CID_FK Foreign Key(PID) references CUSTOMER_DATA( CID )
);
[Link] : "IT IS USED TO CHANGE THE NAME OF THE OBJECT "
Syntax: RENAME Table_Name TO New_Name ; ➢ TO RENAME A COLUMN :

Example : Syntax: ALTER TABLE Table_Name


RENAME Customer TO Cust ; RENAME COLUMN Column_Name TO new_Column_Name ;

3. ALTER :" IT IS USED TO MODIFY THE STRUCTURE OF THE TABLE " Example : ALTER TABLE Cust
RENAME COLUMN CNO TO PHONE_NO ;
➢ TO ADD A COLUMN :
➢ TO MODIFY THE DATATYPE : EARLIER : CUST_NAME VARCHAR(25) NOT NULL
Syntax: ALTER TABLE Table_Name
ADD Column_Name Datatype Constraint_type ; Syntax: ALTER TABLE Table_Name
MODIFY COLUMN_NAME New_Datatype;
Example : ALTER TABLE CUSTOMER
ADD MAIL_ID VARCHAR(40) NULL;
TO DROP A COLUMN : Example : ALTER TABLE CUSTOMER
MODIFY CUST_NAME
VARCHAR(30) ;
Syntax: ALTER TABLE Table_Name
DROP COLUMN Column_Name ; ➢ TO MODIFY NOT NULL CONSTRAINTS :

Example : Syntax: ALTER TABLE Table_Name


ALTER TABLE CUSTOMER DROP MODIFY COLUMN_NAME Existing_datatype [NULL]/NOT NULL;
COLUMN MAIL_ID;
Example : ALTER TABLE CUSTOMER
MODIFY CUST_ADD Varchar(50) Not Null ;
4. TRUNCATE : " IT IS USED TO REMOVE ALL THE RECORDS FROM THE 5. DROP :" IT IS USED TO REMOVE THE TABLE FROM THE DATABASE "
TABLE PREMANENTLY "
Syntax: TRUNCATE TABLE Table_Name ; Syntax: DROP TABLE Table_Name ;
Example :
Cust DATABASE
Bin Folder
Cid Cname Phone_no Address Cust
1 A 1234567890 BANGALORE Cid Cname Phone_no Address
2 B 1234567899 MYSORE 1 A 1234567890 BANGALORE DROP Bin$123abc
3 C 1234567880 MANGALORE 2 B 1234567899 MYSORE Address
3 C 1234567880 MANGALORE
Example : TRUNCATE TABLE Cust ;

Cust
TO RECOVER THE TABLE :
Cid Cname Phone_no Address
Syntax: FLASHBACK TABLE Table_Name
TO BEFORE DROP ;
TO RECOVER THE TABLE :
NOTE : DDL STATEMENTS ARE AUTO-COMMIT STATEMENTS
Syntax: FLASHBACK TABLE Table_Name
TO BEFORE DROP ;

Example : Bin Folder


DATABASE
Address : BIN$123ABCXYZ
Cust

FLASHBACK
FLASHBACK TABLE Cust
TO BEFORE DROP ;

TO DELETE THE TABLE FROM BIN FOLDER :

Syntax: PURGE TABLE Table_Name ;

Example : PURGE TABLE Cust ;

Database Bin folder Trash

Cust
DROP PURGE Gone
BIN$123ABC
Forever

FLASHBACK
DROP : IT WILL REMOVE THE
TABLE FROM THE DATABASE
AND SEND IT TO RECYCLE BIN

PURGE : IT WILL
PERMANENTLY IN THE
DATABASE

FLASHBACK : IT WILL
RESTORE THE TABLE
FROM THE BIN
FOLDER TO DATABASE
DATA MANIPULATION LANGUAGE ( DML )

It is used to Manipulate the Object by performing insertion , updating and deletion .


1. INSERT
2. UPDATE
3. DELETE

1. INSERT : It is used to insert / create records in the table .

Syntax: INSERT INTO Table_Name VALUES( v1 , v2 , v3 …… ) ;

CUSTOMER
CID CNAME CNO ADDDRESS INSERT INTO CUSTOMER (CID, CUST_NAME,
NUMBER(2) VARCHAR(10) NUMBER(10) VARCHAR(20)
PHONE_NO, CUST_ADD) VALUES
INSERT INTO CUSTOMER VALUES( 1 , 'DINGA' , 9876543210 ,'BANGALORE' ) ; (2,'DHONI',6654789654,'BANGALORE');
CID CNAME CNO ADDDRESS
NUMBER(2) VARCHAR(10) NUMBER(10) VARCHAR(20)
1 DINGA 9876543210 BANGALORE
INSERT INTO CUSTOMER VALUES( 2 , 'DINGI' , 9876543211 ,'MANGALORE' ) ;
CID CNAME CNO ADDDRESS
INSERT INTO CUSTOMER (CID, CUST_NAME, PHONE_NO,
NUMBER(2) VARCHAR(10) NUMBER(10) VARCHAR(20)
1 DINGA 9876543210 BANGALORE
CUST_ADD) VALUES (11, 'YASH', 9876543210, 'BANGALORE');
2 DINGI 9876543211 MANGALORE
PRODUCT
[Link] :It is used to modify an existing value .
PID PNAME PRICE CID
NUMBER(2) VARCHAR(10) NUMBER(6,2) NUMBER(3)
Syntax: UPDATE Table_Name
SET Col_Name = Value , Col_Name = Value ,,,,,
INSERT INTO PRODUCT VALUES( 11 , 'iPhone' , 10000 , 2 );
PID PNAME PRICE CID
[WHERE stmt ] ;
NUMBER(2) VARCHAR(10) NUMBER(6,2) NUMBER(3)
CID CNAME CNO ADDDRESS
11 iPhone 10000 2
NUMBER(2) VARCHAR(10) NUMBER(10) VARCHAR(20)
INSERT INTO PRODUCT VALUES( 22 , 'Mac Book' , 20000 , 1 );
1 ABHI 1234567890 BANGALORE
PID PNAME PRICE CID
2 ABDUL 9876543210 MANGALORE
NUMBER(2) VARCHAR(10) NUMBER(6,2) NUMBER(3)
11 iPhone 10000 2
22 Mac Book 20000 1 ➢ WAQT update the phone number of Abdul to 7778889994

UPDATE CUSTOMER
SET CNO = 7778889994
WHERE CNAME ='ABDUL' ;

CID CNAME CNO ADDDRESS


NUMBER(2) VARCHAR(10) NUMBER(10) VARCHAR(20)
UPDATE CUSTOMER 1 ABHI 1234567890 BANGALORE
2 ABDUL 7778889994 MANGALORE
SET CUST_NAME=‘HEMANTH’
WHERE CID=18; INSERT INTO CUSTOMER (CID, CUST_NAME, PHONE_NO,
CUST_ADD) VALUES (1, VIRAT', 9876543210, 'BANGALORE');

UPDATE CUSTOMER SET CID = 9 WHERE CUST_NAME = 'YASH';


➢ WAQT change the address of the customer to Mysore whose cid is 1 .

UPDATE CUSTOMER
SET ADDRESS = 'MYSORE'
WHERE CID = 1 ;

CID CNAME CNO ADDDRESS


NUMBER(2) VARCHAR(10) NUMBER(10) VARCHAR(20)
1 ABHI 1234567890 MYSORE
2 ABDUL 7778889994 MANGALORE

[Link] : It is used to remove a particular record from the table .

Syntax: DELETE FROM Table_Name


[ WHERE stmt ];

CID CNAME CNO ADDDRESS


NUMBER(2) VARCHAR(10) NUMBER(10) VARCHAR(20)
1 ABHI 1234567890 BANGALORE
2 ABDUL 1234567891 MANGALORE
➢ WAQT remove abdul from the list of customers .

DELETE FROM CUSTOMER


WHERE CNAME =

CID CNAME CNO ADDDRESS


NUMBER(2) VARCHAR(10) NUMBER(10) VARCHAR(20)
1 ABHI 1234567890 BANGALORE
ASSIGNMENT ON DML STATEMENTS :

1. WAQT update the salary of employee to double their salary if


He is working as a manager .

2. WAQT change the name of SMITH to SMIITH .

3. WAQT modify the job of KING to 'PRESIDENT' .

4. WAQT to change name of ALLEN to ALLEN MORGAN .

5. WAQT hike the salary of the employee to 10% . If employees earn less than
2000 as a salesman .

6. WAQ TO delete the employees who don’t earn commission .

7. WAQ to remove all the employees hired before 1987 in dept 20

8. Differentiate between TRUNCATE and DELETE statements .


TRUNCATE DELETE
Belongs to DDL Belongs to DML
Removes all the records from the Removes a particular record from the
Table permanently . Table .
Auto COMMIT Not auto COMMIT .

3. TRANSACTION CONTROL LANGUAGE ( TCL )

"It is used to control the transactions done on the database ".


The DML Operations performed on the Database are known as Transactions
such as Insertion , Updating and Deletion .

We have 3 Statements :
1. COMMIT
2. ROLLBACK
3. SAVEPOINT

[Link] : "This statement is used to SAVE the transactions into the DB ".

Syntax: COMMIT ;
Example :
VALUES( 'C' , 300 ) ; B 200 B 200
Query WORKPLACE DATABASE COMMIT ; C 300 C 300

➢ CREATE T1 NAME SAL NAME SAL


NAME SAL
➢ UPDATE T1 A 1000
SET SAL = 1000 B 200
WHERE NAME = 'A' ; C 300
➢ INSERT INTO T1
VALUES( 'A' , 100 ) ; NAME SAL NAME SAL NAME SAL
➢ COMMIT ;
A 100 A 100 A 1000
COMMIT ;
B 200
C 300

➢ INSERT INTO T1 NAME SAL NAME SAL


VALUES( 'B' , 200 ) ;
A 100 A 100
➢ INSERT INTO T1
VALUES( 'C' , 300 ) ; B 200 B 200
COMMIT ; C 300

If you want to undo any changes before committing, you can use the ROLLBACK command.
However, once you commit, the changes are permanent.
2. ROLLBACK :

This statement is used to Obtain only the saved data from the DB .
It will bring you to the point where you have committed for the last time .

SYNTAX: ROLLBACK ;

3. SAVEPOINT :

This statement is used to mark the positions or restoration points . (nothing


related to DB ) .

SYNTAX: SAVEPOINT Savepoint_Name ;


VALUES( 'B' , 200 ) ; C 300 S2
Example : ➢ INSERT INTO T1 D 400
VALUES( 'C' , 300 ) ; E 500 S3
Query WORKPLACE SAVEPOINT ➢ SAVEPOINT S2 ;
➢ INSERT INTO T1 F 600
➢ INSERT INTO T1 NAME SAL Savepoints VALUES( 'D' , 400 ) ;
VALUES( 'A',100) ; A 100 S1 ➢ INSERT INTO T1 ROLLBACK TO S3
➢ SAVEPOINT S1 ; VALUES( 'E' , 500 ) ;
B 200 ROLLBACK TO S2
➢ INSERT INTO T1 ➢ SAVEPOINT S3 ;
VALUES( 'B' , 200 ) ; C 300 S2 ➢ INSERT INTO T1 ROLLBACK TO S1
➢ INSERT INTO T1 D 400 VALUES( 'F' , 600 ) ;

SYNTAX: ROLLBACK TO Savepoint_Name ;


4. DATA CONTROL LANGUAGE :

"This statement is used to control the flow of data between the users ". We have 2 statements :
1. GRANT
2. REVOKE

[Link] : THIS STATEMENT IS USED TO GIVE PERMISSION TO A USER .

SYNTAX: GRANT SQL_STATEMENT


ON TABLE_NAME
TO USER_NAME ;

[Link] : THIS STATEMENT IS USED TO TAKE BACK THE


PERMISSION FROM THE USER .
SYNTAX: REVOKE SQL_STATEMENT
ON TABLE_NAME
FROM USER_NAME ;

Example :

User 1 : SCOTT User 2 : HR


User 1 : SCOTT User 2 : HR

EMP SELECT *
ENAME SAL FROM [Link] ;
A 100
B 200

GRANT SELECT ON EMP


TO HR ;

EMP SELECT *
ENAME SAL FROM [Link] ;
A 100
B 200

REVOKE SELECT ON EMP


FROM HR ;

SELECT *
ENAME SAL FROM [Link] ;
A 100
B 200
Thank You

You might also like