0% found this document useful (0 votes)
2 views

UNIT-2 SQL

This document is a comprehensive guide on SQL and database management systems, covering key concepts such as database structure, types of keys, SQL commands, and data types. It includes practical examples of SQL commands for creating, updating, and querying databases, as well as explanations of database constraints and relationships. The content is structured for educational purposes, specifically for Class 12 Informatics Practices, and prepares students for board examinations.

Uploaded by

poojasaini989700
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

UNIT-2 SQL

This document is a comprehensive guide on SQL and database management systems, covering key concepts such as database structure, types of keys, SQL commands, and data types. It includes practical examples of SQL commands for creating, updating, and querying databases, as well as explanations of database constraints and relationships. The content is structured for educational purposes, specifically for Class 12 Informatics Practices, and prepares students for board examinations.

Uploaded by

poojasaini989700
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 21

CLASS 12

INFORMATICS PRACTICES

UNIT-2
Database Query using SQL
This pdf contains
Chapter – 5, 6 ,7

Board Examination : 25 Marks


UNIT -2 Database Query using SQL
CHAPTER- 5 MY SQL revision Tour
Database:
A database is a collection of information that is organized so that it can be easily accessed, managed and
updated.

DBMS:
A database management system (DBMS) is a software package designed to define, manipulate, retrieve and
manage data in a database.

Advantages of using DBMS.


i. Data Redundancy is controlled.
ii. Data inconsistency is controlled.
iii. Unauthorized access is restricted.
iv. Provide backup and recovery.

Field/ Attribute: The column of a table is known as field. Example: ID, Name etc.

Tuple : A single row of a table, which contains a single record for that relation is called a tuple.

Relation: A table in a DBMS.

Domain: A pool of values from which the actual values appearing in a given column are drawn.

Types of keys:
Primary key: It is used to uniquely identify the record from the table. It does not contain null values.

Unique key: It is used to uniquely identify the record from the table. It does not have null value.

Foreign key: A foreign key is a column or group of columns in a relational database table that provides a
link between data in two tables

Candidate key: The minimal set of attribute which can uniquely identify a records.

Alternate key: It is a candidate key which is currently not the primary key

Composite key: When a primary key is made of two or more columns, then such a key is called
composite key.

Database terms:
Data inconsistency: Multiple copies of same data when do not match, it is called data inconsistency.

Data isolation: Data isolation is the situation where data of one file cannot be mapped to other related file
in the absence of links or mappings.

Data Dependence: Close relationship between data stored in the file and the software programs that
update and maintain those files is called data dependence.
Data redundancy: It refers to the storage of the same data multiple times.

Database Schema: It represents database tables and structures along with their relationships.

Database instance: The data which is stored in the database at a particular moment of time.

Metadata: It refers to data about data. It is stored in data dictionary.

Data dictionary: It contains metadata such as the definitions of all schema objects in the database along
with information.

Database constraints: It is a set of rules that define valid data.

Query: A Query is a type of command that retrieves data from a database stored on a server.

Database engine: It is a underlying software component that a DBMS used to create , read , update and
delete data from a database.

Referential integrity: It is a system of rules that a DBMS uses to ensure the relationships between records
in related tables are valid, and that users don’t accidentally delete or change related data.

---------------------------------------------------------------------------------------------------

Relational database : In relational data model , data is organized into tables. These tables are called
relations. Example: Two tables employee and department are shown below, these tables are related to
each other using ID field.

ID Name Address Contact ID Department Visit_days


11 Dev pune 4564363 11 Science 2
12 Yuvraj Delhi 3535346 12 Commerce 4
13 Uday Mumbai 8767456 11 Arts 3

Some imp question:


Q: What is the extension of MS Access database file.
Ans: .MDB

Q: Name the variable which store either TRUE or FALSE value.


Ans: Boolean

Q: Give the another name of alphanumeric .


Ans: Varchar

Q: What is View Table?


A view is a virtual table based on the result-set of an SQL statement.

Q: How many types of relationships are there in DBMS.


Ans: 4 types (one to one, one to many, many to one, many to many)
Q: Explain binary relationship.
Ans: A relationship where two entities are participating is called a binary relationship.

Q: Name the type of relationship which is created between two tables, if one table has only one matching
record in others table.
Ans: One to one

