0% found this document useful (0 votes)
9 views14 pages

SQL

The document outlines SQL commands for creating and managing database tables, including employee and department tables, with examples of inserting, updating, and deleting data. It explains the use of constraints like primary and foreign keys, as well as various selection queries and operations such as joins and string manipulation. Additionally, it covers the syntax for importing files and using wildcard searches in SQL queries.

Uploaded by

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

SQL

The document outlines SQL commands for creating and managing database tables, including employee and department tables, with examples of inserting, updating, and deleting data. It explains the use of constraints like primary and foreign keys, as well as various selection queries and operations such as joins and string manipulation. Additionally, it covers the syntax for importing files and using wildcard searches in SQL queries.

Uploaded by

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

//dashboard open

localhost:8080/phpmyadmin/

Lab#05

//employee
create table employee (
e_id int,
e_name varchar(255),
department varchar,
age int,
gender varchar,
email varchar

);

//department
create table dept (
d_id int,
d_name varchar(255),
university varchar(255),
email varchar(255)

);

//new_dep
create table new_dep(
d_id int not null,
d_name varchar(255) DEFAULT 'Computer Science',
loc varchar(234)

);

LAb #06

// Constraints
s_name varchar(220) not null //-> (constrain)

Differnce btw unique and primary key:

student
========
id (Unique)
name
email (Unique)
password (Unique)
cnic (Unique)

Note: ik table ma unique keys ziyada ban skti han lakin primary key 1 hi hoti ha

Unique key and primary key data dublicate na ho isi liya use krty han.

// for madify change data type


alter table student
modify column address varchar(233)

//for drop
alter table student
drop column address

//for change name of column


alter table student
change column product name ->column name product_name -> jo name rakhna ha
varchar(90)

//for change table name


alter table student
Rename to student table -> jo name likhna ha vo ay ga

//syntax of foreign key


CREATE TABLE project(

p_id int PRIMARY key,


p_name varchar(234),
s_id int, FOREIGN key (s_id) REFERENCES student_table (s_id),
supervisor varchar(90)

);

LAB# 07:

//Table of employee

CREATE TABLE Employee(


e_id int() PRIMARY Key,
e_name varchar(230),
city varchar(230),
d_id int() , FOREIGN key (d_id) REFERENCES department(d_id)
);

//Table of Department

Create TABLE department(


d_id int PRIMARY key,
d_name varchar(230),
hod varchar(400)
);

//Syntax

insert into department (d_id , d_name , hod) values (1, 'CS', '[Link]'), (2,
'HR', 'Faiza'), (3, 'EE', 'Humble Hassan'), (4, 'Bussiness', '[Link]'), (5,
'SE', '[Link]');
INSERT into employee (e_id , e_name , city , d_id) VALUES (101, 'Ahmad', 'Sialkot',
1), (102, 'Arslan', 'Gujranwala', 2), (103, 'Hamza', 'Lahore', 1), (104, 'Ali',
'Sialkot', 3), (105, 'Haider', 'Gujranwala', 5);

//updation syntax
update employee set e_name = 'Ali Ahmad' where e_name = 'Ali'
//delete row syatax:
delete from department where d_name = 'cs' =========== ya d_id dlt ho ga d_name nai
bcz vo inter connect tha
delete from department where d_id = 4; ============== ya dlt ho ga bcz vo inter
connect nai tha

//delete data from employee department


delete from employee where e_name = 'Ahmad';

//Sub Queiry ===== // agar data bhi check krna ha


Delete from employee where d_id = (Select d_id From department where d_name =
"CS");

Delete from employee where d_id = 1

//auto implement ======== jesay jesay data enter hota jay ga vo us ko us ki values
assign krta jay ga
create table student(
s_id int AUTO_Increment primary key,
s_name varchar(222),
department_name varchar(456)

);

//add data
auto_increment = 100; ======= agar ap na apni marzi ki kisi value sa start krna ha
insert into student(e_name, dept_name) values (hamza, cs),(ali,se),(umer,ee);

