Category Archives: Oracle

DDL Alter, Drop, Rename, Truncate

USING DDL

USING ALTER
This can be used to add or remove columns and to modify the precision of the datatype.
a) ADDING COLUMN
Syntax:
alter table <table_name> add <col datatype>;
Ex:
SQL> alter table student add sdob date;
b) REMOVING COLUMN
Syntax:
alter table <table_name> drop <col datatype>;
Ex:
SQL> alter table student drop column sdob;
c) INCREASING OR DECREASING PRECISION OF A COLUMN
Syntax:
alter table <table_name> modify <col datatype>;
Ex:
SQL> alter table student modify marks number(5);
* To decrease precision the column should be empty.
d) MAKING COLUMN UNUSED
Syntax:
alter table <table_name> set unused column <col>;
Ex:
SQL> alter table student set unused column marks;
Even though the column is unused still it will occupy memory.
d) DROPPING UNUSED COLUMNS
Syntax:
alter table <table_name> drop unused columns;
Ex:
SQL> alter table student drop unused columns;
* You can not drop individual unused columns of a table.

e) RENAMING COLUMN

Syntax:
alter table <table_name> rename column <old_col_name> to <new_col_name>;
Ex:
SQL> alter table student rename column marks to smarks;

USING TRUNCATE
This can be used to delete the entire table data permanently.
Syntax:
truncate table <table_name>;
Ex:
SQL> truncate table student;

USING DROP
This will be used to drop the database object;
Syntax:
Drop table <table_name>;
Ex:
SQL> drop table student;

USING RENAME
This will be used to rename the database object;
Syntax:
rename <old_table_name> to <new_table_name>;
Ex:
SQL> rename student to stud;

 

Related posts:

DML Operations UPDATE, DELETE and INSERT

USING DML

USING UPDATE
This can be used to modify the table data.
Syntax:
Update <table_name> set <col1> = value1, <col2> = value2 where <condition>;
Ex:
SQL> update student set marks = 500;
If you are not specifying any condition this will update entire table.
SQL> update student set marks = 500 where no = 2;
SQL> update student set marks = 500, name = ‘Venu’ where no = 1;

USING DELETE
This can be used to delete the table data temporarily.
Syntax:
Delete <table_name> where <condition>;
Ex:
SQL> delete student;
If you are not specifying any condition this will delete entire table.
SQL> delete student where no = 2;

USING INSERT
This can be used to insert the table data temporarily.
Syntax:
Insert into <table_name> (<column1, column2..>) values (<value1, value2…>);
Ex:
SQL> insert into student (12,’JAYA’,90);

Related posts:

Conditional Selections, Operators

CONDITIONAL SELECTIONS AND OPERATORS

We have two clauses used in this

  1. Where
  2. Order by

USING WHERE

Syntax:
select * from <table_name> where <condition>;
The following are the different types of operators used in where clause.

  • Arithmetic operators 
  • Comparison operators
  • Logical operators

Arithmetic operators — highest precedence
+, -, *, /
Comparison operators
Ø =, !=, >, <, >=, <=, <>
1 between, not between
2 in, not in
null, not null
like
3 Logical Operators — lowest precedence
1 And
2 Or
3 not

a) USING =, >, <, >=, <=, !=, <>
Ex:
SQL> select * from student where no = 2;
NO NAME MARKS
— ——- ———
2 Saketh 200
2 Naren 400

SQL> select * from student where no < 2;
NO NAME MARKS
— ——- ———-
1 Sudha 100
1 Jagan 300

SQL> select * from student where no > 2;
NO NAME MARKS
— ——- ———-
3 Ramesh
4 Madhu
5 Visu
6 Rattu

SQL> select * from student where no <= 2;
NO NAME MARKS
— ——- ———-
1 Sudha 100
2 Saketh 200
1 Jagan 300
2 Naren 400

SQL> select * from student where no >= 2;
NO NAME MARKS
— ——- ———
2 Saketh 200
2 Naren 400
3 Ramesh
4 Madhu
5 Visu
6 Rattu
SQL> select * from student where no != 2;
NO NAME MARKS
— ——- ———-
1 Sudha 100
1 Jagan 300
3 Ramesh
4 Madhu
5 Visu
6 Rattu

SQL> select * from student where no <> 2;
NO NAME MARKS
— ——- ———-
1 Sudha 100
1 Jagan 300
3 Ramesh
4 Madhu
5 Visu
6 Rattu