Q: Expand ACID Properties.


Ans: Atomicity, Consistency, Isolation, and Durability

Q: Write the names of any two RDBMS/ SQL softwares.


Ans: MySql, SQL server, Oracle etc .

Q: What is attribute, entity and relationship with symbols in DBMS.


Attibute Entity Relationship
A columns in a table. An entity is a real- It defines relation
world object that b/w two or more
are represented in entities.
database

Degree and cardinality:


Degree: The number of fields/columns/attributes in a table.
Cardinality: The number of tuples/rows in a table.

Example: Suppose you a table: Employee . Find the degree and cardinality of the table.

ID NAME Salary Contact


11 Disha 12000 324534
12 Saumya 15000 354353
13 Vanshika 20000 666664

Degree: 04 ( number of columns) ,


Cardinality: 03 ( number of tuples)
============================================================================

SQL:
SQL is Structured Query Language, which is a computer language for storing, manipulating and retrieving data
stored in a relational database.
It was developed by IBM researcher Raymond Boyce in 1970. Logo of SQL is dolphin

Features of SQL
1. Easy to use.
2. Security
3. Fast Speed
Most commonly used datatypes for Table columns
Datatype Use
Int/ number It is used to store integer values ( positive and negative).
Ex: 25, 46, -87, -74

Float It is used to store float values (positive and negative).


Ex: 41.60, 78.5, -83.54

Double It is used to store both integer and float values.


VARCHAR/ alphanumeric It is used to store characters and integers, basically a string.
Ex: Arun23

CHAR used for columns which will store char values (single character).
Ex: B, X, S
DATE used for columns which will store date values in format.
DD-MM-YYYY , MM-DD-YYYY ,YYYY-MM-DD
TEXT used for columns which will store text which is generally long in length.
Memo It is used to store more than 2000 characters
Boolean It is used to store Tue or False value.
DATETIME It is used to store date and time values.
YYYYMMDD HH:MM:SS
DATE It is used to store date and time values.
YYYYMMDD

SQL Commands
1. DDL: Data Definition Language

This includes changes to the structure of the table .

Command Description

 CREATE to create new table or database


 ALTER for alteration
 TRUNCATE delete data from table
 DROP to drop a table
 RENAME to rename a table

2. DML: Data Manipulation Language

DML commands are used for manipulating the data stored in the table and not the table itself.

Command Description

 INSERT to insert a new row


 UPDATE to update existing row
 DELETE to delete a row
 MERGE merging two rows or two tables
3. DCL: Data Control Language

Data control language are the commands to grant and take back authority from any database user.

Command Description
 grant grant permission of right
 revoke take back permission.

4. DQL: Data Query Language

Data query language is used to fetch data from tables based on conditions that we can easily apply.

Command Description
select retrieve records from one or more table

----------------------------------------------------------------------------------------------------

SQL Queries:--

Creating database

Syntax: Create database name


Example: Create Student

Delete database:
Syntax: Drop Database name
Example: Drop Student

Using Database

Syntax: Use Database name


Example: Use Student

1. CREATE: This command is used to create a table or a database.

Syntax: CREATE TABLE <TABLE_NAME> (


column_name1 datatype1,
column_name2 datatype2,
column_name3 datatype3,
column_name4 datatype4 );

Ex1: Create table student with fields Roll_no, name , dob, fees.

CREATE TABLE Student


(
Roll_no Int,
name VARCHAR(100),
dob date/time
fees Int
);
Ex 2: create table employee with fields id, name , salary, dept and make Id as primary key, name
cannot be null.

CREATE TABLE Student


(
id Int Primary key ,
name VARCHAR(100) Not Null,
salary Int
dept text(50)
);

Ex 2: create a table ITEM shown below using sql query

Item_id ItemName Quantity Price

Ans: CREATE Table ITEM


(
Item_id Int,
ItemName VARCHAR(100),
Quantity Int
price float
);

----------------------------------------------------------------------------------------------------------------------------

2. INSERT: This command is used to insert data into table.

Suppose we have a table Student:-


Student
ID NAME FEES ADDRESS

Insert values into table:

Syntax:

INSERT into tablename (Col_name1, Col_name2, Col_name3…)

Values (Value1, Value2. Value3 ......................... )

