Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 19

/***************************CREATION OF NEW TABLE***************************/

FIRST OF ALL WE HAVE TO CREATE A TABLE


SQL> CREATE TABLE MCA
(SNO NUMBER,
NAME CHAR(20),
ROLLNO NUMBER,
DOB DATE,
COURSE CHAR(6),
S CHAR,
AGE NUMBER,
GRADE VARCHAR(3));
Table created.

NOW TO SEE THE STRUCTURE OF THE TABLE WE USE DESCRIBE COMMAND .

SQL> DESC MCA


Name
Null?
Type
------------------------------- -------- --------------------------SNO
NUMBER
NAME
CHAR(20)
ROLLNO
NUMBER
DOB
DATE
COURSE
CHAR(6)
S
CHAR(1)
AGE
NUMBER
GRADE
VARCHAR2(3)
---------------------------------------------------------------------------

NOW WE HAVE TO POPULATE TABLE WITH DATA ,MEANS WE HAVE TO ENTER ROW WITH
THE HELP OF INSERT COMMAND.

SQL> INSERT INTO MCA VALUES(1,KULDEEP SAINI',12,'21-OCT-86','MCA','M',21,'A');


1 row created.
SQL> INSERT INTO MCA VALUES(2,'RAKESH SINGHMAR',22,'23-DEC-8','MCA','M',23,'A+');
1 row created.
SQL>

INSERT INTO MCA VALUES(3,'PRADEEP CHAHAR',20,'15-JAN-85','MCA','M',22,'A');

1 row created.
SQL> INSERT INTO MCA VALUES(4,'SIMRAN PANCHAL',11,'4-APR-86','MCA','F',21,'A++');
1 row created.
SQL> INSERT INTO MCA VALUES(5,'SAGAR PANCHAL',17,'6-MAR-85','MCA','M',22,'A+');
1 row created.
NOW TO SEE THE ALL ROWS IN A TABLE FOLLOWING COMMAND IS USED.
SQL> SELECT * FROM MCA;
SNO NAME
ROLLNO DOB
COURSE S
AGE GRA
--------- -------------------- --------- --------- ------ - --------- ----------------------------------------1 KULDEEP SAINI
12
21-OCT-86 MCA
M
21
A
2 RAKESH SINGHMAR
22
23-DEC-83 MCA
M
23 A+
3 PRADEEP CHAHAR
20
15-JAN-85 MCA
M
22 A
4 SIMRAN PANCHAL
11
04-APR-86 MCA
F
21 A++
5 SAGAR PANCHAL
17
06-MAR-85 MCA
M
22 A+
--------------------------------------------------------------------------------------------------------------

/*******************************RENAME COMMAND******** ************************/


RENAME COMMAND IS USED TO RENAME A EXISTING TABLE . FOR EXAMPLE WE CAN
RENAME. THE MCA TABLE AS CSE ,AS GIVEN BELOW.
SQL> RENAME MCA TO CSE;
Table renamed.
NOW THERE IS NO TABLE WITH NAME MCA. IF WE WRITE THE FOLLOWING COMMAND
THEN IT WILL SHOW ERROR MESSAGE.
SQL> SELECT * FROM MCA;
SELECT * FROM MCA
*
ERROR at line 1:
ORA-00942: table or view does not exist
BUT THE FOLLOWING COMMAND WILL RUN SUCCESSFULLY.
SQL> SELECT * FROM CSE;
SNO NAME
ROLLNO
DOB
COURSE S
AGE GRA
--------- -------------------- --------- --------- ------ - --------- -----------------------------------------------------1 KULDEEP SAINI
12
21-OCT-86
MCA
M
21
A
2 RAKESH SINGHMAR
22
23-DEC-83
MCA
M
23
A+
3 PRADEEP CHAHAR
20
15-JAN-85
MCA
M
22
A
4 SIMRAN PANCHAL
11
04-APR-86
MCA
F
21
A++
5 SAGAR PANCHAL
17
06-MAR-85 MCA
M
22
A+
--------------------------------------------------------------------------------------------------------------------------SQL> RENAME CSE TO MCA;
Table renamed.

/*****************************REFERENTIAL INTEGRITY*****************************/
REFERENTIAL INTEGRITY IS AN IMPORTANT CONSTRAINT OF TABLES.
ATTRIBUTES WHICH ARE PERMANENT LIKE NAME ,DOB,COURSE etc. ARE STORED IN ONE
TABLE CALLED MASTER TABLE.THE MASTER TABLE CONTAIN ONLY ONE RECORD FOR EVERY
STUDENT. NOW FIRST OF ALL WE CREATE A MASTER TABLE.
SQL> CREATE TABLE MCA1 (SNO NUMBER,
2 NAME CHAR(20),ROLLNO NUMBER PRIMARY KEY,
3 DOB DATE,
4 COURSE CHAR(6),
5 S CHAR,
6 AGE NUMBER,
7 GRADE VARCHAR(3));
Table created.
SQL> DESC MCA1
Name
Null?
Type
------------------------------- -------- --------------------------SNO
NUMBER
NAME
CHAR(20)
ROLLNO
NOT NULL
NUMBER
DOB
DATE
COURSE
CHAR(6)
S
CHAR(1)
AGE
NUMBER
GRADE
VARCHAR2(3)
---------------------------------------------------------------------ON OTHER HAND THERE IS A TRANSACTION TABLE.IT CAN HAVE MORE THAN ONE RECORD
FOR EVERY STUDENT
SQL> CREATE TABLE MCA1_MARKS
(ROLL_NO NUMBER REFERENCES MCA1,
SUBJECT VARCHAR(10),
EXAM_DATE DATE,
MARKS NUMBER(3));
Table created.

SQL> DESC MCA1_MARKS;


Name
Null?
Type
------------------------------- -------- ----------------------ROLL_NO
NUMBER
SUBJECT
VARCHAR2(10)
EXAM_DATE
DATE
MARKS
NUMBER(3)
NOW,
MCA1 IS A MASTER TABLE.
MCA1_MARKS IS TRANSACTION TABLE.
SQL> INSERT INTO MCA1 VALUES(1,'KULDEEP SAINI',12,'21-OCT-86', 'MCA','M',21,'A');
1 row created.
SQL> INSERT INTO MCA1 VALUES(2,'RAKESH SINGHMAR',22,'23-DEC-83','MCA','M',23,'A+');
1 row created.
SQL> INSERT INTO MCA1 VALUES(3,'PRADEEP CHAHAR',20,'15-JAN-85','MCA','M',22,'A');
1 row created.
SQL> INSERT INTO MCA1 VALUES(4,'SIMRAN PANCAHAL ',11,'4-APR-86','MCA','F',21,'A++');
1 row created.
SQL> INSERT INTO MCA1 VALUES(5,'SAGAR PANCHAL',17,'6-MAR-85','MCA','M',22,'A+');
1 row created.

SQL>SELECT * FROM MCA1;


SNO NAME
ROLLNO
DOB
COURSE
S
AGE GRA
--------- -------------------- --------- --------- ------ - --------- ---------------------------------------------------------1 KULDEEP SAINI
12
21-OCT-86
MCA
M
21
A
2 RAKESH SINGHMAR
22
23-DEC-83
MCA
M
23
A+
3 PRADEEP CHAHAR
20
15-JAN-85
MCA
M
22
A
4 SIMRAN PANCHAL
11
04-APR-86
MCA
F
21
A++
5 SAGAR PANCHAL
17
06-MAR-85
MCA
M
22
A+
------------------------------------------------------------------------------------------------------------------------------SQL> INSERT INTO MCA1_MARKS VALUES(11,'VB','13-DEC-2007',88);
1 row created.
SQL> INSERT INTO MCA1_MARKS VALUES(11,'DATA BASE','11-DEC-2007',78);
1 row created.
SQL> INSERT INTO MCA1_MARKS VALUES(17,'VC++','10-DEC-2007',81);
1 row created.
SQL> SELECT * FROM MCA1_MARKS;
ROLL_NO
SUBJECT
EXAM_DATE MARKS
--------- ---------- --------- ----------- ------------------ -----------11
VB
13-DEC-07
88
11
DATA BASE 11-DEC-07
78
17
VC++
1 0-DEC-07
81
----------------------------------------------------------------------------

NOW IF WE TRY TO DELETE A ROW WITH ROLLNO=11, FROM TABLE MCA1 , IT WILL
SHOW ERROR MESSAGE BECAUSE IT WILL VIOLATE THE REFERENTIAL INTEGRITY RULE.
SQL> DELETE FROM MCA1 WHERE ROLLNO=11;
DELETE FROM MCA1 WHERE ROLLNO=11
*
ERROR at line 1:
ORA-02292: integrity constraint (SCOTT.SYS_C00814) violated - child record found
NOW ,WE CAN USE ON DELETE CASCADE AS GIVEN BELOW TO SOLVE THIS PROBLEM .IN
THIS CASE WHEN WE DELETE ONE ROW FROM MASTER TABLE THE RELATED ROWS IN
TRANSACTION TABLE ARE AUTOMETICALLY DELETED.
SO NOW WE CREATE ANOTHER TRANSACTION TABLE NAMED MCA1_MARKS1 WITH
KEYWORDS DELETE CASCADE.

SQL> CREATE TABLE MCA1_MARKS1


(ROLLNO NUMBER REFERENCES MCA1 ON DELETE CASCADE
SUBJECT VARCHAR(10),
EXAM_DATE DATE,
MARKS NUMBER(3));
Table created.
SQL> INSERT INTO MCA1_MARKS1 VALUES(11,'VB','13-DEC-2007',88);
1 row created.
SQL> INSERT INTO MCA1_MARKS1 VALUES(11,'DATA BASE','11-DEC-2007',78);
1 row created.
SQL> INSERT INTO MCA1_MARKS1 VALUES(17,'VC++','10-DEC-2007',81);
1 row created.

SQL> SELECT * FROM MCA1_MARKS1 ;


ROLLNO
SUBJECT
EXAM_DATE MARKS
--------- ---------- --------- ----------------------------------------11
VB
13-DEC-07
88
11
DATA BASE 11-DEC-07
78
17
VC++
10-DEC-07
81
----------------------------------------------------------------------EVEN NOW WE CANNT DELETE ROW FROM MASTER TABLE BECAUSE PREVIOUS
TRANSACTION TABLE MCA1_MARKS IS PRESENT TILL NOW, SO ANY DELETION CAN
VIOLATE THE REFERENTIAL INTEGRITY CONSTRAINT.
SQL> DELETE FROM MCA1 WHERE ROLLNO=11;
DELETE FROM MCA1 WHERE ROLLNO=11
*
ERROR at line 1:
ORA-02292: integrity constraint (SCOTT.SYS_C00814) violated - child record found

SO, FIRSTLY WE HAVE TO DROP MCA1_MARKS.


SQL> DROP TABLE MCA1_MARKS;
Table dropped.
NOW WE CAN DELETE ANY ROW FROM THE MASTER TABLE, CRRESPOUNDING ROWS IN
TRANSACTION TABLE WILL BE DELETED AUTOMETICALLY.
SQL> DELETE FROM MCA1 WHERE ROLLNO=11;
1 row deleted.
SQL> SELECT * FROM MCA1_MARKS1 ;
ROLLNO
SUBJECT
EXAM_DATE MARKS
---------------------------------------------------------------------17
VC++
10-DEC-07
81
--------------------------------------------------------------------------

/*****************************JOIN OPERATION********************************/
WE WILL PERFORM JOIN OPERATION ON MCA1_MARKS1 AND MCA1. FIRSTY WE WILL ADD
SOME ROWS IN MCA1_MARKS1.
SQL> INSERT INTO MCA1_MARKS1 VALUES(12,'DATA BASE','12-DEC-2007',77);
1 row created.
SQL> INSERT INTO MCA1_MARKS1 VALUES(20,'VB','14-DEC-2007',58);
1 row created.
SQL> SELECT SNO,MCA1.ROLLNO,NAME,SUBJECT,MARKS
FROM MCA1,MCA1_MARKS1
WHERE MCA1.ROLLNO=MCA1_MARKS1.ROLLNO;
SNO
ROLLNO
NAME
SUBJECT
MARKS
--------- --------- -------------------- -------------------------------------1
12
KULDEEP SAINI
DATA BASE
77
3
20
PRADEEP CHAHAR VB
58
5
17
SAGAR PANCHAL VC++
81
----------------------------------------------------------------------------------------------/****************************OUTTER JOIN***********************************/
SQL> SELECT SNO,MCA1.ROLLNO,NAME,SUBJECT,MARKS
2 FROM MCA1,MCA1_MARKS1
3 WHERE MCA1.ROLLNO=MCA1_MARKS1.ROLLNO(+);
SNO ROLLNO
NAME
--------- --------- -------------------- ---------- --------5
17
SAGAR PANCHAL
3
20
PRADEEP CHAHAR
1
12
KULDEEP SAINI
2
22
RAKESH SINGHMAR

SUBJECT
----------------VC++
VB
DATA BASE

MARKS
-----------81
58
77

------------------------------------------------------------------------------------------------------------

/**************************SOME SPECIAL COMMANDS******************************/

(1) WE CAN USE ALIAS OF TABLES AS IN THE FOLLOWING COMMANDS.


SQL> SELECT SNO,M.ROLLNO,NAME,SUBJECT,MARKS
2 FROM MCA1 M,MCA1_MARKS1 M1
3 WHERE M.ROLLNO=M1.ROLLNO(+);
SNO
ROLLNO
NAME
SUBJECT
MARKS
--------- --------- -------------------- ---------- ---------------------------------5
17
SAGAR PANCHAL
VC++
81
3
20
PRADEEP CHAHAR
VB
58
1
12
KULDEEP SAINI
DATA BASE 77
2
22
RAKESH SINGHMAR
-------------------------------------------------------------------------------------------------------

(2) WE CAN DISPLAY ANY STRING INSTEAD OF ATTRIBUTES OF TABLE.

SQL> SELECT NAME "FNAME",COURSE "PG" FROM MCA1;


FNAME
PG
------------------- -----------------------KULDEEP SAINI
MCA
RAKESH SINGHMAR
MCA
PRADEEP CHAHAR
MCA
SAGAR PANCHAL
MCA
--------------------------------------------

(3) WE CAN PERFORM SOME CALCULATION ON THE ATTRIBUTES VALUES OF A TABLE.


SQL> SELECT NAME,SNO+ROLLNO "NET" FROM MCA1;
NAME
NET
-------------------- -------------------------KULDEEP SAINI
13
RAKESH SINGHMAR
24
PRADEEP CHAHAR
23
SAGAR PANCHAL
22
---------------------------------------------

/************************************DUAL TABLE***********************************/
IT IS PREDEFINED TABLE PROVIDED BY SQL . DUAL TABLE IS USE TO VARIFY ANY
PREDEFINED FUNCTIONS WHICH ARE ALSO PROVIDED BY SQL.
SQL> SELECT SYSDATE FROM DUAL;
SYSDATE
---------------20-NOV-07
SQL> SELECT USER FROM DUAL;
USER
--------------SCOTT
SQL> SELECT LN(1)FROM DUAL;
LN(1)
---------------0
SQL> SELECT COS(45) FROM DUAL;
COS(45)
----------------.52532199
SQL> SELECT CEIL(123.55) FROM DUAL;
CEIL(123.55)
-----------124

/*********************************ALTER COMMAND*********************************/
WE CAN DO FOLLOWING CHANGES IN A TABLE BY ALTER COMMAND
(1)

ADD NEW COLUMN IN A TABLE

SQL>ALTER TABLE MCA MODIFY (UNIVERSITY CHAR(15) DEFAULT GJUST(HISAR));


Table altered
SQL>SELECT * FROM MCA;
SNO NAME
ROLLNO DOB
COURSE S AGE GRA UNIVERSITY
--------- -------------------- --------- --------- ------ - --------- --- ---------------------------------------------------------1
KULDEEP SAINI
12
21-OCT-86
MCA
M 21
A+
2
RAKESH SINGHMAR 22
23-DEC-83
MCA
M 23
A+
3
PRADEEP CHAHAR
20
15-JAN-85
MCA
M 22
A
4
SIMRAN PANCHAL
11
04-APR-86
MCA
F 21
A++
5
SAGAR PANCHAL
17
06-MAR-85 MCA
M 22
A+

-----------------------------------------------------------------------------------------------------------------------------------NOW AS WE CAN SEE VALUES CORESSPOUNDING TO UNIVERSITY COLUMN ARE NULL ,


SO TO UPDATE TABLE WE USE UPDATE COMMAND.
SQL> UPDATE MCA
SET UNIVERSITY = GJUST(HISAR)
5 rows updated.
SQL> SELECT * FROM MCA;
SNO NAME
ROLLNO DOB
COURSE S AGE GRA UNIVERSITY
--------- -------------------- --------- --------- ------ - --------- --- -------------------------------------------------------1
KULDEEP SAINI
12
21-OCT-86 MCA
M 21
A
GJUST(HISAR)
2
RAKESH SINGHMAR 22
23-DEC-83 MCA
M 23
A+
GJUST(HISAR)
3
PRADEEP CHAHAR 20
15-JAN-85 MCA
M 22
A
GJUST(HISAR)
4
SIMRAN PANCHAL 11
04-APR-86 MCA
F 21
A++ GJUST(HISAR)
5
SAGAR PANCHAL
17
06-MAR-85 MCA
M 22
A+
GJUST(HISAR)
----------------------------------------------------------------------------------------------------------------------------------

(2) TO ADD AND REMOVE PRIMARY KEY CONSTRAINT.


SQL> ALTER TABLE MCA ADD PRIMARY KEY(ROLLNO);
Table altered.
SQL> DESCRIBE MCA;
Name
Null?
Type
------------------------------- -------- ---------------------------SNO
NUMBER
NAME
CHAR(20)
ROLLNO
NOT NULL NUMBER
DOB
DATE
COURSE
CHAR(6)
S
CHAR(1)
AGE
NUMBER
GRADE
VARCHAR2(3)
UNIVERSITY
CHAR(15)
---------------------------------------------------------------------SQL> ALTER TABLE MCA DROP PRIMARY KEY;
Table altered.
SQL> DESC MCA
Name
Null?
Type
------------------------------- -------- -----------------------SNO
NUMBER
NAME
CHAR(20)
ROLLNO
NUMBER
DOB
DATE
COURSE
CHAR(6)
S
CHAR(1)
AGE
NUMBER
GRADE
VARCHAR2(3)
UNIVERSITY
CHAR(15)
------------------------------------------------------------------

(3 )TO ADD AND REMOVE NOT NULL CONSTRAINT.

SQL> ALTER TABLE MCA MODIFY NAME NOT NULL;


Table altered.
SQL> DESC MCA;
Name
Null?
Type
------------------------------- -------- -----------------------SNO
NUMBER
NAME
NOT NULL
CHAR(20)
ROLLNO
NOT NULL
NUMBER
DOB
DATE
COURSE
CHAR(6)
S
CHAR(1)
AGE
NUMBER
GRADE
VARCHAR2(3)
UNIVERSITY
CHAR(15)
---------------------------------------------------------------SQL> ALTER TABLE MCA MODIFY NAME NULL;
Table altered.
SQL> DESC MCA;
Name
Null?
Type
------------------------------- -------- ------------------------SNO
NUMBER
NAME
CHAR(20)
ROLLNO
NOT NULL NUMBER
DOB
DATE
COURSE
CHAR(6)
S
CHAR(1)
AGE
NUMBER
GRADE
VARCHAR2(3)
UNIVERSITY
CHAR(15)
-----------------------------------------------------------------

(4) WE CAN GIVE A PARTICULAR NAME TO ANY CONSTRAINT.

SQL> ALTER TABLE MCA ADD CONSTRAINT PR1 PRIMARY KEY(ROLLNO);


Table altered.
SQL> DESC MCA;
Name
Null?
Type
------------------------------- -------- ----------------------------------SNO
NUMBER
NAME
CHAR(20)
ROLLNO
NOT NULL
NUMBER
DOB
DATE
COURSE
CHAR(6)
S
CHAR(1)
AGE
NUMBER
GRADE
VARCHAR2(3)
UNIVERSITY
CHAR(15)
--------------------------------------------------------------------------SQL> ALTER TABLE MCA DROP CONSTRAINT PR1;
Table altered.
SQL> DESC MCA
Name
Null?
Type
------------------------------- -------- -----------------------------------SNO
NUMBER
NAME
CHAR(20)
ROLLNO
NUMBER
DOB
DATE
COURSE
CHAR(6)
S
CHAR(1)
AGE
NUMBER
GRADE
VARCHAR2(3)
UNIVERSITY
CHAR(15)
-----------------------------------------------------------------------------

(5) WE CAN CHANGE THE PASSWORD OF THE USER.


SQL> ALTER USER SCOTT IDENTIFIED BY MUSKAN;
User altered.
NOW THE PASSWORD CHANGED FROM TIGER TO MUSKAN.

/****************************CREATING A VIEW OF A TABLE************************/

SQL> CREATE VIEW MCA_VIEW AS


2 SELECT SNO,NAME ,ROLLNO
3 FROM MCA;
View created.
SQL> DESC MCA
Name
Null? Type
------------------------------- -------- ---------------SNO
NUMBER
NAME
CHAR(20)
ROLLNO
NUMBER
DOB
DATE
COURSE
CHAR(6)
S
CHAR(1)
AGE
NUMBER
GRADE
VARCHAR2(3)
UNIVERSITY
CHAR(15)
---------------------------------------------------------SQL> DESC MCA_VIEW;
Name
Null? Type
------------------------------- -------- -----------------SNO
NUMBER
NAME
CHAR(20)
ROLLNO
NUMBER
---------------------------------------------------------SQL> SELECT * FROM MCA_VIEW;
SNO
NAME
ROLLNO
--------- -------------------- --------------------------------1
KULDEEP SAINI
12
2
RAKESH SINGHMAR
22
3
PRADEEP CHAHAR
20
4
SIMRAN PANCHAL
11
5
SAGAR PANCHAL
17
--------------------------------------------------------------.

TO DROP THE VIEW WE WILL WRITE THE FOLLOWING COMMAND..


SQL> DROP VIEW MCA_VIEW;
View dropped.

You might also like