b) USING AND
This will gives the output when all the conditions become true.
Syntax:
select * from <table_name> where <condition1> and <condition2> and ..
<conditionn>;
Ex:
SQL> select * from student where no = 2 and marks >= 200;
NO NAME MARKS
— ——- ——–
2 Saketh 200
2 Naren 400
c) USING OR
This will gives the output when either of the conditions become true.
Syntax:
select * from <table_name> where <condition1> and <condition2> or ..
<conditionn>;
Ex:
SQL> select * from student where no = 2 or marks >= 200;

NO NAME MARKS
— ——- ———
2 Saketh 200
1 Jagan 300
2 Naren 400

d) USING BETWEEN
This will gives the output based on the column and its lower bound, upperbound.
Syntax:
select * from <table_name> where <col> between <lower bound> and <upper bound>;
Ex:
SQL> select * from student where marks between 200 and 400;
NO NAME MARKS
— ——- ———
2 Saketh 200
1 Jagan 300
2 Naren 400

e) USING NOT BETWEEN
This will gives the output based on the column which values are not in its lower bound, upperbound.
Syntax:
select * from <table_name> where <col> not between <lower bound> and <upper bound>;
Ex:
SQL> select * from student where marks not between 200 and 400;
NO NAME MARKS
— ——- ———
1 Sudha 100

f) USING IN
This will gives the output based on the column and its list of values specified.
Syntax:
select * from <table_name> where <col> in ( value1, value2, value3 … valuen);
Ex:
SQL> select * from student where no in (1, 2, 3);
NO NAME MARKS
— ——- ———
1 Sudha 100
2 Saketh 200
1 Jagan 300
2 Naren 400
3 Ramesh

g) USING NOT IN
This will gives the output based on the column which values are not in the list of
values specified.
Syntax:
select * from <table_name> where <col> not in ( value1, value2, value3 … valuen);
Ex:
SQL> select * from student where no not in (1, 2, 3);
NO NAME MARKS
— ——- ———
4 Madhu
5 Visu
6 Rattu

h) USING NULL
This will gives the output based on the null values in the specified column.
Syntax:
select * from <table_name> where <col> is null;
Ex:
SQL> select * from student where marks is null;

NO NAME MARKS
— ——- ———
3 Ramesh
4 Madhu
5 Visu
6 Rattu

i) USING NOT NULL
This will gives the output based on the not null values in the specified column.
Syntax:
select * from <table_name> where <col> is not null;
Ex:
SQL> select * from student where marks is not null;
NO NAME MARKS
— ——- ———
1 Sudha 100
2 Saketh 200
1 Jagan 300
2 Naren 400

j) USING LIKE
This will be used to search through the rows of database column based on the pattern you specify.
Syntax:
select * from <table_name> where <col> like <pattern>;
Ex:
i) This will give the rows whose marks are 100.
SQL> select * from student where marks like 100;
NO NAME MARKS
— ——- ———
1 Sudha 100
ii) This will give the rows whose name start with ‘S’.
SQL> select * from student where name like ‘S%’;
NO NAME MARKS
— ——- ———
1 Sudha 100
2 Saketh 200

iii) This will give the rows whose name ends with ‘h’.
SQL> select * from student where name like ‘%h’;
NO NAME MARKS
— ——- ———
2 Saketh 200
3 Ramesh
iV) This will give the rows whose name’s second letter start with ‘a’.
SQL> select * from student where name like ‘_a%’;
NO NAME MARKS
— ——- ——–
2 Saketh 200
1 Jagan 300
2 Naren 400
3 Ramesh
4 Madhu
6 Rattu
V) This will give the rows whose name’s third letter start with ‘d’.
SQL> select * from student where name like ‘__d%’;
NO NAME MARKS
— ——- ———
1 Sudha 100
4 Madhu
Vi) This will give the rows whose name’s second letter start with ‘t’ from ending.
SQL> select * from student where name like ‘%_t%’;
NO NAME MARKS
— ——- ———
2 Saketh 200
6 Rattu
Vii) This will give the rows whose name’s third letter start with ‘e’ from ending.
SQL> select * from student where name like ‘%e__%’;
NO NAME MARKS
— ——- ———
2 Saketh 200
3 Ramesh

Viii) This will give the rows whose name cotains 2 a’s.
SQL> select * from student where name like ‘%a% a %’;
NO NAME MARKS
— ——- ———-
1 Jagan 300
* You have to specify the patterns in like using underscore ( _ ).