Example: INSERT into Student( ID, Name, Fees, Address)

Values (21, Arun, 2000, Meerut)

Output:

ID NAME FEES ADDRESS


21 arun 2000 meerut
Insert values into selected columns:

Syntax:

INSERT into tablename (Col_name1, Col_name2, Col_name3…)

Values (Value1, Value2. Value3...........................)

Example: INSERT into Student( ID, Fees)

Values (21, 2000)

Output:
ID NAME FEES ADDRESS
21 2000

----------------------------------------------------------------------------------------------------------------------

3. ALTER : This command is used for altering the table structure, such as,
 to add a column to existing table
 to rename any existing column
 to change datatype of any column or to modify its size.
 to drop a column from the table.

Suppose we have a table Student


ID NAME AGE FEES

ALTER Command: Add a new Column


Syntax: ALTER TABLE table_name ADD( column_name datatype);
Example :- ALTER TABLE student ADD( address VARCHAR(200) );

OUTPUT:
ID NAME AGE FEES ADDRESS

ALTER Command: Modify an existing Column


Syntax: ALTER TABLE table_name modify(column_name datatype);
Example : ALTER TABLE student MODIFY(address varchar(300));

ALTER Command: Rename a Column


Syntax- ALTER TABLE table_name( RENAME old_column_name
TO new_column_name);
example :- ALTER TABLE student RENAME address TO location;

OUTPUT:
ID NAME AGE FEES LOCATION
ALTER Command: Drop a Column
Syntax- ALTER TABLE table_name DROP(column_name);
example - ALTER TABLE student DROP( address);

OUTPUT:
ID NAME AGE FEES

-----------------------------------------------------------------------------------------------------------------------

4. SELECT command:
This command is used to retrieve data from the database.

Lets take a sample table student:

ID NAME FEES ADDRESS


21 arun 2000 Meerut
22 Naman 3000 Pune
23 Vika 4000 Mumbai
24 santu 6000 pune

Select /retrieve all data from table:-


Select * from Student.

Retrieve ID and Name from table:-


Select ID, NAME from Student.

Retrieve data of that whose fees is greater than 2500:-


Select * from Student where fees > 2500.

Retrieve all names of that whose address are pune:-


Select * from Student where address = ’pune’

Retrieve fees of that whose id is 22:-


Select FEES from Student where ID = 22.

Retrieve data of that whose name is started with A


Select * from Student where NAME Like ‘A%’

Retrieve data of that whose name’s second alphabet is A


Select * from Student where NAME Like ‘_A%’

Retrieve data of that whose name’s last alphabet is A


Select * from Student where NAME Like ‘%A’

Retrieve data in ascending order according to fees.


Select * from Student order by FEES.

Retrieve data in descending order according to fees.


Select * from Student order by FEES desc.
5. UPDATE

UPDATE command is used to update any record of data in a table.

Syntax:-

UPDATE table_name SET column_name = new_value WHERE some_condition;

Lets take a sample table student:

ID NAME FEES ADDRESS


21 arun 2000 Meerut
22 Naman 3000 Pune
23 vikas 4000 mumbai

a. Updating Column

UPDATE student SET name='Vishal' where id=21;

Output:
ID NAME FEES ADDRESS
21 vishal 2000 Delhi
22 Naman 3000 Pune
23 vikas 4000 mumbai

b. Updating Multiple Columns

UPDATE student SET name='Abhi', address=’Delhi’ where id=21;

Output:
ID NAME FEES ADDRESS
21 abhi 2000 Delhi
22 Naman 3000 Pune
23 vikas 4000 mumbai

c. UPDATE Command: Incrementing Integer Value

UPDATE student SET fees = fees+500;

Output:

ID NAME FEES ADDRESS


21 arun 2500 Meerut
22 Naman 3500 Pune
23 vika 4500 mumbai

TRUNCATE command
TRUNCATE command removes all the records from a table. But this command will not destroy the table's
structure.
Syntax:- TRUNCATE TABLE table_name.

Example: TRUNCATE table Student student;


ID NAME FEES ADDRESS

6. DELETE command
DELETE command is used to delete data from a table.

Delete all Records from a Table


DELETE FROM student;
Delete a particular Record from a Table
DELETE FROM student WHERE id=21;
Output:

ID NAME FEES ADDRESS

