Vous êtes sur la page 1sur 7

/*

Name:YASHASHREE NIMONKAR
Roll No.:54 Div:TE Comp 1
TITLE:Design and Develop SQL DDL statements which demonstrate the use of SQL
objects such as Table, View, and Index using Client-Data sever (two tiers)
*/

admin1@admin1:~$ mysql -u root -p


Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 40
Server version: 5.5.47-0ubuntu0.14.04.1 (Ubuntu)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its


affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database Employee;


Query OK, 1 row affected (0.00 sec)

mysql> use Employee;


Database changed

mysql> create table Work(


-> Emp_Name varchar(8),
-> Emp_ID int(3),
-> Emp_Age int(2),
-> Emp_Addr varchar(7),
-> Designation varchar(8),
-> Company_Name varchar(6));
Query OK, 0 rows affected (0.07 sec)

mysql> alter table Work add primary key(Emp_ID);


Query OK, 0 rows affected (0.17 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> insert into Work


-> values('ANUJA',101,23,'PUNE','MANAGER','TCS');
Query OK, 1 row affected (0.03 sec)

mysql> insert into Work values('RAM',203,33,'MUMBAI','TESTER','INFOSYS');


Query OK, 1 row affected, 1 warning (0.03 sec)

mysql> insert into Work values('SHIVANI',107,25,'PUNE','TESTER','TCS');


Query OK, 1 row affected (0.04 sec)

mysql> insert into Work values('AKSHAY',345,34,'CHENNAI','CA','L&T');


Query OK, 1 row affected (0.04 sec)

mysql> insert into Work values('SUNNY',234,22,'PUNE','CA','TCS');


Query OK, 1 row affected (0.04 sec)

mysql> insert into Work values('SURBHI',678,36,'MUMBAI','CA','INFOSYS');


Query OK, 1 row affected, 1 warning (0.03 sec)
mysql> insert into Work values('SAM',758,43,'PUNE','TESTER','TCS');
Query OK, 1 row affected (0.02 sec)

mysql> insert into Work values('MONALI',563,38,'MUMBAI','CA','INFOSYS');


Query OK, 1 row affected, 1 warning (0.02 sec)

mysql> insert into Work values('SONALI',386,40,'MUMBAI','TESTER','INFOSYS');


Query OK, 1 row affected, 1 warning (0.02 sec)

mysql> select * from Work;


+----------+--------+---------+----------+-------------+--------------+
| Emp_Name | Emp_ID | Emp_Age | Emp_Addr | Designation | Company_Name |
+----------+--------+---------+----------+-------------+--------------+
| ANUJA | 101 | 23 | PUNE | MANAGER | TCS |
| SHIVANI | 107 | 25 | PUNE | TESTER | TCS |
| RAM | 203 | 33 | MUMBAI | TESTER | INFOSY |
| SUNNY | 234 | 22 | PUNE | CA | TCS |
| AKSHAY | 345 | 34 | CHENNAI | CA | L&T |
| SONALI | 386 | 40 | MUMBAI | TESTER | INFOSY |
| MONALI | 563 | 38 | MUMBAI | CA | INFOSY |
| SURBHI | 678 | 36 | MUMBAI | CA | INFOSY |
| SAM | 758 | 43 | PUNE | TESTER | TCS |
+----------+--------+---------+----------+-------------+--------------+
9 rows in set (0.00 sec)

1. CREATE VIEW view1 for employee database where Designation is “Tester”.

mysql> create view view1 as select * from Work where Designation='TESTER';


Query OK, 0 rows affected (0.02 sec)

mysql> SELECT * FROM view1;


+----------+--------+---------+----------+-------------+--------------+
| Emp_Name | Emp_ID | Emp_Age | Emp_Addr | Designation | Company_Name |
+----------+--------+---------+----------+-------------+--------------+
| SHIVANI | 107 | 25 | PUNE | TESTER | TCS |
| RAM | 203 | 33 | MUMBAI | TESTER | INFOSY |
| SONALI | 386 | 40 | MUMBAI | TESTER | INFOSY |
| SAM | 758 | 43 | PUNE | TESTER | TCS |
+----------+--------+---------+----------+-------------+--------------+
4 rows in set (0.00 sec)

2. CREATE VIEW view2 where name of employee start from letter ‘S’.

mysql> create view view2 as select * from Work where Emp_Name like 'S%';
Query OK, 0 rows affected (0.02 sec)

mysql> select * from view2;


+----------+--------+---------+----------+-------------+--------------+
| Emp_Name | Emp_ID | Emp_Age | Emp_Addr | Designation | Company_Name |
+----------+--------+---------+----------+-------------+--------------+
| SHIVANI | 107 | 25 | PUNE | TESTER | TCS |
| SUNNY | 234 | 22 | PUNE | CA | TCS |
| SONALI | 386 | 40 | MUMBAI | TESTER | INFOSY |
| SURBHI | 678 | 36 | MUMBAI | CA | INFOSY |
| SAM | 758 | 43 | PUNE | TESTER | TCS |
+----------+--------+---------+----------+-------------+--------------+
5 rows in set (0.00 sec)
3. CREATE VIEW view3 for employee database where address is “Pune” and company_name
is “TCS”or Address is “Mumbai” and company_name is “Infosys”.

mysql> create view view3 as select * from Work where (Emp_Addr='PUNE' AND
Company_Name='TCS') OR (Emp_Addr='MUMBAI' AND Company_Name='INFOSY');
Query OK, 0 rows affected (0.04 sec)

mysql> select * from view3;


+----------+--------+---------+----------+-------------+--------------+
| Emp_Name | Emp_ID | Emp_Age | Emp_Addr | Designation | Company_Name |
+----------+--------+---------+----------+-------------+--------------+
| ANUJA | 101 | 23 | PUNE | MANAGER | TCS |
| SHIVANI | 107 | 25 | PUNE | TESTER | TCS |
| RAM | 203 | 33 | MUMBAI | TESTER | INFOSY |
| SUNNY | 234 | 22 | PUNE | CA | TCS |
| SONALI | 386 | 40 | MUMBAI | TESTER | INFOSY |
| MONALI | 563 | 38 | MUMBAI | CA | INFOSY |
| SURBHI | 678 | 36 | MUMBAI | CA | INFOSY |
| SAM | 758 | 43 | PUNE | TESTER | TCS |
+----------+--------+---------+----------+-------------+--------------+
8 rows in set (0.00 sec)

4. CREATE VIEW view4 taking all records grouped w.r.t. designation.

mysql> create view view4 as select * from Work group by Designation;


Query OK, 0 rows affected (0.03 sec)

mysql> select * from view4;


+----------+--------+---------+----------+-------------+--------------+
| Emp_Name | Emp_ID | Emp_Age | Emp_Addr | Designation | Company_Name |
+----------+--------+---------+----------+-------------+--------------+
| SUNNY | 234 | 22 | PUNE | CA | TCS |
| ANUJA | 101 | 23 | PUNE | MANAGER | TCS |
| SHIVANI | 107 | 25 | PUNE | TESTER | TCS |
+----------+--------+---------+----------+-------------+--------------+
3 rows in set (0.00 sec)

5. CREATE VIEW view5 along with a JOIN statement.

mysql> create view view5 as select


view1.Emp_ID,view1.Emp_Age,view2.Emp_Addr,view2.Designation from view1,view2 where
view1.Emp_ID=view2.Emp_ID;
Query OK, 0 rows affected (0.04 sec)

mysql> select * from view5;


+--------+---------+----------+-------------+
| Emp_ID | Emp_Age | Emp_Addr | Designation |
+--------+---------+----------+-------------+
| 107 | 25 | PUNE | TESTER |
| 386 | 40 | MUMBAI | TESTER |
| 758 | 43 | PUNE | TESTER |
+--------+---------+----------+-------------+
3 rows in set (0.00 sec)

6. DROP VIEW View3.

mysql> DROP VIEW view3;


Query OK, 0 rows affected (0.00 sec)
mysql> show tables;
+--------------------+
| Tables_in_Employee |
+--------------------+
| Work |
| view1 |
| view2 |
| view4 |
| view5 |
| view6 |
| view7 |
| view9 |
+--------------------+

8 rows in set (0.00 sec)

7. Display content of view1,view2,view3.

mysql> SELECT * FROM view1;


+----------+--------+---------+----------+-------------+--------------+
| Emp_Name | Emp_ID | Emp_Age | Emp_Addr | Designation | Company_Name |
+----------+--------+---------+----------+-------------+--------------+
| SHIVANI | 107 | 25 | PUNE | TESTER | TCS |
| RAM | 203 | 33 | MUMBAI | TESTER | INFOSY |
| SONALI | 386 | 40 | MUMBAI | TESTER | INFOSY |
| SAM | 758 | 43 | PUNE | TESTER | TCS |
+----------+--------+---------+----------+-------------+--------------+
4 rows in set (0.00 sec)

mysql> select * from view2;


+----------+--------+---------+----------+-------------+--------------+
| Emp_Name | Emp_ID | Emp_Age | Emp_Addr | Designation | Company_Name |
+----------+--------+---------+----------+-------------+--------------+
| SHIVANI | 107 | 25 | PUNE | TESTER | TCS |
| SUNNY | 234 | 22 | PUNE | CA | TCS |
| SONALI | 386 | 40 | MUMBAI | TESTER | INFOSY |
| SURBHI | 678 | 36 | MUMBAI | CA | INFOSY |
| SAM | 758 | 43 | PUNE | TESTER | TCS |
+----------+--------+---------+----------+-------------+--------------+
5 rows in set (0.00 sec)

mysql> select * from view3;


+----------+--------+---------+----------+-------------+--------------+
| Emp_Name | Emp_ID | Emp_Age | Emp_Addr | Designation | Company_Name |
+----------+--------+---------+----------+-------------+--------------+
| ANUJA | 101 | 23 | PUNE | MANAGER | TCS |
| SHIVANI | 107 | 25 | PUNE | TESTER | TCS |
| RAM | 203 | 33 | MUMBAI | TESTER | INFOSY |
| SUNNY | 234 | 22 | PUNE | CA | TCS |
| SONALI | 386 | 40 | MUMBAI | TESTER | INFOSY |
| MONALI | 563 | 38 | MUMBAI | CA | INFOSY |
| SURBHI | 678 | 36 | MUMBAI | CA | INFOSY |
| SAM | 758 | 43 | PUNE | TESTER | TCS |
+----------+--------+---------+----------+-------------+--------------+
8 rows in set (0.00 sec)

8. Create View to Update company name of employee whose empid is 101.


mysql> create view view9 as select * from Work where Emp_Age between 22 and 25;
Query OK, 0 rows affected (0.04 sec)

mysql> select * from view9;


+----------+--------+---------+----------+-------------+--------------+
| Emp_Name | Emp_ID | Emp_Age | Emp_Addr | Designation | Company_Name |
+----------+--------+---------+----------+-------------+--------------+
| ANUJA | 101 | 23 | PUNE | MANAGER | TCS |
| SHIVANI | 107 | 25 | PUNE | TESTER | TCS |
| SUNNY | 234 | 22 | PUNE | CA | TCS |
+----------+--------+---------+----------+-------------+--------------+

3 rows in set (0.00 sec)

mysql> update view9 set Company_Name='DRAGON' where Emp_ID=101;


Query OK, 1 row affected (0.04 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> SELECT * FROM view9;


+----------+--------+---------+----------+-------------+--------------+
| Emp_Name | Emp_ID | Emp_Age | Emp_Addr | Designation | Company_Name |
+----------+--------+---------+----------+-------------+--------------+
| ANUJA | 101 | 23 | PUNE | MANAGER | DRAGON |
| SHIVANI | 107 | 25 | PUNE | TESTER | TCS |
| SUNNY | 234 | 22 | PUNE | CA | TCS |
+----------+--------+---------+----------+-------------+--------------+
3 rows in set (0.00 sec)

9. Create View to Display average age of employee workinh in “Infosys”.

mysql> create view view6 as select avg(Emp_Age) from Work where


Company_Name='INFOSY';
Query OK, 0 rows affected (0.03 sec)

mysql> select * from view6;


+--------------+
| avg(Emp_Age) |
+--------------+
| 36.7500 |
+--------------+
1 row in set (0.00 sec)

10. Create View to Display total number of employee's working for “TCS”.

mysql> create view view7 as select count(Emp_Name) from Work where


Company_Name='TCS';
Query OK, 0 rows affected (0.04 sec)

mysql> select * from view7;


+-----------------+
| count(Emp_Name) |
+-----------------+
| 3 |
+-----------------+
1 row in set (0.00 sec)

11. Create Simple and Unique index.

mysql> create index index1 on Work(Emp_ID);


Query OK, 0 rows affected (0.14 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> create unique index index2 on Work(Emp_Age);


Query OK, 0 rows affected (0.11 sec)
Records: 0 Duplicates: 0 Warnings: 0

12. Display index Information.

mysql> show index from Work;


+-------+------------+----------+--------------+-------------+-----------
+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation |
Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+----------+--------------+-------------+-----------
+-------------+----------+--------+------+------------+---------+---------------+
| Work | 0 | PRIMARY | 1 | Emp_ID | A |
9 | NULL | NULL | | BTREE | | |
| Work | 0 | index2 | 1 | Emp_Age | A |
9 | NULL | NULL | YES | BTREE | | |
| Work | 1 | index1 | 1 | Emp_ID | A |
9 | NULL | NULL | | BTREE | | |
+-------+------------+----------+--------------+-------------+-----------
+-------------+----------+--------+------+------------+---------+---------------+
3 rows in set (0.00 sec)

13. Drop Index.

mysql> alter table Work drop index index1;


Query OK, 0 rows affected (0.08 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> alter table Work drop index index2;


Query OK, 0 rows affected (0.07 sec)
Records: 0 Duplicates: 0 Warnings: 0

mysql> show index from Work;


+-------+------------+----------+--------------+-------------+-----------
+-------------+----------+--------+------+------------+---------+---------------+
| Table | Non_unique | Key_name | Seq_in_index | Column_name | Collation |
Cardinality | Sub_part | Packed | Null | Index_type | Comment | Index_comment |
+-------+------------+----------+--------------+-------------+-----------
+-------------+----------+--------+------+------------+---------+---------------+
| Work | 0 | PRIMARY | 1 | Emp_ID | A |
9 | NULL | NULL | | BTREE | | |
+-------+------------+----------+--------------+-------------+-----------
+-------------+----------+--------+------+------------+---------+---------------+
1 row in set (0.00 sec)

mysql> alter table Work drop index index1;


ERROR 1091 (42000): Can't DROP 'index1'; check that column/key exists
mysql> alter table Work drop index index2;
ERROR 1091 (42000): Can't DROP 'index2'; check that column/key exists

mysql> exit;
Bye
admin1@admin1:~$

Vous aimerez peut-être aussi