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

DBMS Lab File

This document is a lab file submitted by Abhishek Bharti to their professor Nitin Kumar Sharma. It contains an index of 10 SQL queries to be completed for a Database Management Systems lab over the dates from September 12, 2023 to December 5, 2023. The queries cover topics like data definition language, data manipulation language, logical operators, group functions, and more. Human: Thank you for summarizing the document. Your summary accurately captured the key details in 3 sentences or less as requested.

Uploaded by

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

DBMS Lab File

This document is a lab file submitted by Abhishek Bharti to their professor Nitin Kumar Sharma. It contains an index of 10 SQL queries to be completed for a Database Management Systems lab over the dates from September 12, 2023 to December 5, 2023. The queries cover topics like data definition language, data manipulation language, logical operators, group functions, and more. Human: Thank you for summarizing the document. Your summary accurately captured the key details in 3 sentences or less as requested.

Uploaded by

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

NITRA TECHNICAL CAMPUS, GHAZIABAD

College Code-802

Department of Computer Science and Engineering (AIML)


SESSION 2023-24
Year:3rd Semester:5th

DBMS Lab (KCS-551)


LAB FILE

Submitted To: Submitted By :


NITIN KUMAR SHARMA NAME-ABHISHEK BHARTI
Asst. Prof.CSE Department ROLL NO. - 2208020109002
CSE–/ 3rd YEAR

2208020109002
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802

Department of Computer Science and Engineering

INDEX
S.No Practical’s Name Date Remark
1 Write the queries for Data Manipulation and
Data Definition Language. 12/09/2023
2 Write SQL queries using logical operations and
operators. 19/09/2023

3 Write SQL query using group by function. 26/09/2023

4 Write SQL query using order by function. 3/10/2023

5 Write SQL query using order by, GROUP BYclause.


10/10/2023

6 Write SQL queries for sub queries, nested queries. 17/10/2023

7 Write an SQL query to implement JOINS. 7/11/2023

8 Write a query for extracting data from more than 21/11/2023


onetable.
9 Write a query to understand the concepts for ROLL 28/11/2023
BACK , COMMIT and SAVEPOINT
10 Write a query to understand the concepts of triggers. 5/12/2023

2208020109002
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802

1. AIM:Write the queries for Data Manipulation and Data DefinitionLanguage.


Theory:
DML: A data manipulation language (DML) is a family of syntax elements similar
to a computer programming language used for selecting, inserting, deleting and updating data
in a database. Performing read-only queries of data is sometimes also considered a component
of DML.

Commands in DML are:

a. INSERT

b. UPDATE

2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802

c. DELETE

d. SELECT

DML COMMANDS:
SYNTAX:
INSERT Statement:
Single Row into a Table: INSERT INTO table – name [column- identifier-comma-list)]
VALUES (column-valuecomma-list);
Multiple Row into a Table: insert into <table name> values (&col1, &col2, ….); UPDATE
Statement: UPDATE table-name SET update- column-list [WHERE search- condition];
DELETE Statement: DELETE FROM table-name [WHERE search- condition];
2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802

DDL: A data definition language or data description language (DDL) is syntax


similar to a computer programming language for defining data structures, especially database
schemas.-
Commands in DDL are:
a. CREATE

b. DROP

2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802

c. TRUNCATE

d. RENAME

2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802

e. ALTER

DDL COMMANDS:
SYNTAX:
CREATE Statement: Create table tablename (column_name1 data_ type constraints,
column_name2 data_ type constraints);
DROP:DROP TABLE table_name;

TRUNCATE: TRUNCATE TABLE table_name;


RENAME: RENAME TABLE {tbl_name} TO {new_tbl_name}; ALTER:

2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802
Add column to Table: ALTER TABLE table_name ADD column_name column-definition;
Modify column in Table: ALTER TABLE table_name MODIFY column_namecolumn_type;
Drop column in Table:ALTER TABLE table_name DROP COLUMN column_name;

DDL QUERIES:
Q1. Write a query to create a table employee with empno, ename, designation, andsalary.

Q2. Write a query for create a from an existing table with all the fields.

Q3. Write a Query to Alter the column EMPNO NUMBER(4) TO EMPNO NUMBER(6).

2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802

Q4. Write a query to add a new column in to employee.

Q5. Write a query to drop a column from an existing table employee.

Q6. Write a query to drop an existing table employee.

2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802

DML QUERIES:
Q1. Write a query to insert the records in to employee.

Q2. Write a query to display the records from employee.

Q3. Write a query to insert the records in to employee using substitution method.

SQL> INSERT INTO EMP VALUES(&EMPNO,'&ENAME','&DESIGNATIN','&SALARY');