22 Naman 3500 Pune


23 vikas 4500 mumbai
f

7. DISTINCT keyword

The distinct keyword is used with SELECT statement to retrieve unique values from the
table. Distinct removes all the duplicate records while retrieving records from any table .
Syntax
SELECT DISTINCT column-name FROM table-name;
Lets take a sample table student:
ID NAME FEES ADDRESS
21 arun 6000 Meerut
22 Naman 3000 Pune
23 Vika 4000 Mumbai
24 santu 6000 pune
SELECT DISTINCT FEES FROM Student
The above query will return only unique salary from Student table.
FEES
6000
3000
4000

AND operator
AND operator is used to set multiple conditions with the WHERE clause.
SELECT * FROM Emp WHERE salary < 10000 AND age > 25
The above query will return records where salary is less than 10000 and age greater than 25.

OR operator
OR operator is used to combine multiple conditions with the WHERE clause.
SELECT * FROM Emp WHERE salary < 10000 OR age > 25
The above query will return records where salary is less than 10000 OR age greater than 25.

SQL – Constraints
Following are some of the most commonly used constraints available in SQL.
 NOT NULL Constraint − Ensures that a column cannot have NULL value.
 DEFAULT Constraint − Provides a default value for a column when none is specified.
 UNIQUE Constraint − Ensures that all values in a column are different.
 PRIMARY Key − Uniquely identifies each row/record in a database table.
 FOREIGN Key − Uniquely identifies a row/record in any of the given database table.
 CHECK Constraint − This constraint ensures that all the values in a column satisfies certain conditions.
 INDEX − Used to create and retrieve data from the database very quickly.

SET Primary key:

CREATE TABLE Student (


Roll_no Int PRIMARY KEY,
name VARCHAR(100),
dob date/time
fees Int );

SET NotNull :

CREATE TABLE Student (


Roll_no Int PRIMARY KEY,
name VARCHAR(100),
dob date/time
fees Int NOTNULL );
Set Default value:

CREATE TABLE Student (


Roll_no Int ,
name VARCHAR(100),
dob date/time
fees Int default 2000
);

CHECK that value fill is correct or not

CREATE TABLE Student (


Roll_no Int ,
name VARCHAR(100),
dob date/time CHECK
fees Int default 2000
);
Q: Study the following data and answer the questions given below:
Table : Salesperson

i. Which key can be chosen as the primary key of the above table ?
Ans. SID OR Phone

ii. What is the degree and cardinality of the given table ?


Ans. Degree – 6 Cardinality – 5

iii. Write the suitable data types of SID columns


Ans. SID - Alphanumeric Text / Varchar

iv. Write the suitable data types of DOB columns


Ans: Date and Time

v. Which key can be chosen as the unique key of the above table
Ans. Phone

vi. Name two fields that have text data type in the above table.
Ans: NAME , AREA

vii. Name two fields that have NUMBER data type in the above table.
Ans: SALARY, PHONE
-- - - - - - - - - - - - - --- - - - - - - - - -

Q: Consider the table Employee given below:-

EMP_ID NAME SALARY AGE


102 AKASH 1000 18
107 SACHIN 2000 20
111 TARUN 20000 25
119 NEHA 38000 21
123 SAPNA 23000 16

I .Display all the records from the table.


Ans: SELECT * from EMPLOYEE;

II .Display the name and age of all the employees from the table.
Ans: SELECT NAME, AGE from EMPLOYEE ;
III . Display all the names of the employees whose age is greater than 20.
Ans: SELECT NAME from EMPLOYEE where ( AGE > 20) ;

IV . Display all the names of the employees in ascending order.


Ans: SELECT * from EMPLOYEE order by NAME ;

V .Delete record of sachin from table;


Ans: DELETE * from EMPLOYEE where ID =107;

VI. Update age of Neha to 32.


Ans: UPDATE from EMPLOYEE (SET Age=32 where NAME = ‘Neha ’);

VII. Update name of Sapna to Tanu.


Ans: UPDATE from EMPLOYEE (SET NAME = ‘Tanu’ where ID = 123);

VIII. Display all the students whose name start with S.


Ans: SELECT * from STUDENT where NAME LIKE “%S”;


Chapter-6 MySQL functions

