Uploaded by Ahsan Shaheer

Database System lab

advertisement
DBMS
BY INZA NAEEM
Objective

Connection File

Create Table Query

Insert Query

Select Query
Connection File

This php code establishes a connection to MySQL database using the provided
server name, user name, password and database name. The ‘mysqli_connect’
function is used for this purpose.

<?php

$servername = "localhost";

$username = "root";

$password = "";

$dbname = "table";

$conn = mysqli_connect($servername, $username, $password, $dbname);

?>
Create Query

<?php

include ('dbconnection.php');

$sql = "CREATE TABLE dept(

deptno INT(2),

dname VARCHAR(14),

loc VARCHAR(13),

CONSTRAINT pk_dept PRIMARY KEY (deptno)

)";
Create Query

$result = mysqli_query($conn,$sql);

if ($result) {


echo "Table Created Successfully";
} else {


echo "Error creating Table: " . mysqli_error($conn);
}

?>
Create Query Explanation

1. include ('dbconnection.php');`: This line includes an external PHP file
(`dbconnection.php`) that presumably contains the database connection
code.

2. $sql = "create table dept(...";`: Defines an SQL query to create a table
named "dept" with specified columns (deptno, dname, loc) and a primary
key constraint on deptno.

3. $result = mysqli_query($conn,$sql);`: Executes the SQL query using the
established database connection (`$conn`) and stores the result in the
`$result` variable.
Create Query Explanation

4. `if(result=true){`: This line contains a typo and should be `if ($result ===
true) {`. It checks if the query execution was successful.

5. `echo "Table Created Successfully";`: Outputs a success message if the
query execution was successful.

6. `else { echo "Error creating Table:" . mysqli_error($conn); }`: Outputs an
error message along with the specific MySQL error if the query execution
fails. The error message is obtained using `mysqli_error` function.
Insert values in table

<?php

include('dbconnection.php');

// Insert values into the dept table

$sql1 = "INSERT INTO dept (deptno, dname, loc) VALUES (10,
'ACCOUNTING', 'NEW YORK')";

$sql2 = "INSERT INTO dept (deptno, dname, loc) VALUES (20,
'RESEARCH', 'DALLAS')";

$sql3 = "INSERT INTO dept (deptno, dname, loc) VALUES (30, 'SALES',
'CHICAGO')";

$sql4 = "INSERT INTO dept (deptno, dname, loc) VALUES (40,
'OPERATIONS', 'BOSTON')";
Insert values in table

// Execute each SQL statement

$result1 = mysqli_query($conn, $sql1);

$result2 = mysqli_query($conn, $sql2);

$result3 = mysqli_query($conn, $sql3);

$result4 = mysqli_query($conn, $sql4);
// Check for successful execution

if ($result1 && $result2 && $result3 && $result4) {


echo "Values inserted successfully into dept table.";
} else {

echo "Error inserting values into dept table: " . mysqli_error($conn);

}

?>
Insert value emp table:

"INSERT INTO emp VALUES (7839, 'KING', 'PRESIDENT', null, '" .
convertDateFormat('17-11-1981') . "', 5000, null, 10)",

"INSERT INTO emp VALUES (7698, 'BLAKE', 'MANAGER', 7839, '" .
convertDateFormat('1-5-1981') . "', 2850, null, 30)",

"INSERT INTO emp VALUES (7782, 'CLARK', 'MANAGER', 7839, '" .
convertDateFormat('9-6-1981') . "', 2450, null, 10)",

"INSERT INTO emp VALUES (7566, 'JONES', 'MANAGER', 7839, '" .
convertDateFormat('2-4-1981') . "', 2975, null, 20)",

"INSERT INTO emp VALUES (7788, 'SCOTT', 'ANALYST', 7566, '" .
convertDateFormat('13-JUL-87') . "', 3000, null, 20)",

"INSERT INTO emp VALUES (7902, 'FORD', 'ANALYST', 7566, '" .
convertDateFormat('3-12-1981') . "', 3000, null, 20)",

"INSERT INTO emp VALUES (7369, 'SMITH', 'CLERK', 7902, '" .
convertDateFormat('17-12-1980') . "', 800, null, 20)",

"INSERT INTO emp VALUES (7499, 'ALLEN', 'SALESMAN', 7698, '" .
convertDateFormat('20-2-1981') . "', 1600, 300, 30)",

"INSERT INTO emp VALUES (7521, 'WARD', 'SALESMAN', 7698, '" .
convertDateFormat('22-2-1981') . "', 1250, 500, 30)",

"INSERT INTO emp VALUES (7654, 'MARTIN', 'SALESMAN', 7698, '" .
convertDateFormat('28-9-1981') . "', 1250, 1400, 30)",

"INSERT INTO emp VALUES (7844, 'TURNER', 'SALESMAN', 7698, '" .
convertDateFormat('8-9-1981') . "', 1500, 0, 30)",

"INSERT INTO emp VALUES (7876, 'ADAMS', 'CLERK', 7788, '" .
convertDateFormat('13-JUL-87') . "', 1100, null, 20)",

"INSERT INTO emp VALUES (7900, 'JAMES', 'CLERK', 7698, '" .
convertDateFormat('3-12-1981') . "', 950, null, 30)",

"INSERT INTO emp VALUES (7934, 'MILLER', 'CLERK', 7782, '" .
convertDateFormat('23-1-1982') . "', 1300, null, 10)"
Select Query

Retrieve all columns for all departments:

SELECT * FROM dept;

Retrieve departments located in 'NEW YORK’:

SELECT * FROM dept WHERE loc = 'NEW YORK';

Retrieve all columns for all employees:

SELECT * FROM emp;

Retrieve specific columns (empno, ename, job, mgr, hiredate, sal, comm,
deptno) for all employees:

SELECT empno, deptno FROM emp;

Retrieve employees with a salary greater than 3000:

SELECT * FROM emp WHERE sal > 3000;
Select Query

<?php

include ('dbconnection.php');

$sql1 = "SELECT * FROM dept";

$result1 = mysqli_query($conn, $sql1);

if ($result1) {

// Fetch and display results

while ($row = mysqli_fetch_assoc($result1)) {


print_r($row); // Or display individual columns using
$row['column_name']
}
Select Query

} else {


echo "Error executing query: " . mysqli_error($conn);
}

// Close the database connection

mysqli_close($conn);

?>
Select Query Explanation

if ($result1) {: This line starts a conditional block. It checks if the result of
the query ($result1) is truthy, indicating that the query was executed
successfully.

while ($row = mysqli_fetch_assoc($result1)) {: This line initiates a while
loop that fetches each row of the query result as an associative array
($row) using mysqli_fetch_assoc.

print_r($row);: This line prints the contents of the $row array, which
represents a single row of the query result. It can be used to display all
columns of the row.
Select Query Explanation

// Or display individual columns using $row['column_name']: This comment
indicates an alternative way to display individual columns of the row by
accessing them using their column names.

} else {: This line starts the else block for the conditional statement. If the
query execution failed, this block will be executed.

echo "Error executing query: " . mysqli_error($conn);: This line prints an
error message indicating that there was an error executing the query. It
includes the specific error message obtained from mysqli_error($conn).
Lab Task 1:
Write a MySQL query to create a table named 'emp' with the following columns and
constraints:
•empno (integer, 4 digits, unsigned)
•ename (varchar, maximum length 10)
•job (varchar, maximum length 9)
•mgr (integer, 4 digits, unsigned)
•hiredate (date)
•sal (decimal, 7 digits total, 2 decimal places)
•comm (decimal, 7 digits total, 2 decimal places)
•deptno (integer, 2 digits, unsigned)
Include a primary key constraint on the 'empno' column and a foreign key constraint
('fk_deptno') referencing the 'dept' table on the 'deptno' column."
Lab Task 2:
Write a MySQL query to create a table named 'salgrade' with the following columns:
•grade (integer)
•losal (integer)
•hisal (integer)
Ensure the appropriate data types are used for each column.
Lab Task 3:

Write a PHP script to insert the following values into the 'salgrade' table:

Grade 1: Minimum Salary 700, Maximum Salary 1200

Grade 2: Minimum Salary 1201, Maximum Salary 1400

Grade 3: Minimum Salary 1401, Maximum Salary 2000

Grade 4: Minimum Salary 2001, Maximum Salary 3000

Grade 5: Minimum Salary 3001, Maximum Salary 9999
Lab Task 4:

Execute each of the SELECT queries provided on slide 12.
Download