//where close
delete from employee where d_id = (Select d_id from dept where d_name = "CSS");

//Selection
is used to select the data of rows and coloumns

Lab# 08

//how to import file


sab sa pehly import pa jana ha fir choose file krna ha fir import kr dena ha

//*
means ka ik table ma jitny bhi coloumns h

//Selection
is used to select the data of rows and coloumns

//Selection Syntax:

Select * from tablename

//agar department ka coloum chng krny hn


Select * from dept

//agar ham bs ik coloumn chng krna ha ha to bs us ka name likhy gay


Select d_name from dept
// How to use operations
SELECT EMPNO , ENAME, SAL , SAL+100 from emp;

ya jo +100 ha vo bs display krwany ka liya hova ha actual nai hova

// agar ham na sal+100 ko temporary name dena ha


SELECT EMPNO , ENAME, SAL , SAL+100 as "After Increment" from emp;
====================== is ma agar as use krna ha to thkh ha vrna asay bhi chalay ga

SELECT EMPNO , ENAME, SAL , SAL-100 as "After Increment" from emp;


========================= used for subtraction
SELECT EMPNO , ENAME, SAL , SAL+100 as "After Increment" from emp;
========================= used for addition

// Concatination
SELECT concat (ENAME , JOB) from emp ================================= do ya do sa
zyada coloum ko merge krny ka liya =========== e.g SMITHCLERK============ smith is
ename and clerk is job

// actual use of concat


SELECT concat ( 'Employee' ,ENAME , ' work as a ' ,JOB ) from emp;
SELECT concat ( 'Employee' ,ENAME , ' joined the company on ' ,HIREDATE) from emp;
===== it is written as EmployeeSMITH joined the company on 1980-12-17

// is ma vo data display krwaya ha jis ma employes sales man ha


SELECT ENAME , JOB from emp WHERE JOB = "Salesman";
// different methods
SELECT ENAME , DEPTNO from emp WHERE DEPTNO = "10";
SELECT ENAME , JOB, DEPTNO from emp WHERE DEPTNO = "10";

// queiry: empno , ename , job of employe SCOTT


Syntax-> SELECT ENAME , JOB, DEPTNO from emp WHERE ENAME = "SCOTT";

// TO FIND SPECIFICK HEIREDATE


SYNTAX-> SELECT * FROM emp WHERE HIREDATE = '1980-12-17'; ======= YA US EMPLOYEE KA
DATA DISPLAY HOVA HA JO IS DATE KO HEIRE HOVA THA

//IN (set) ========= un value ka data display kry ga jis ko ham na set kiya ho ga
SELECT EMPNO, ENAME, SAL, DEPTNO, MGR FROM emp WHERE MGR IN (7698, 7566, 7782);
SELECT EMPNO, ENAME, SAL, DEPTNO, ENAME FROM emp WHERE ENAME IN ('King', 'Smith');

//NOt In (set) ========= un values ka data display nai ho ga jo ham na set kiya ho
ga
SELECT EMPNO, ENAME, SAL, DEPTNO, MGR FROM emp WHERE MGR NOT IN (7698, 7566,
7782);
SELECT EMPNO, ENAME, SAL, DEPTNO, MGR FROM emp WHERE ENAME NOT IN ('King',
'Smith');

//check kry gay jis ki salary <=3000 ha


SELECT EMPNO, ENAME, JOB, SAL FROM emp WHERE SAL <=3000;

// check jin ki salary 2500 sa 3500 ka darmiyan ma ha


SELECT ENAME, SAL FROM emp WHERE SAL BETWEEN 2500 AND 3500;

//String WildCards =========== ma ham log patterns ko match krty hn

//Like ===== use hota h ka agar ham na starting alphabet khud dena ha jesay hamay
name chahiya jo A sa start hota ho oe agay % is waja sa lagaya ha aagay jo mrzi ay
SELECT ENAME from emp WHERE ENAME LIKE 'A%';
Syntax-> 'A%' ;