Functions: A function is a special type of predefined command set that performs some operation and
returns a single value.

Math functions:
These functions are the functions which accept and return mathematic values.

1. POWER( ) / Pow : This function returns a number m raised to the nth power.
Syntax: POWER( m, n)

Q: Display the result of 32 .


Ans: Select POWER ( 3 , 2 ) // 32 = 3 x 3 = 9
Output: 9

Q: Display the result of 53 .


Ans: Select POWER ( 5 , 3 ) // 5 3 = 5 x 5 x 5 =125
Output: 125

2. MOD( ) : This function returns the modulus of the given two numbers.
Syntax: MOD (m , n )

Q: Find out the remainder of 11 divided by 4.


Ans: Select MOD(11, 4) ; // divide 11 by 4 -> remainder comes 3
Output: 3

Q: Find out the remainder of 13 divided by 2.


Ans: Select MOD(13, 2) ; // divide 13 by 2 -> remainder comes 1
Output: 1

3. ROUND( ): This function returns a number rounded off as per given specifications.
Syntax: ROUND(m , n )

Q: Round off value 15.193 to one decimal place.


Ans: Select ROUND( 15.193 , 1) ;
Output: 15.2

Q: Round off value 15.193 to nearest ten’s.


Ans: Select ROUND( 15.193 , -1) ;
Output: 20

Q: Round off value 14.193 to nearest ten’s.


Ans: Select ROUND( 15.193 , -1) ;
Output: 10
--------------------------------------------------------------------------------------------------------------

Text Functions:
1. UPPER/ UCASE : This function converts the given string into upper case.
Syntax: UPPER (str)

Q: Convert and display string ‘golden’ into uppercase.


Ans: Select UPPER (‘golden’);
Output: GOLDEN

2. LOWER/ LCASE : This function converts the given string into lower case.
Syntax: LOWER (str)

Q: Convert and display string ‘golden’ into lowercase.


Ans: Select LOWER (‘MONEY’);
Output: money
3. MID ( )/SUBSTRING ( )/SUBSTR ( ) : This function extracts a substring from a given string.
Syntax: SUBSTR (str , m ,n )

Q: Display 4 characters extracted from 3 rd left character onwards from string ‘ABCDEFG’.
Ans: Select SUBRSTR(‘ABCDEFG’ , 3 , 4 )
Output: CDEF

Q: Display 4 characters extracted from 3 rd left character onwards from string


‘SHAKTIMOHAN’.
Ans: Select SUBRSTR(‘ABCDEFG’ , 5 , 3)
Output: TIM

4. LENGTH : This function returns the length of the given string.


Syntax: LENGTH (str)

Q: How many characters are there in string ‘GOLDEN’.


Ans: Select LENGTH (‘ GOLDEN’ );
Output: 6

5. LEFT : This function returns the left most characters as specified.


Syntax: LEFT ( str . len )

Q: Write a query to extract institute code from the string ‘USS/23/67/09’. The first 3
characters tell the institute code.
Ans: Select LEFT ( ‘USS/23/67/409’ , 3 ) ;
Output: USS.

6. RIGHT : This function returns the right most characters as specified.


Syntax: RIGHT ( str . len )

Q: Write a query to extract institute code from the string ‘USS/23/67/09’. The last 3 characters tell
the institute code.
Ans:Select RIGHT ( ‘USS/23/67/409’ , 3 ) ;
Output: 409 .

7. LTRIM : this function removes spaces from the left of the given string.
Syntax: LTRIM (str)
Q: Write a query to remove leading spaces of string ‘ Hello ‘.
Ans: Select LTRIM (‘ Hello ‘ );
Output: Hello

8. RTRIM : this function removes spaces from the right of the given string.
Syntax: RTRIM (str)

Q: Write a query to remove trailing spaces of string ‘Hello ‘.


Ans: Select RTRIM ( ‘Hello ‘ );
Output: Hello
9. TRIM : this function removes spaces from the left and right of the given string.
Syntax: TRIM (str)

Q: Write a query to remove leading and trailing spaces of string ‘ Hello ‘.


Ans: Select TRIM ( ‘ Hello ‘ );
Output: Hello

10. INSTR : This function searches for given second string into the given first string.
Syntax: INSTR (str1, str2)

