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

Dbms Internal

..

Uploaded by

kadukarsuraj3
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)
36 views

Dbms Internal

..

Uploaded by

kadukarsuraj3
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
You are on page 1/ 11

Create table student and execute all DDL Commands

-- Step 1: Create Table

CREATE TABLE student (

student_id INT PRIMARY KEY,

name VARCHAR(50),

age INT,

gender CHAR(1),

grade VARCHAR(10)

);

-- Step 2: Alter Table - Add a new column

ALTER TABLE student ADD address VARCHAR(100);

-- Alter Table - Modify an existing column

ALTER TABLE student MODIFY age TINYINT;

-- Alter Table - Drop an existing column

ALTER TABLE student DROP COLUMN grade;

-- Step 3: Rename Table

RENAME TABLE student TO student_info;

-- Step 4: Truncate Table

TRUNCATE TABLE student_info;

-- Step 5: Drop Table

DROP TABLE student_info;

Create table employee and execute all DML Commands. Create user also grant and revoke
privileges from user

-- Step 1: Create the Employee Table

CREATE TABLE employee (


emp_id INT PRIMARY KEY,

name VARCHAR(50),

position VARCHAR(50),

salary DECIMAL(10, 2),

department VARCHAR(50)

);

-- Step 2: DML Commands

-- 2.1: INSERT data into the table

INSERT INTO employee (emp_id, name, position, salary, department)

VALUES

(1, 'Alice', 'Manager', 75000, 'HR'),

(2, 'Bob', 'Developer', 60000, 'IT'),

(3, 'Charlie', 'Analyst', 50000, 'Finance');

-- 2.2: UPDATE data in the table

UPDATE employee

SET salary = salary * 1.1

WHERE department = 'IT';

-- 2.3: DELETE data from the table

DELETE FROM employee

WHERE emp_id = 3;

-- 2.4: SELECT data from the table

SELECT * FROM employee;

-- Step 3: Create a User

CREATE USER 'employee_user'@'localhost' IDENTIFIED BY 'password123';


-- Step 4: Grant Privileges

-- Grant SELECT and INSERT privileges on the 'employee' table to the user

GRANT SELECT, INSERT ON employee TO 'employee_user'@'localhost';

-- Step 5: Revoke Privileges

-- Revoke INSERT privilege from the user

REVOKE INSERT ON employee FROM 'employee_user'@'localhost';

-- Step 6: Verify Privileges

-- Display user privileges

SHOW GRANTS FOR 'employee_user'@'localhost';

Create table student and add 5 records also create view on student and insert, modify
delete record through view.

-- Create the student table

CREATE TABLE student (

roll_no INT PRIMARY KEY,

name VARCHAR(50),

age INT,

department VARCHAR(50)

);

-- Insert 5 records

INSERT INTO student VALUES (1, 'Alice', 20, 'Science');

INSERT INTO student VALUES (2, 'Bob', 22, 'Commerce');

INSERT INTO student VALUES (3, 'Charlie', 21, 'Arts');

INSERT INTO student VALUES (4, 'David', 23, 'Science');

INSERT INTO student VALUES (5, 'Eve', 20, 'Commerce');

-- Create a view

CREATE VIEW student_view AS

SELECT roll_no, name, department FROM student;


-- Insert through view

INSERT INTO student_view (roll_no, name, department)

VALUES (6, 'Frank', 'Engineering');

-- Update through view

UPDATE student_view

SET name = 'Alice Updated'

WHERE roll_no = 1;

-- Delete through view

DELETE FROM student_view

WHERE roll_no = 2;

-- Display the data

SELECT * FROM student;

Create table Employee and Department. Also assign primary key in employee table and
foreign key in Department table add 5 records in Department table.

-- Create Department table

CREATE TABLE department (

dept_id INT PRIMARY KEY,

dept_name VARCHAR(50)

);

-- Insert 5 records into Department

INSERT INTO department VALUES (1, 'HR');

INSERT INTO department VALUES (2, 'IT');

INSERT INTO department VALUES (3, 'Finance');

INSERT INTO department VALUES (4, 'Marketing');

INSERT INTO department VALUES (5, 'Operations');


-- Create Employee table with a foreign key to Department

CREATE TABLE employee (

emp_id INT PRIMARY KEY,

emp_name VARCHAR(50),

dept_id INT,

FOREIGN KEY (dept_id) REFERENCES department(dept_id)

);

Create table employee, add 5 records also use like operator 5 different ways to display
name of employee.

-- Insert records into Employee table

INSERT INTO employee VALUES (1, 'Alice', 1);

INSERT INTO employee VALUES (2, 'Bob', 2);

INSERT INTO employee VALUES (3, 'Charlie', 3);

INSERT INTO employee VALUES (4, 'David', 4);

INSERT INTO employee VALUES (5, 'Eve', 5);

-- Use LIKE operator

SELECT * FROM employee WHERE emp_name LIKE 'A%'; -- Starts with A

SELECT * FROM employee WHERE emp_name LIKE '%e'; -- Ends with e

SELECT * FROM employee WHERE emp_name LIKE '%a%'; -- Contains a

SELECT * FROM employee WHERE emp_name LIKE '__v%'; -- Two underscores then 'v'

SELECT * FROM employee WHERE emp_name NOT LIKE '%e%'; -- Does not contain e

i) Write a PL/SQL program to print numbers from 50 to 60 using for loop.


BEGIN
FOR i IN 50..60 LOOP
DBMS_OUTPUT.PUT_LINE(i);
END LOOP;
END;

ii) Write a PL/SQL program to display factorial of a given number.

DECLARE

num INT := 5;

fact INT := 1;

BEGIN
FOR i IN 1..num LOOP

fact := fact * i;

END LOOP;

DBMS_OUTPUT.PUT_LINE('Factorial of ' || num || ' is ' || fact);

END;

i) Write a PL/SQL program to print numbers largest number from three numbers.

DECLARE

a INT := 10;
b INT := 20;
c INT := 15;
largest INT;
BEGIN
IF a > b AND a > c THEN
largest := a;
ELSIF b > c THEN
largest := b;
ELSE
largest := c;
END IF;
DBMS_OUTPUT.PUT_LINE('Largest number is: ' || largest);
END;

iii) Write a PL/SQL program to print numbers from 1 to 50 using while loop.

DECLARE

i INT := 1;

BEGIN

WHILE i <= 50 LOOP

DBMS_OUTPUT.PUT_LINE(i);

i := i + 1;

END LOOP;

END;

Use 5 arithmetic function,5 string functions and date time function

-- Arithmetic functions

SELECT ABS(-5), POWER(2, 3), MOD(10, 3), FLOOR(10.8), CEIL(10.2);

-- String functions
SELECT LENGTH('Hello'), UPPER('hello'), LOWER('WORLD'), SUBSTR('Oracle', 2, 3), INSTR('Hello
World', 'o');

-- Date-Time functions

SELECT SYSDATE, ADD_MONTHS(SYSDATE, 2), LAST_DAY(SYSDATE),


MONTHS_BETWEEN(SYSDATE, '2024-01-01'), NEXT_DAY(SYSDATE, 'FRIDAY');

I) Write a PL/SQL program to print even number between 1 to 100 numbers.


DECLARE
i INT := 1;
BEGIN
WHILE i <= 100 LOOP
IF MOD(i, 2) = 0 THEN
DBMS_OUTPUT.PUT_LINE(i);
END IF;
i := i + 1;
END LOOP;
END;
i) Write a program to handle divide by zero exception.
DECLARE
num1 INT := 10;
num2 INT := 0;
result INT;
BEGIN
result := num1 / num2;
EXCEPTION
WHEN ZERO_DIVIDE THEN
DBMS_OUTPUT.PUT_LINE('Error: Division by zero');
END;
ii) Write a PL/SQL program which accept the customer ID from the user if user
enters an invalid ID then the exception invalid_id is raised using exception
handling.
DECLARE
customer_id INT := 101; -- Input value
invalid_id EXCEPTION;
BEGIN
IF customer_id NOT IN (100, 200, 300) THEN
RAISE invalid_id;
END IF;
DBMS_OUTPUT.PUT_LINE('Valid Customer ID');
EXCEPTION
WHEN invalid_id THEN
DBMS_OUTPUT.PUT_LINE('Error: Invalid Customer ID');
END;

Consider the table Employee( Eid, Ename, Ecity, Ejob, dept, salary) write SQL query for
following:
i) Insert a record of employee

INSERT INTO Employee (Eid, Ename, Ecity, Ejob, dept, salary)

VALUES (1, 'John', 'New York', 'Manager', 'HR', 75000);

ii) Modify the name of employee “Raj” to “Rajesh.

UPDATE Employee

SET Ename = 'Rajesh'

WHERE Ename = 'Raj';

iii) Delete employee details who works in marketing department

DELETE FROM Employee

WHERE dept = 'Marketing';

iv) Display details of employee who works as clerk, salesman or manager.

SELECT * FROM Employee

WHERE Ejob IN ('Clerk', 'Salesman', 'Manager');

Consider the table Student (name, marks, dept, age, place, phone, birthdate) Write SQL
query for following :

i)To list students having place as ‘Pune’ or ‘Jalgaon’.

SELECT * FROM Student

WHERE place IN ('Pune', 'Jalgaon');

ii)To list students having same department (dept) as that of ‘Rachana’.

SELECT * FROM Student

WHERE dept = (SELECT dept FROM Student WHERE name = 'Rachana');

(iii)To change marks of ‘Rahul’ from 81 to 96.

UPDATE Student

SET marks = 96

WHERE name = 'Rahul' AND marks = 81;

(iv) To list student name and marks from ‘Computer’ dept.

SELECT name, marks

FROM Student

WHERE dept = 'Computer';

(v) To list student name who have marks less than 40.

SELECT * FROM Student


WHERE marks < 40;

(vi) To list students who are not from ‘Mumbai’.

SELECT * FROM Student

WHERE place <> 'Mumbai';

Consider the structure for book table as Book-Master (bookid, bookname, author, no_of
copies, price) Write down SQL queries for following:

(i) Write a command to create Book_master table.


SELECT * FROM Student

WHERE place <> 'Mumbai';

(ii) Get authorwise list of all books.


SELECT author, COUNT(*) AS total_books

FROM Book_Master

GROUP BY author;

(iii) Display all books whose price is between ` 500 & ` 800.

SELECT * FROM Book_Master

WHERE price BETWEEN 500 AND 800;

(iv) Display all books with details whose name start with ‘D’.

SELECT * FROM Book_Master

WHERE bookname LIKE 'D%';

(v) (v) Display all books whose price is above ` 700.


SELECT * FROM Book_Master

WHERE price > 700;

(vi) Display all books whose number of copies are less than 10.
SELECT * FROM Book_Master
WHERE no_of_copies < 10;

Consider following schema :

EMP (empno, deptno, ename, salary, designation, join_date, DOB, dept_location). Write
down SQL queries for following:

(i) Display employees name & number in decreasing order of salary.

SELECT ename, empno

FROM EMP

ORDER BY salary DESC;


(ii) Display employee name & employee number whose designation is Manager.

SELECT ename, empno

FROM EMP

WHERE designation = 'Manager';

(iii) Display age of employees with ename.

SELECT ename, FLOOR(MONTHS_BETWEEN(SYSDATE, DOB) / 12) AS age

FROM EMP;

(iv) Display total salary of all employees.

SELECT SUM(salary) AS total_salary

FROM EMP;

(v) Display employee names having deptno as 20 and dept_location is Mumbai.

SELECT ename

FROM EMP

WHERE deptno = 20 AND dept_location = 'Mumbai';

(vi) Display name of employee who earned lowest salary.


SELECT ename
FROM EMP
WHERE salary = (SELECT MIN(salary) FROM EMP);

Write a command to create table student (rollno, Stud_name, branch, class, DOB, City,
Contact_no) and write down queries for following:

(i) Insert one row into the table


CREATE TABLE Student (

rollno INT PRIMARY KEY,

stud_name VARCHAR(50),

branch VARCHAR(50),

class VARCHAR(20),

DOB DATE,

city VARCHAR(50),

contact_no VARCHAR(15)

);

(ii) Save the data


INSERT INTO Student (rollno, stud_name, branch, class, DOB, city, contact_no)
VALUES (1, 'Alice', 'Computer Science', 'First Year', '2002-06-15', 'Pune',
'9876543210');

(iii) Insert second row into the table


COMMIT;

(iv) (iv) Undo the insertion of second row


INSERT INTO Student (rollno, stud_name, branch, class, DOB, city, contact_no)

VALUES (2, 'Bob', 'Mechanical', 'Second Year', '2001-08-12', 'Mumbai', '8765432109');

(v) (v) Create save point S1.


ROLLBACK;

(vi) Insert one row into the table.


SAVEPOINT S1;

INSERT INTO Student (rollno, stud_name, branch, class, DOB, city, contact_no)
VALUES (3, 'Charlie', 'Electrical', 'Third Year', '2000-03-22', 'Nashik', '7654321098');

You might also like