//%ham na bad ma is liya use kiya ha ka jis ka end ma n aata ho


SELECT ENAME from emp WHERE ENAME LIKE '%N';
Syntax-> '%N';

//'%on%' is liya use kiya ha ka ya kahi start ma mid ma end pa jaha ay us ka data
show ho
SELECT ENAME from emp WHERE ENAME LIKE '%on%';
Syntax-> '%on%' ;

// _ ya is liya ka is ka 2 word a ho
SELECT ENAME from emp WHERE ENAME LIKE '_a%';

//lab#09

agar ham na multiple tables ka data select krna ha


select e_name, d_name from emp,dept

// Joins
2 table ko appas ma join krna
// is sa data dublicate ho ga table cross product ho gay
SELECT employee.d_id , employee.e_name , department.d_name , department.d_id from
employee,department

//ya data dublication ko rokti ha


SELECT employee.d_id , employee.e_name , department.d_name , department.d_id from
employee,department where employee.d_id = department.d_id;

//crossproduct + condition = join ka liya


SELECT employee.d_id , employee.e_name , department.d_name , department.d_id from
employee NATURAL JOIN department

join hamesha related table ko krna h

// Difference btw Natural join and join

Natural join ========== ma us ko pata ho ga us na kon sa table ko relate krna h


SELECT employee.d_id , employee.e_name , department.d_name , department.d_id from
employee NATURAL JOIN department

Join ========== is ma hamay batana paray ga agay condition likhni paray gi


Syntax for join === SELECT employee.d_id , employee.e_name , department.d_name ,
department.d_id from employee JOIN department ON employee.d_id=department.d_id;

SELECT employee.e_name , department.d_name, [Link] from employee JOIN


department ON employee.d_id=department.d_id;

//on === tab use hota ha jab hamara coloumn name different hota ha
//using ===== jab coloumn name same hota ha

//Single row function


is ma data single single row ka pata lgta ha
//multiple row function
is ma ham log set ko rows ka data define krty ha

//Select
jab bhi koi function use krna ha to pehly select word use krna ha

//agar lowers letters sa likhy words nikalny ha ka kon kon sa ha


SELECT lower (ENAME) FROM emp;

//ik hi function ka andr 2 function us ma upper or lower bataya ha


SELECT concat('Employee' , lower(ENAME) , 'work as a' , upper(job)) FROM emp WHERE
ENAME = "Smith";

//Substr
SELECT substr('Hello World' , 2,6) ======= ya ham use krty han ka ham na kaha sa
kaha tk print krwana ha
-> ello W // output is ma us na spce bhi count ki ha
-> elloWo // is ma us na space nai count ki bcz is ka syantax ma space nai thi

//instr ==== is ki specific word ki position find krny ka liya


SELECT instr('HelloWorld' , 'O') the output is 5

//LPAD
SELECT LPAD (SAL,10,'*')FROM emp;

===================================================================================
===================================================================================
=====================================================
===================================================================================
===================================================================================
=====================================================

+======+
| LAB 7|
+======+

==========================+
->syntax for foreign Key: |
==========================+
CREATE TABLE department(

d_id int PRIMARY KEY,


d_name varchar(255),
hod varchar(255)
);

CREATE TABLE Employee(

e_id int PRIMARY KEY,


city varchar(255),
d_id int, FOREIGN KEY(d_id) REFERENCES department(d_id)
e_name varchar(255)
);

=========================+
->Syntax for adding data:|
=========================+

insert into department (d_id , d_name ,HoD)


VALUES(1 , 'CS' ,'[Link]'),
(2 , 'HR' ,'[Link]'),
(3 , 'Buisness' ,'[Link]'),
(4 , 'SE' ,'[Link]');

//write values in order of the column and write varchar values in sigle quotation.

insert into employee (e_id,city, d_id, e_name) VALUES


(101 ,'Gujranwala',1, 'Subhan'),
(102 ,'Los angeles',2, 'Mahad butt'),
(103 ,'Sialkot',1, 'Ahmed' ),
(104 ,'lahore',4, 'Ali');

//More than one employee can work in a single department

==========================+
->For updating the values:|
==========================+

UPDATE employee set e_name = 'Ali ahmed' where e_name = 'Ali';


UPDATE employee set e_name = 'Hamza' where city = 'lahore';

// jis column ko update krna hai uska naam set name mai rkhna hai
====================+
->For deleting rows:|
====================+

DELETE FROM department where d_id = 3;


DELETE FROM employee where e_name = 'Hamza';

DELETE FROM employee WHERE d_id = (SELECT d_id FROM department WHERE d_name =
'CS');
|
this means
|
DELETE FROM employee WHERE d_id =1

// The data that is not used in other table can be deleted. Error other wise.

=============================+
--> for primary and foreign key after making table |
=============================+
ALTER TABLE employee
ADD CONSTRAINT pk_employee PRIMARY KEY (emp_id);

ALTER TABLE employee ADD FOREIGN KEY (emp_id) REFERENCES employee (manager_id);
+======+
|LAB 8 |
+======+

+=====================+
->For Selecting: |
+=====================+

SELECT * FROM `emp`

// display all the coulumns in the table because of "*"

SELECT e_name FROM `emp`

//display only the name column

SELECT ENAME,JOB FROM `emp`;


SELECT ENAME,JOB,SAL FROM `emp`;

SELECT ENAME,EMPNO,SAL, SAL+100 FROM `emp`;

//First SAl will display the table second SAL will incrimant the salary by 100 in
SAl it's temporary and will discard the changes when refreshed.

SELECT ENAME,EMPNO,SAL, SAL+100 AS "AFTER INCRIMANT" FROM `emp`;

//This will add another column named AFTER INCRIMANT that will display values after
+100 this is also temporary.

SELECT ENAME,EMPNO,SAL, SAL-200 AS "AFTER DECRIMANT" FROM `emp`;

//This will add another column named AFTER DECRIMANT that will display values after
-200 this is also temporary.

---NOTE--- **AS keyword is not necessary**

SELECT concat(ENAME , JOB) FROM emp;


SELECT concat(ENAME,JOB,EMPNO) FROM `emp`;

//concat the columns. Concating is used for making a Proper Statement as shown
below -->=

SELECT concat('Employee' , ENAME, 'Work as a' ,JOB,'his number is = ' ,EMPNO) FROM
`emp`;

----*A sentence will be generated as = Employee Smith Work as a Clerk his number is
= 102*----

SELECT concat('Employee ' , ENAME, ' Work as a ' ,JOB,' his number is = ' ,EMPNO)
AS "CONCAT" FROM `emp`;

//This will give a name "CONCAT" to the whole column.

SELECT ENAME,JOB FROM emp WHERE JOB = "salesman"

//Display name and job of only employees that are working as salesman.
SELECT ENAME,JOB,DEPTNO FROM emp WHERE DEPTNO = 10

//Display name,department number and job of only employees whose deptno is 10.

SELECT ENAME,JOB,EMPNO FROM emp WHERE ENAME = "scott";

SELECT ENAME,JOB,EMPNO,SAL FROM emp WHERE SAL <= 3000;

//Display name,department number,salary and job of only those employees whose


salary is less than and equals to 3000.

SELECT ENAME,JOB,EMPNO,SAL FROM emp WHERE SAL BETWEEN 2500 AND 3500;

//Display name,department number,salary and job of only those employees whose


salary b/w 2500 to 3000.

+=====+
IN = |
+=====+

SELECT ENAME,JOB,EMPNO,SAL FROM emp WHERE MGR IN (7902,7698,7839);

//Display name,department number,salary and job of only those employees whose


manager id is 7902,7698 and 7839.

+=========+
NOT IN = |
+=========+

SELECT ENAME,JOB,EMPNO,SAL FROM emp WHERE MGR NOT IN (7902,7698,7839);

//Display name,department number,salary and job of all employees expect


7902,7698,7839.

-----------------------------------------------------------------------------------
--------------------------------------------------------->

SELECT ENAME,JOB,EMPNO,SAL FROM emp WHERE ENAME IN ('KING','SMITH');


SELECT ENAME,JOB,EMPNO,SAL FROM emp WHERE ENAME NOT IN ('KING','SMITH');

+-------------+
MODULOUS(%)= |
+-------------+

SELECT ENAME FROM `emp` WHERE ENAME LIKE 'S%'


SELECT ENAME FROM `emp` WHERE ENAME LIKE 'A%'

//Display name of employees whose STARTING alphabet is S , A


SELECT ENAME FROM `emp` WHERE ENAME LIKE '%S'

//Display name of employees whose ENDING alphabet is S.

SELECT ENAME FROM `emp` WHERE ENAME LIKE '%ON%';

//Display name of employees who have O and N alphabet togethher in their names.

SELECT ENAME,JOB FROM `emp` WHERE JOB LIKE '%MAN%';

//Display name of employees and Job who have M,A,N alphabet togethher in their
Job's name.

+---------------+
UNDERSCORE(_)= |
+---------------+

SELECT ENAME FROM `emp` WHERE ENAME LIKE 'S__T_';

//underscore used for the missing alphabets. this will display name of employee
SMITH and SCOTT.

+===================+
| LAB 9 |
+===================+

+=====================================================+
->For Selecting different values from different table:|
+=====================================================+

SELECT employee.d_id ,employee.e_name , department.d_name , department.d_id from


employee , department
//duplicate values.

SELECT employee.d_id ,employee.e_name , department.d_name , department.d_id from


employee , department WHERE employee.d_id * department.d_id;
//Duplicate values.

SELECT employee.d_id ,employee.e_name , department.d_name , department.d_id from


employee , department WHERE employee.d_id = department.d_id;
//No duplicate values.
OR

+===============+
| NATURAL JOIN: |
+===============+
SELECT employee.d_id ,employee.e_name , department.d_name , department.d_id from
employee NATURAL JOIN department;
//both will give same output.

+=======+
| JOIN: |
+=======+
SELECT employee.d_id ,employee.e_name , department.d_name , department.d_id from
employee JOIN department ON employee.d_id = department.d_id;
//we need to give the condition. The output is same

SELECT [Link] ,[Link] , [Link],[Link] from emp JOIN dept ON [Link]


= [Link];
//from lab 8

SELECT [Link] ,[Link] , [Link],[Link] from emp JOIN dept ON [Link]


= [Link] WHERE ENAME = "SCOTT";

SELECT [Link] ,[Link] , [Link],[Link] from emp JOIN dept ON [Link]


= [Link] WHERE [Link] = 20;

+===========+
| LAB 10,11 |
+===========+

SELECT e.e_name,d.d_name FROM employee e JOIN department d ON e.d_id = d.d_id;

//(here e after employee is the temporary name given to the employee table and d to
department table.
this will display and join the coulumns e_name and d_name where d_id of both tables
are same)

CREATE TABLE employee( emp_id int, emp_name varchar(255), manager_id int );

SELECT e.last_name employees, m.last_name mgr FROM employees e JOIN employees m ON


(e.MANAGER_ID = m.EMPLOYEE_ID);
//from schema

SELECT EMPLOYEE_ID , CITY , DEPARTMENT_NAME FROM employees e JOIN departments d ON


d.DEPARTMENT_ID = e.DEPARTMENT_ID JOIN locations l ON d.LOCATION_ID =
l.LOCATION_ID;

===========
left outer =
===========

SELECT e.LAST_NAME, e.DEPARTMENT_ID, d.DEPARTMENT_NAME FROM employees e LEFT OUTER


JOIN departments d ON (e.DEPARTMENT_ID = d.DEPARTMENT_ID);

===========
right outer =
===========
SELECT e.LAST_NAME, e.DEPARTMENT_ID, d.DEPARTMENT_NAME FROM employees e RIGHT OUTER
JOIN departments d ON (e.DEPARTMENT_ID = d.DEPARTMENT_ID);