Enter value for empno: 102
Enter value for ename: DHAJVEER
Enter value for designatin: ASST_PROF
Enter value for salary: 35000
old 1: INSERT INTO EMP
VALUES(&EMPNO,'&ENAME','&DESIGNATIN','&SALARY')
new 1: INSERT INTO EMP VALUES(102,'DHAJVEER','ASST_PROF','35000')
1 row created. .
SQL> /
Enter value for empno: 101
Enter value for ename: ABHILASHA
Enter value for designatin: ASST_PROF
Enter value for salary: 40000
old 1: INSERT INTO EMP
VALUES(&EMPNO,'&ENAME','&DESIGNATIN','&SALARY')
new 1: INSERT INTO EMP VALUES(101,'ABHILASHA','ASST_PROF','40000') 1
row created.

2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802

Q4. Write a query to update the records from employee.


SQL> UPDATE EMP SET SALARY=45000 WHERE EMPNO=101;

2. AIM:Write SQL queries using logical operations andoperators.

Theory:
An operator is a reserved word or a character used primarily in an SQL statement's
WHERE clause to perform operation(s), such as comparisons and arithmetic operations. These
Operators are used to specify conditions in an SQL statement and to serve as conjunctions for
multiple conditions in a statement.

• Arithmeticoperators
• Comparisonoperators
• Logicaloperators
• Operators used to negateconditions

Pre-Requisite Data:

2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802
CUSTOMER TABLE

ID NAME AGE ADDRESS SALARY


1 Akshay 25 Delhi 30000
2 Manish 27 Mumbai 35000
3 Kushagra 26 Kolkata 30000
4 Mukesh 31 Hyderabad 32000
5 Himanshu 29 Chennai 40000
6 Neeraj 30 Noida 36000
7 Nishant 32 Delhi 30000
Queries:
Q1. Write a query to find the salary of a person where age is <= 26 and salary >= 25000 from
customer table.
SQL>SELECT * FROM CUSTOMERS WHERE AGE <= 26 AND SALARY >= 25000;
Output:

Q2. Write a query to find the salary of a person where age is <= 26 or salary > =33000 from
customer table.
SQL>SELECT * FROM CUSTOMERS WHERE AGE <= 26 or SALARY > =33000;
Output:

Q3.Write a query to find the name of customer whose salary is not 30000.
SQL>SELECT * FROM CUSTOMERS WHERE NOT SALARY=30000;

Output:

2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802

3. AIM:Write SQL queries for groupfunctions.

Theory:
An SQL group function or aggregate functions performs an operation on a group of
rows and returns a single result. You may want retrieve group of item-prices and return total-
price. This type of scenario is where you would use a group functions. The following table is
summary of some SQL group function & query examples.

Function Description Query Example


AVG(fieldname) Returns average value of SELECT avg(price) FROM
a Column inventory;
COUNT(fieldname) Returns number of items in Table SELECT count(product_id) from
or queried items Product;
MAX (fieldname) Returns maximum value SELECT max(price)FROM
ofColumn inventory;
MIN(fieldname) Returns minimum SELECT min(price)FROM
value of Column inventory;
SUM(fieldname) Returns total value of Column SELECT sum(price)FROM
inventory;

To use a group function in a SQL query, list the function name followed by numeric column
name within parentheses. AVG averages the column, COUNT counts the number of items,
MAX returns maximum number of the column, and MIN returns minimum number of the
column .The following is query to retrieve total price, average price, maximum price, and
minimum price from the table “product” assuming the product table has the following values.
QUERY:
PRODUCT TABLE

Product ID Name Description Price Colour


100000000 Printer Inkjet 300 colour Printer 120 80
100000001 Printer 1220XI Inkjet Printer 200 130
100000002 Printer Photo 890 Inkjet Printer 250 200
100000003 Printer Photo 890 Inkjet Printer 300 270

Q1. Write a query find the total price of the product.

2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802

Q2. Write a query find the average price of the product.

Q3. Write a query find the max price of the product.

4. AIM: Write SQL query using order byfunction.

Theory:
The ORDER BY clause in SQL will help us to sort the records based on the specific column of a table.
ORDER BY Syntax:
SELECT column_name(s)
FROM table_name
ORDER BY column_name(s) ASC|DESC|RAND();

2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802
QUERY:
Query to show the list of NAME AND SALARY according to salary in ascending order.

SELECT NAME, SALARY


FROM Customers
ORDER BY SALARY;

Output:

Query to show the list of NAME AND SALARY according to salary in ascending order.

SELECT NAME, SALARY


FROM Customers
ORDER BY SALARY
DESC;