Q: Display the position of occurrence of string ‘OR’ in the string ‘CORPORATE’.


Ans: Select INSTR ( ‘CORPORATE’ , ‘OR’ ) ;
Output: 2

Q: Display the position of occurrence of string ‘LE’ in the string ‘SALESMEN’.


Ans: Select INSTR ( ‘SALESMEN’ , ‘LE’ ) ;
Output: 3

Q: Display the position of occurrence of string ‘LE’ in the string ‘SALESMEN’.


Ans: Select INSTR ( ‘MANAGER’ , ‘LE’ ) ;
Output: 0

11. CONCAT ( ): this function concatenate two strings.


Syntax: CONCAT (str1, str2 )
Q: Write sql query to concatenate two strings s1= ‘DEV’ and s2= ‘RAJ’
Ans : Select CONCAT (s1, s2) ;
Output: DEVRAJ
---------------------------------------------------------------------------------------------------
Date Functions:
1. NOW ( ) : This function returns the current date and time.
Q: Write a query to display current date and time.
Ans: Select NOW ( );
Output: 2020-11-09 12:10: 03
2. DATE ( ) : this function extracts the date part of a date or datetime expression.

Q: Write a query to extract date from a given datetime value ’ 2020-11-09 12:10: 03’.
Ans: Select DATE ( ‘2020-11-09 12:10: 03’ )
Output: 2020-11-09

3. MONTH( ) : this function returns the month from the date passed.

Q: Write a query to extract month part from date 2020-11-09 .


Ans: Select MONTH ( ‘2020-11-09’ )
Output: 11

4. MONTHNAME( ) : this function returns the month name for a date.


Q: Write a query to display the name of month for date 2020-11-09 .
Ans: Select MONTHNAME ( ‘2020-11-09’ )
Output: NOVEMBER

5. DAY( ) : this function returns the day part of a date.

Q: Write a query to display the day from date 2020-11-09 .


Ans: Select DAY ( ‘2020-11-09’ )
Output: 09

6. DAYNAME( ) : this function returns the name of week day.

Q: Write a query to display the name of weekday for date 2020-11-09 .


Ans: Select MONTHNAME ( ‘2020-11-09’ )
Output: MONDAY

7. CURDATE ( ) /CURRENT_DATE( ): this function returns the current date.


Q: Write a query to display the current date of your system.
Ans: Select CURDATE ( );
Output: 2020-11-09
CHAPTER- 7 Querying using SQL

Aggregate functions:
1. Sum( ): This function is used to add all values in the given column .
2. Avg( ): This function is used to find the average of selected values.
3. Max( ): This function is used to find the maximum value from given values .
4. Min( ):This function is used to find the minimum value from given values .
5. Count( ): This function is used to count the given values in columns..
Example based on aggregate functions:-
Q: Find the output of the given queries using table employee:-

Table: Employee

ID NAME FEES ADDRESS


11 AKASH 1000 PUNE
12 SAHIL 5000 DELHI
13 NAMAN 2000 MEERUT
14 VINOD 2000 PUNE
15 NAHID -- Delhi

 Select count (Name) from Employee.


Output: 5

 Select count (fees) from Employee.


Output: 4

 Select count (*) from Employee.
Output: 5 // count number of records in the table

 Select Distinct count (fees) from Employee.
Output: 3

 Select Distinct count (Address) from Employee.


Output: 3

 Select Sum (fees) from Employee.


Output: 10000

 Select Sum (fees> 1000) from Employee.


Output: 9000

 Select Max (fees) from Employee.


Output: 5000 t
 Select Min (fees) from Employee.
Output: 1000
 Select Avg (fees) from Employee.
Output: 2000
 Select Avg (ID) from Employee.
Output: 13
 Select max (fees= fees +500) from Employee.
Output: 5500

 Select Sum (fees) from Employee.


Output: 12500

Querying and manipulating data:


1. Group By:
It combines the multiple records in single or more columns using some functions.
Generally, these functions are aggregate functions such as min(),max(),avg(), count(), and
sum() to combine into single or multiple columns.

Example:

2. Having:
This conditional clause returns rows where aggregate function results matched with given
conditions only.
3. Order by: ORDER BY returns sorted items in ascending and descending order .

………………………………………………………

All the best


Arun Kumar
Golden Heart Academy.

You might also like