==========+
LAB 12 = |
==========+

SELECT lower(ENAME) FROM emp;


//to display in lower case. lower is the function name.
SELECT concat('Employee ' , lower(ENAME), ' Work as a ', upper(job) ) AS "CONCAT"
FROM `emp`;
//this will display Employee "employee's name in lower case" work as a "employee's
job in upper case". The word written in inverted comma after as will be the name of
column. Here concat will be name of column.
//e.g= name is smith and job is clerk it will display = "Employee smith work as a
CLERK"

SELECT concat('Employee ' , lower(ENAME), ' Work as a ', upper(job) ) FROM emp
WHERE ename = "Smith";
//AS keyword id not necessary.

---------
SUBSTR =
---------
SELECT substr('Helloworld',1,6)
//1 is the starting position and 6 is the ending position that how many words are
to be [Link] where to where.
SELECT substr('Helloworld', 5 , 8 );
SELECT SUBSTRING('DatabaseSystems' , 5, 4) AS Result;
// Name after As will be the name of the column.

---------
LENGTH =
---------
SELECT length('EBAAD ALI' );
//it will display length of the whole statement including spaces.

---------
INSTR =
---------
SELECT instr('HelloWorld','W');
//display the position of the specific word in numbers. e.g W is on number 6 so "6"
will be displayed.
SELECT INSTR(LOWER('Programming'), 'g') AS position;

-----------------
LPAD(left pad) =
-----------------
SELECT lpad(SAL,10,'*') FROM emp;
//this will replace empty spaces with "*" e.g = salary is 8000 it will be displayed
as = ******8000, completing 10 values that we gave it , SAL here is the column in
emp table.

-----------------
RPAD(right pad) =
-----------------
SELECT Rpad(SAL,10,'*') FROM emp;
//this will replace empty spaces with "*" e.g = salary is 8000 it will be displayed
as = 8000******, completing 10 values that we gave it , SAL here is the column in
emp table.

---------
REPLACE =
---------
SELECT REPLACE('JACK and JUE' , 'J' ,'BL');
// it will replace J with BL giving output = black and blue.
---------
trim =
---------
SELECT trim('H' FROM 'HelloWOrld');
display everything except H.

============+
Lab 14 |
============+

SELECT AVG(SAL), MAX(SAL), MIN(SAL), SUM(SAL) FROM emp;

OUTPUT WILL BE =
---------------------------------------------------------
AVG(SAL) MAX(SAL) MIN(SAL) SUM(SAL)
2073.214286 5000.00 800.00 29025.00
---------------------------------------------------------

SELECT AVG(SAL), MAX(SAL), MIN(SAL), SUM(SAL) FROM emp WHERE JOB LIKE '%MAN';
//This will display Salary of Employees whose job is ending with "MAN"

SELECT AVG(DISTINCT SAL) FROM emp;


// NO duplicate values when we use distinct keyword

-------+
COUNT =
-------+
SELECT COUNT(SAL) FROM emp;
// count no. of salaries

SELECT COUNT(SAL) FROM emp WHERE DEPTNO = 10;


//display salaries of employees whose department [Link] 10.

SELECT DEPTNO, AVG(SAL) FROM emp GROUP BY DEPTNO;

=========+
Last Lab |
=========+
--------
views= |
--------
CREATE VIEW empView1 AS SELECT EMPLOYEE_ID, FIRST_NAME, EMAIL,SALARY FROM employees
//here empView1 is view name.

CREATE VIEW salView2 AS SELECT ENAME, EMPNO, SAL FROM emp WHERE SAL>1000;
//condition applied

DROP VIEW salview2;


//to delete View.
CREATE VIEW view3 AS SELECT SAL,EMPNO,ENAME FROM emp WHERE SAL > 5000 AND ENAME
LIKE '%ee%';
//two conditions using AND.

we use "ALTER VIEW view3" to make changes

You might also like