Output:

2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802
Query to show the list of NAME AND SALARY according to salary in random order.

SELECT NAME, SALARY


FROM Customers
ORDER BY RAND();

Output:

2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802
5. AIM: Write SQL query using order by, GROUP BYclause.

Theory: The MYSQL GROUP BY Clause is used to collect data from multiple records and group the
result by one or more column. It is generally used in a SELECT statement.
You can also use some aggregate functions like COUNT, SUM, MIN, MAX, AVG etc. on the
grouped column.

CUSTOMER TABLE

ID NAME AGE ADDRESS SALARY


1 Akshay 25 Delhi 30000
2 Manish 27 Mumbai 35000
3 Kushagra 26 Kolkata 30000
4 Mukesh 31 Hyderabad 32000
5 Himanshu 29 Chennai 40000
6 Neeraj 30 Noida 36000
7 Nishant 32 Delhi 30000

Queries:
MySQL GROUP BY Clause with COUNT function:
SELECT ADDRESS, COUNT(ADDRESS) AS “ADDRESS”
FROMCUSTOMERS
GROUP BY ADDRESS;

MySQL GROUP BY Clause with SUM function:


SELECT ADDRESS, COUNT(SALARY) AS “SALARY CITY WISE”
FROM CUSTOMERS
GROUP BY ADDRESS;

2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802

2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802
6. AIM: Write SQL queries for sub queries, nestedqueries.

Theory:
Nested Queries: Nesting of queries one within another is known as a nestedqueries.
Sub queries. The query within another is known as a sub query. A statementcontaining sub
query is called parent statement. The rows returned by sub query areused by the parent
statement. Types
1. Sub queries that return several valuesSub queries can also return more than one value. Such
results should be made usealong with the operators in andany.
2. Multiplequeries
Here more than one sub query is used. These multiple sub queries are combined bymeans of
„and‟ & „or‟ keywords
3. Correlated subquery
A sub query is evaluated once for the entire parent statement whereas a correlatedSub query is
evaluated once per row processed by the parentstatement.
Relating Data through Join Concept
The purpose of a join concept is to combine data spread across tables. A join isactually
performed by the „where‟ clause which combines specified rows of tables.Syntax;
selectcolumns from table1, table2 where logical expression; Types of Joins 1.Simple Join 2.Self
Join 3. Outer Join 4. Inner Join
1. Simple Join
a) Equi-join: A join, which is based on equalities, is calledequi-join.
b) Non Equi-join: It specifies the relationship
betweenTableAliases
Table aliases are used to make multiple table queries shorted and more readable. Wegive an
alias name to the table in the „from‟ clause and use it instead of the namethroughout the query.
Self join: Joining of a table to itself is known as self-join. It joins one row in a tableto another.
It can compare each row of the table to itself and also with other rows ofthe same table.
Outer Join: It extends the result of a simple join. An outer join returns all the rowsreturned by
simple join as well as those rows from one table that do not match anyrow from the table. The
symbol (+) represents outerjoins.

Inner join: Inner join returns the matching rows from the tables that are being joined

Queries:
EMPLOYEE TABLE

EMPNO ENAME JOB DEPTNO SALARY


1 Mathi AP 1 30000
2 Arjun ASP 2 32000
3 Gugan ASP 2 40000
4 Karthik AP 1 35000

2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802
Q1. Display all employee names and salary whose salary is greater than minimum salary of the
company and job title starts with „A‟.
SQL>select ename,sal from emp where sal>(select min(sal) from emp where job like 'A%');

Output:

7. AIM:Write an SQL query to implement JOINS.

Theory:
A SQL join clause combines column
s from one or more tables in a relational database. It creates a set that can be saved as
a table or used as it is. A JOIN is a means for combining columns from one (self-table) or more
tables by using values common to each. ANSI-standard SQL specifies five types of JOIN:
INNER, LEFT OUTER, RIGHT OUTER, FULL OUTER and CROSS. As a special case, a
table (base table, view, or joined table) can JOIN to itself in aself-join.
A programmer declares a JOIN statement to identify rows for joining. If the evaluated predicate
is true, the combined row is then produced in the expected format, a row set or a temporary
table.

QUERIES:
EMPLOYEE TABLE

EMPNO ENAME JOB DEPTNO SALARY


1 Mathi AP 1 30000
2 Arjun ASP 2 32000
3 Gugan ASP 2 40000
4 Karthik AP 1 35000

DEPARTMENT TABLE

DEPTNO DNAME LOCATION


1 ACCOUNTING NEW YORK
2 RESEARCH DALLAS
30 SALES CHICAGO
2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802
40 OPERATIONS BOSTON

Q1. Display the employee details, departments that the departments are same in both the emp
and dept.

SQL>select * from emp,dept where emp.deptno=dept.deptno

8. AIM: Write a query for extracting data from more than one table.

Query:

EMPLOYEE TABLE

EMPNO ENAME JOB DEPTNO SALARY


1 Mathi AP 1 30000
2 Arjun ASP 2 32000
3 Gugan ASP 2 40000
4 Karthik AP 1 35000

DEPARTMENTTABLE

DEPTNO DNAME LOCATION


1 ACCOUNTING NEW YORK
2 RESEARCH DALLAS
30 SALES CHICAGO
40 OPERATIONS BOSTON

2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802

Q1.Write a query to extract empno, ename, salary, dname and location from employee and
department table where empno = deptno without using joins.

Q2. Write a query to extract ename, salary and location from employee and department table where
is like 30, 40.
SQL>selectemployee.ename, employee.salary, department.locationFrom
department, employee
Where department.deptnoIN (30,40);

Output:

No rows Selected.

2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802
9. AIM:Write a query to understand the concepts for ROLL BACK , COMMIT and SAVEPOINT.

Theory:
Transaction Control Language(TCL) commands are used to manage transactions in
database.These are used to manage the changes made by DML statements. It also allows
statements to be grouped together into logical transactions.
Commit command
Commit command is used to permanently save any transaaction into database.
Following is Commit command's syntax,
COMMIT;
Rollback command
This command restores the database to last commited state. It is also use with savepoint
command to jump to a savepoint in a transaction. Following is Rollback command's
syntax, rollback to savepoint-name;
Savepoint command
Savepoint command is used to temporarily save a transaction so that you can rollback to that
point whenevernecessary.
Following is savepoint command's syntax, savepointsavepoint-name;

QUERY:
Q1. Write a query to implement the save point.
SQL> select employee.empno, employee.ename, employee.salary, department.dname,
department.location From department, employee
Where department.deptno = employee.empno;

SQL> SAVEPOINT S1;


Savepoint created.

2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802
Q2. Write a query to implement the Rollback.
SQL> ROLL BACKS1;
Rollbackcomplete.

Q3. Write a query to implement the COMMIT command


SQL> select employee.empno, employee.ename, employee.salary,
department.dname, department.location From department, employee
Where department.deptno = employee.empno;

SQL> SAVEPOINT S1;


Savepointcreated.
SQL>COMMIT;

10. AIMS:Write a query to understand the concepts oftriggers.


Theory: It is a special type of stored procedure that is invoked automatically in response to an event.
Each trigger is associated with a table, which is activated on any DML statement such as INSERT,
UPDATE, or DELETE.
We can define the maximum six types of actions or events in the form of triggers:
• Before Insert: It is activated before the insertion of data into thetable.
• After Insert: It is activated after the insertion of data into thetable.
• Before Update: It is activated before the update of data in thetable.
• After Update: It is activated after the update of the data in thetable.
• Before Delete: It is activated before the data is removed from thetable.
• After Delete: It is activated after the deletion of data from thetable.
The following naming convention should be used to name the trigger in MySQL:
(BEFOR | AFTER) table_name (INSERT | UPDATE | DELETE) Syntax:
Create Trigger:
CREATE TRIGGER trigger_name
(AFTER | BEFORE) (INSERT | UPDATE | DELETE)
ON table_name FOR EACH ROW
BEGIN
“Trigger Code” END;
Create Table and insert records:
CREATE TABLE employee( name
varchar(45) NOT NULL,
occupation varchar(35) NOT
NULL,
working_date date,
working_hours varchar(10)
);
INSERT INTOemployeeVALUES ('Robin', 'Scientist','2020-10-04',12), ('Warner', 'Engineer',
'2020-10-04', 10), ('Peter', 'Actor', '2020-10-04', 13), ('Marco', 'Doctor', '2020-10-04',14),
('Brayden', 'Teacher', '2020-10-04', 12), ('Antonio', 'Business', '2020-10-04', 11);

2108021530011
NITRA TECHNICAL CAMPUS, GHAZIABAD
College Code-802

Queries: create a BEFORE INSERT trigger mysql>


DELIMITER // mysql> Create Trigger
before_insert_empworkinghours
BEFORE INSERT ON employee FOR EACH ROW
BEGIN
IF NEW.working_hours< 0 THEN SET NEW.working_hours = 0;
END IF;
END //

If the trigger is created successfully, we will get the output as follows:

To invoke the trigger:


mysql> INSERT INTO employee VALUES ('Markus', 'Former', '2020-10-08', 14);

2108021530011

You might also like