SQL Commands
SQL Commands
------------------------------
create
--------
used to create db object(table)
--------------------------------
syntax
---------
create table table_name
(
col_nm data_type(s),
.
.
.
);
Db connection process
--------------------------
SQL> conn system/system
Connected.
SQL> show user
USER is "SYSTEM"
SQL> create user ganesh identified by ganesh;
User created.
Grant succeeded.
alter
---------
(i) to add one or more columns
-----------------------------------
syntax
------
alter table table_name add column_name data_type(size);
example
-----------
SQL> desc student1
Name Null? Type
----------------------------------------- -------- ----------------------------
SID NUMBER(10)
SNAME VARCHAR2(20)
SDOB DATE
SFEE NUMBER(6,2)
SGRADE CHAR(1)
Table altered.
example
--------
Table altered.
Table altered.
Table altered.
example
----------
SQL> select * from tab;
8 rows selected.
Table altered.
8 rows selected.
no rows selected
Table altered.
truncate
-----------
used to delete all the table data perminently at a time
syntax
---------
truncate table table_name
example
-----------
Table truncated.
no rows selected
drop
-------
used delete the table perminently from DB
example
---------
8 rows selected.
Table dropped.
7 rows selected.
DML
-----(Data manipulation language)
Insert
--------
(i) inserting data using values()
------------------------------------
syntax
---------
insert into table_name values(val1,val2,...);
example
---------
SQL> insert into student values(100,'ajay',1234.56);
1 row created.
1 row created.
example
-----------
SQL> insert into student values(&sid,'&sname',&sfee);
Enter value for sid: 102
Enter value for sname: raj
Enter value for sfee: 2323.45
old 1: insert into student values(&sid,'&sname',&sfee)
new 1: insert into student values(102,'raj',2323.45)
1 row created.
SQL> /
Enter value for sid: 103
Enter value for sname: kumar
Enter value for sfee: 3434.56
old 1: insert into student values(&sid,'&sname',&sfee)
new 1: insert into student values(103,'kumar',3434.56)
1 row created.
Insert all
into student values(1,'abc',1234.56)
into student values(2,'xyz',2233.45)
into student values(3,'pqr',2233.67)
into s1 values(1,'abc')
into s1 values(2,'xyz')
select * from dual;
examples
-----------
SQL> desc dual;
Name Null? Type
----------------------------------------- -------- ----------------------------
DUMMY VARCHAR2(1)
D
-
X
Table truncated.
Table created.
Table truncated.
9 rows created.
9 rows selected.
Table truncated.
Table truncated.
Table altered.
SQL> desc t1
ERROR:
ORA-04043: object t1 does not exist
SQL> desc s1
Name Null? Type
----------------------------------------- -------- ----------------------------
SID NUMBER(10)
SNAME VARCHAR2(20)
5 rows created.
SID SNAME
---------- --------------------
1 abc
2 xyz
update
---------
(i) to update one row in one column
------------------------------------
syntax
--------
update table_name set col_name=new_value where condition;
example
-------
SQL> select * from student;
SID SNAME SFEE
---------- -------------------- ----------
1 abc 1234.56
2 xyz 2233.45
3 pqr 2233.67
1 row updated.
syntax
---------
update table_name set col_name=new_value where condition;
example
---------
SQL> update student set sid=100, sname='raj', sfee=3344.56 where sid=1;
1 row updated.
syntax
--------
update table_name set col_nm=new_val;
example
---------
SQL> update student set sfee=1234.56;
3 rows updated.
example
---------
SQL> select * from emp;
14 rows selected.
1 row deleted.
13 rows selected.
4 rows deleted.
9 rows selected.
SQL> rollback;
Rollback complete.
14 rows selected.
14 rows deleted.
no rows selected
SQL> rollback;
Rollback complete.
14 rows selected.
DCL
----Data control lang (Admin)
Grant
---------
syntax
---------
grant permissions to user_name;
Revoke
---------
revoke permissions from user_name;
example
-----------
SQL> conn system/system
Connected.
SQL> create user aj identified by aj123;
User created.
Grant succeeded.
Revoke succeeded.
Operators
----------
(+,-,*,/)
(<,<=,>,>=,<>)
(And, or)
(Between, In, Like, Is null)
Between
----------
select col(s) from table_name where col_nm between
lower_bound_val and Upper_bound_val;
In
-----
select col(s) from tab_name where col_nm in (val1,val2,...);
Like
-----
select col(s) from tab_name where col_nm like 'pattern';
% (multiple digits/chars)
select col(s) from tab_name where col_nm between L_B_v and U_B_V;
Functions
-------------
DB object
Numeric
---------
1. scalar
---------------
1. abs()
2. power()
3. sqrt()
4. mod()
5. round()
6. trunc()
7. floor()
8. ceil()
9. least()
10. greatest()
2. Group
--------------
sum()
max()
min()
avg()
count()
count(*)
String/char
--------------
ascii()
chr()
lower()
upper()
length()
substr()
instr()//indexOf()
translate()
replace()
trim()
ltrim()
rtrim()
trim() leading
trim() trailing
trim() both
lpad()
rpad()
concat()
dump()
vsize()
nvl()
nvl2()
Date
Conversion
Integrity Constraints (reliability+Consistency)
------------------------------------------------
Unique
not null
primary key Key
check Domain
foreign key Referential Integrity
1. column level
2. table level
examples
-----------
SQL> create table t1
2 (
3 id number(10) unique,
4 name varchar2(20)
5 );
Table created.
1 row created.
ID NAME
---------- --------------------
1 a
1 row created.
1 row created.
SQL> insert into t1 values(null,'d');
1 row created.
ID NAME
---------- --------------------
1 a
b
c
d
Table created.
1 row created.
no rows selected
CONSTRAINT_NAME C
------------------------------ -
SYS_C007003 U
Table created.
CONSTRAINT_NAME C
------------------------------ -
T3_ID_U U
1 row created.
Table altered.
1 row created.
1 row created.
1 row created.
Table truncated.
SQL> desc t3
Name Null?
Type
------------------------------------------------------------------------ --------
-------------------------------------------------
ID
NUMBER(10)
NAME
VARCHAR2(20)
Table altered.
1 row created.
Table created.
1 row created.
1 row created.
1 row created.
1 row created.
1 row created.
1 row created.
1 row created.
8 rows selected.
Not null
-----------
It can be applied only at column level
It is always a simple not null only
example
------------
SQL> create table t3
2 (
3 id number(10) not null,
4 name varchAR2(20) NOT NULL
5 );
Table created.
1 row created.
Primary key
--------------
simple PK
--------------
key column does not allows both duplicate and null values
A table allows only one PK(simple Pk || composite PK)
A table which is decorated with PK will be called as parent table
If table contains PK then we can easily identify a unique row/tuple in the
relation/table
emp
-----
id(pk) name
--------------
1 a
2 a
3 a
4 b
5 b
example
---------
SQL> create table t4
2 (
3 id number(10),
4 name varchar2(20),
5 age number(2),
6 primary key(id)
7 );
Table created.
1 row created.
Table truncated.
SQL> desc t4
Name Null? Type
----------------------------------------- -------- ----------------------------
ID NOT NULL NUMBER(10)
NAME VARCHAR2(20)
AGE NUMBER(2)
no rows selected
1 row created.
1 row created.
example
---------
SQL> create table t5
2 (
3 id number(10),
4 name varchar2(20),
5 age number(2),
6 primary key(id,name)
7 );
Table created.
1 row created.
1 row created.
SQL> insert into t5 values(2,'a',20);
1 row created.
check
----------
example
---------
Table altered.
1 row created.
foreign key
---------------
It is a referenctial Integrity constraint
A table can have more than one FK
FK field allows duplicate data and null vlaues
A table chich constains FK will be called as Child table
FK field allows the data which matches with data present in PK field
emp
----
id(pk) name
---------------
1 a
2 a
3 b
dept
-----
did(fk) dname
--------------
1
2
3
1
2
3
1
2
3