USING ORDER BY
This will be used to ordering the columns data (ascending or descending).
Syntax:
Select * from <table_name> order by <col> desc;
By default oracle will use ascending order.
If you want output in descending order you have to use desc keyword after the column.
Ex:
SQL> select * from student order by no;
NO NAME MARKS
— ——- ———
1 Sudha 100
1 Jagan 300
2 Saketh 200s
2 Naren 400
3 Ramesh
4 Madhu
5 Visu
6 Rattu
SQL> select * from student order by no desc;
NO NAME MARKS
— ——- ———
6 Rattu
5 Visu
4 Madhu
3 Ramesh
2 Saketh 200
2 Naren 400
1 Sudha 100
1 Jagan 300

Related posts:

Create, Insert and Select on Table

Create, Insert and Select on Table

CREATE TABLE
SYNTAX
Create table <table_name> (col1 datatype1, col2 datatype2 …coln datatypen);
Ex:
SQL> create table student (no number (2), name varchar (10), marks number (3));

INSERT
This will be used to insert the records into table.
We have two methods to insert.
1 By value method
2 By address method
a) USING VALUE METHOD
Syntax:
insert into <table_name) values (value1, value2, value3 …. Valuen);
Ex:
SQL> insert into student values (1, ‘sudha’, 100);
SQL> insert into student values (2, ‘saketh’, 200);

To insert a new record again you have to type entire insert command, if there are lot of
records this will be difficult.
This will be avoided by using address method.

b) USING ADDRESS METHOD
Syntax:
insert into <table_name) values (&col1, &col2, &col3 …. &coln);
This will prompt you for the values but for every insert you have to use forward slash.
Ex:
SQL> insert into student values (&no, ‘&name’, &marks);
Enter value for no: 1
Enter value for name: Jagan
Enter value for marks: 300
old 1: insert into student values(&no, ‘&name’, &marks)
new 1: insert into student values(1, ‘Jagan’, 300)

SQL> /
Enter value for no: 2
Enter value for name: Naren
Enter value for marks: 400
old 1: insert into student values(&no, ‘&name’, &marks)
new 1: insert into student values(2, ‘Naren’, 400)

c) INSERTING DATA INTO SPECIFIED COLUMNS USING VALUE METHOD

Syntax:
insert into <table_name)(col1, col2, col3 … Coln) values (value1, value2, value3 ….Valuen);
Ex:
SQL> insert into student (no, name) values (3, ‘Ramesh’);
SQL> insert into student (no, name) values (4, ‘Madhu’);

d) INSERTING DATA INTO SPECIFIED COLUMNS USING ADDRESS METHOD

Syntax:
insert into <table_name)(col1, col2, col3 … coln) values (&col1, &col2 ….&coln);
This will prompt you for the values but for every insert you have to use forward slash.

Ex:
SQL> insert into student (no, name) values (&no, ‘&name’);
Enter value for no: 5
Enter value for name: Visu
old 1: insert into student (no, name) values(&no, ‘&name’)
new 1: insert into student (no, name) values(5, ‘Visu’)

SQL> /
Enter value for no: 6
Enter value for name: Rattu
old 1: insert into student (no, name) values(&no, ‘&name’)
new 1: insert into student (no, name) values(6, ‘Rattu’)

SELECTING DATA
Syntax:
Select * from <table_name>; — here * indicates all columns
or
Select col1, col2, … coln from <table_name>;
Ex:
SQL> select * from student;
NO NAME MARKS
— —— ——–
1 Sudha 100
2 Saketh 200
1 Jagan 300
2 Naren 400
3 Ramesh
4 Madhu
5 Visu
6 Rattu

SQL> select no, name, marks from student;
NO NAME MARKS
— —— ——–
1 Sudha 100
2 Saketh 200
1 Jagan 300
2 Naren 400
3 Ramesh
4 Madhu
5 Visu
6 Rattu

SQL> select no, name from student;

NO NAME
— ——-
1 Sudha
2 Saketh
1 Jagan
2 Naren
3 Ramesh
4 Madhu
5 Visu
6 Rattu

Related posts:

Database Locks

Database Locks

  • Locks are the mechanism used to prevent destructive interaction between the users accessing the same resources at the same time.
  • Locks provide a high degree of Concurrency.
  • Locks acquire at two different levels
    1. Row Level Lock
    2. Table Level Lock Continue reading

Related posts: