SQL Tables Creation
SQL Tables Creation
VARCHAR2(10)
DATE
DATE
NUMBER(15)
RANK
EX.NO:2
PERFORMING INSERTION, DELETION, MODIFYING,
ALTERING, UPDATING AND VIEWING RECORDS BASED ON
CONDITION
INSERTING VALUES INTO THE TABLE:
SQL> insert into student values(®no,'&sname','&dept',&marks,&percent,&rank);
Enter value for regno: 12345
Enter value for sname: melvina
Enter value for dept: cse
Enter value for marks: 100
Enter value for percent: 100
Enter value for rank: 1
old 1: insert into student values(®no,'&sname','&dept',&marks,&percent,&ran
k)
new 1: insert into student values(12345,'melvina','cse',100,100,1)
1 row created.
SQL> /
Enter value for regno: 12567
Enter value for sname: sophia
Enter value for dept: cse
Enter value for marks: 98
Enter value for percent: 88
Enter value for rank: 2
old 1: insert into student values(®no,'&sname','&dept',&marks,&percent,&ran
k)
new 1: insert into student values(12567,'sophia','cse',98,88,2)
1 row created.
SELECTING INFORMATION FROM THE TABLE:
SQL> select * from student;
REGNO SNAME
DEPT
MARKS PERCENT
---------- -------------------- ---------- ---------- ---------- ---------12345 melvina
cse
100
100
1
12567 sophia
cse
98
88
2
MODIFYING THE TABLE AND COLUMN DEFINITION:
SQL> alter table railway add(trainno number(10), seatno number(10));
Table altered.
RANK
VARCHAR2(10)
DATE
DATE
NUMBER(15)
NUMBER(10)
NUMBER(10)
VARCHAR2(10)
DATE
DATE
NUMBER(15)
NUMBER(10)
NUMBER(10)
VARCHAR2(10)
DATE
DATE
NUMBER(15)
NUMBER(10)
VARCHAR2(10)
DATE
DATE
NUMBER(15)
NUMBER(10)
RANK
RANK
cse
100
100
6 rows selected.
INTERSECT:
SQL> select sname from student intersect select name from railway;
SNAME
-------------------max
sarah
sophia
EXCEPT OR MINUS:
SQL> select sname from student minus select name from railway;
SNAME
-------------------stella
CONVERSION FUNCTIONS:
SQL> select nvl(' ',2) from dual;
N
SQL> select decode(10,20,30,40,50,25) from dual;
DECODE(10,20,30,40,50,25)
------------------------25
SQL> select decode(10,10,30,40,50,25) from dual;
DECODE(10,10,30,40,50,25)
------------------------30
SQL> select decode(10,10,30,10,50,25) from dual;
DECODE(10,10,30,10,50,25)
------------------------30
EX.NO:3
CREATION OF VIEWS, SYNONYMS, SEQUENCE,
INDEXES AND SAVE POINT
VIEWS:
CREATION OF VIEW:
SQL> select * from student;
REGNO SNAME
DEPT
MARKS PERCENT
---------- -------------------- ---------- ---------- ---------- ---------12345 melvina
cse
100
100
1
11335 sophia
it
87
88
5
55432 sarah
ece
94
73
2
15743 stella
cse
90
87
4
RANK
RANK
NAME
SNAME
---------- -------------------max
max
sophia sophia
sarah
sarah
stella stella
SQL> create or replace view studview as select regno,name,age,phno,dept,rank fro
m personal,student where personal.name=student.sname;
View created.
SQL> select * from studview;
REGNO NAME
AGE
PHNO DEPT
---------- ---------- ---------- ---------- ---------- ---------12345 max
42
99532 cse
1
11335 sophia
18
12345 it
5
55432 sarah
19
65437 ece
2
15743 stella
49
12874 cse
4
RANK
UPDATING VIEWS:
SQL> create or replace view studview as select sname from student where rank=1;
View created.
SQL> select * from studview;
SNAME
-------------------melvina
SQL> update studview set sname='max' where sname='melvina';
1 row updated.
SQL> select * from studview;
SNAME
-------------------max
DROPPING VIEWS:
SQL> drop view studview;
View dropped.
SQL> select * from studview;
select * from studview
*
ERROR at line 1:
ORA-00942: table or view does not exist
SYNONYMS:
SYNONYM CREATION:
SQL> select * from student;
REGNO SNAME
DEPT
MARKS PERCENT
---------- -------------------- ---------- ---------- ---------- ---------12345 max
cse
100
100
1
11335 sophia
it
87
88
5
55432 sarah
ece
94
73
2
15743 stella
cse
90
87
4
RANK
VIEWING A SYNONYM:
SQL> select * from studentsynonym;
REGNO SNAME
DEPT
MARKS PERCENT
---------- -------------------- ---------- ---------- ---------- ---------12345 max
cse
100
100
1
11335 sophia
it
87
88
5
55432 sarah
ece
94
73
2
15743 stella
cse
90
87
4
DROPPING A SYNONYM:
SQL> drop synonym studentsynonym;
Synonym dropped
SEQUENCE:
CREATING A SEQUENCE:
SQL> create sequence rollno
2 start with 101
3 maxvalue 160;
Sequence created.
RANK
VIEWING A SEQUENCE:
SQL> insert into student values(rollno.nextval,'amber','cse',98,94,3);
1 row created.
SQL> insert into student values(rollno.nextval,'rose','mech',90,46,9);
1 row created.
SQL> select * from student;
REGNO SNAME
DEPT
MARKS PERCENT
---------- -------------------- ---------- ---------- ---------- ---------12345 max
cse
100
100
1
11335 sophia
it
87
88
5
55432 sarah
ece
94
73
2
101 amber
cse
98
94
3
102 rose
mech
90
46
9
15743 stella
cse
90
87
4
RANK
6 rows selected.
SQL> select rollno.nextval from dual;
NEXTVAL
---------103
SQL> select rollno.nextval from dual;
NEXTVAL
---------104
SQL> select rollno.nextval from dual;
NEXTVAL
---------105
SQL> create table stud (name varchar2(10),rollno number, marks number,rank numbe
r);
Table created.
SQL> desc stud;
VARCHAR2(10)
NUMBER
NUMBER
NUMBER
RANK
DROPPING A SEQUENCE:
SQL> drop sequence rollno;
Sequence dropped.
RANK
INDEXES:
SIMPLE INDEX:
SQL> select * from stud;
ROLLNO NAME
---------- --------------101 mel
SQL> create index rollindex on stud(rollno);
Index created.
COMPOSITE INDEX:
SQL> select * from student;
REGNO SNAME
DEPT
MARKS PERCENT
---------- -------------------- ---------- ---------- ---------- ---------12345 max
cse
100
100
1
11335 sophia
it
87
88
5
55432 sarah
ece
94
73
2
101 amber
cse
98
94
3
102 rose
mech
90
46
9
15743 stella
cse
90
87
4
6 rows selected.
SQL> create index regnoindex on student(regno,sname);
Index created.
UNIQUE INDEX:
SQL> select * from railway;
NAME
DEPARTURE ARRIVAL TICKET_NO
---------- --------- --------- ---------- ---------melvina 19-FEB-14 23-FEB-14 12343
55555
sophia 17-JAN-15 13-JAN-15
11111
1234
sarah
11-JUL-96 19-JUL-97
33456
12345
max
16-FEB-04 17-MAR-14
77765
34532
selvi
12-JAN-90 13-FEB-82 98765
67854
SEATNO
RANK
BITMAPPING INDEX:
SQL> select * from student;
REGNO SNAME
DEPT
MARKS PERCENT
---------- -------------------- ---------- ---------- ---------- ---------12345 max
cse
100
100
1
11335 sophia
it
87
88
5
55432 sarah
ece
94
73
2
101 amber
cse
98
94
3
102 rose
mech
90
46
9
15743 stella
cse
90
87
4
6 rows selected.
SQL> create bitmap index deptindex on student(dept);
Index created.
REVERSE INDEX:
SQL> select * from railway;
NAME
DEPARTURE ARRIVAL TICKET_NO
---------- --------- --------- ---------- ---------melvina 19-FEB-14 23-FEB-14 12343
55555
sophia 17-JAN-15 13-JAN-15
11111
1234
sarah
11-JUL-96 19-JUL-97
33456
12345
max
16-FEB-04 17-MAR-14
77765
34532
selvi
12-JAN-90 13-FEB-82 98765
67854
SEATNO
RANK
Index created.
DROPPING AN INDEX:
SQL> drop index studindex;
Index dropped.
SAVE POINT:
SQL> create table stud(rollno number(10), name varchar2(15));
Table created.
SQL> desc stud;
Name
Null? Type
----------------------------------------- -------- -----------------------ROLLNO
NAME
NUMBER(10)
VARCHAR2(15)
UPDATING VIEWS:
SQL> select * from student;
REGNO SNAME
DEPT
MARKS PERCENT
---------- -------------------- ---------- ---------- ---------- ---------12345 max
cse
100
100
1
11335 sophia
it
87
88
5
55432 sarah
ece
94
73
2
102 rose
mech
90
46
9
15743 stella
cse
90
87
4
SQL> select * from studview;
SNAME
RANK
-------------------- ---------max
cse
sophia
it
sarah
ece
rose
mech
stella
cse
SQL> update studview set sname='mmm' where sname='max';
1 row updated.
SQL> select * from studview;
SNAME
RANK
-------------------- ---------mmm
cse
sophia
it
sarah
ece
rose
mech
RANK
cse
RANK
18
99529
19
95000
22 909494
16
78905
11 rows selected.
TRANSACTION CONTROLS:
SQL> set transaction read only;
Transaction set.
SQL> insert into personal values('genius',20,99874);
insert into personal values('genius',20,99874)
*
ERROR at line 1:
ORA-01456: may not perform insert/delete/update operation inside a READ ONLY
transaction
SQL> set transaction read write;
set transaction read write
*
ERROR at line 1:
ORA-01453: SET TRANSACTION must be first statement of transaction
SQL> commit;
Commit complete.
SQL> set transaction read write;
Transaction set.
SQL> insert into personal values('genius',20,99874);
1 row created.
SQL> select * from personal;
NAME
AGE
PHNO
---------- ---------- ---------mmmmm
18
43221
nnnnn
19
43221
nnnnn
20
43221
21
43221
1
43221
2
43221
12
4432
18
99529
19
95000
22 909494
16
78905
20
99874
12 rows selected.
EX.NO:4
2) CHECK CONSTRAINT:
SQL> create table stud(regno number(10), name varchar2(10), age number(3) constr
aint ck check(age between 16 and 21));
Table created.
SQL> desc stud;
Name
Null? Type
----------------------------------------- -------- ----------------------REGNO
NAME
AGE
NUMBER(10)
VARCHAR2(10)
NUMBER(3)
Table altered.
SQL> insert into stud(age) values(28);
insert into stud(age) values(28)
*
ERROR at line 1:
ORA-02290: check constraint (USER202.CK) violated
3) DEFAULT CONSTRAINT:
SQL> create table stud(regno number(10)default 100, name varchar2(10));
Table created.
SQL> desc stud;
Name
Null? Type
----------------------------------------- -------- ---------------------------REGNO
NAME
NUMBER(10)
VARCHAR2(10)
Table altered.
SQL> insert into stud(name) values('llll');
1 row created.
SQL> select * from stud;
REGNO NAME
---------- ---------123 mmmm
100 eee
123 gggg
100 ggg
990
200 llll
6 rows selected.
NUMBER(10)
VARCHAR2(15)
NUMBER(10)
NUMBER(4)