Você está na página 1de 21

SQL

DDL ON Data defination lang.


create alter [ add , drop , modify ]
drop rename

DML IN Data manipulation lang.

insert update delete truncate


select

DCL Data controll lang.

commit
rollback

create table stdds (


rollnum number,
sname varchar(20),
fees number,
dob date
);

insert into stdds (rollnum,sname,fees,dob) values (1,'royal',5000,'11-jan-1988');

insert into stdds values (2,'admin',15000,'11-jan-1988');

insert into stdds values (3,'abc',null,'11-jan-1988');

commit;

select * from stdds;

select * from stdds where fees is not null;

select * from stdds where fees is null;

select * from stdds where fees > 5000;

select sname from stdds where fees > 5000;

select sname,fees from stdds where fees > 5000;

---------constraints-------rules -------

drop table stdds;


primary key , not null ,unique
create table stdds (
rollnum number primary key,
sname varchar(20) not null,
fees number,
dob date,
cont number unique,
city varchar(20) default 'ahd',
check (fees > 0)
);

insert into stdds values (&rollnum,'&sname',&fees,'&dob',&cont,'&city');

---------------
select * from stdds where fees between 5000 and 6000;

select * from stdds where fees > 6000 and fees < 9000;

select * from stdds where city like 'surat';

select * from stdds where city like 's%';

select * from stdds where city like '%s%';

select * from stdds where city like '%s';

select * from stdds where city like '_u%';

select * from stdds where city like '%a%';

select city from stdds;

select distinct city from stdds;

select * from stdds where city in ('su','surat','baroda');

select * from stdds where city like 'surat';

select * from stdds where city not in ('su','surat','baroda');

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Jan 29 17:36:19 2018

Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> connect
Enter user-name: system
Enter password:
Connected.
SQL> create table stdds (
2 rollnum number,
3 sname varchar(20),
4 fees number,
5 dob date
6 );

Table created.

SQL> desc stdds;


Name Null? Type
----------------------------------------- -------- ----------------------------
ROLLNUM NUMBER
SNAME VARCHAR2(20)
FEES NUMBER
DOB DATE

SQL> insert into stdds (rollnum,sname,fees,dob) values (1,'royal',5000,'11-jan-


1988');

1 row created.

SQL>
SQL> insert into stdds values (2,'admin',15000,'11-jan-1988');

1 row created.

SQL> insert into stdds values (3,'abc',null,'11-jan-1988');

1 row created.

SQL> commit;

Commit complete.

SQL>
SQL> select * from stdds;

ROLLNUM SNAME FEES DOB


---------- -------------------- ---------- ---------
1 royal 5000 11-JAN-88
2 admin 15000 11-JAN-88
3 abc 11-JAN-88

SQL>
SQL>
SQL>
SQL> select * from stdds where fees is not null;

ROLLNUM SNAME FEES DOB


---------- -------------------- ---------- ---------
1 royal 5000 11-JAN-88
2 admin 15000 11-JAN-88

SQL> select * from stdds where fees is null;

ROLLNUM SNAME FEES DOB


---------- -------------------- ---------- ---------
3 abc 11-JAN-88

SQL>
SQL> select * from stdds where fees > 5000;

ROLLNUM SNAME FEES DOB


---------- -------------------- ---------- ---------
2 admin 15000 11-JAN-88

SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL>
SQL> select sname from stdds where fees > 5000;

SNAME
--------------------
admin

SQL>
SQL> select sname,fees from stdds where fees > 5000;

SNAME FEES
-------------------- ----------
admin 15000

SQL>
SQL>
SQL>
SQL> insert into stdds values (3,'def',null,'11-jan-1988');

1 row created.

SQL> select * from stdds;

ROLLNUM SNAME FEES DOB


---------- -------------------- ---------- ---------
1 royal 5000 11-JAN-88
2 admin 15000 11-JAN-88
3 abc 11-JAN-88
3 def 11-JAN-88

SQL> create table stdds (


2 rollnum number,
3 sname varchar(20),
4 fees number,
5 dob date
6 );
create table stdds (
*
ERROR at line 1:
ORA-00955: name is already used by an existing object

SQL> drop table stdds;

Table dropped.

SQL> create table stdds (


2 rollnum number primary key,
3 sname varchar(20) not null,
4 fees number,
5 dob date,
6 cont number unique,
7 city varchar(20) default 'ahd',
8 check (fees > 0)
9 );

Table created.
SQL> desc stdds;
Name Null? Type
----------------------------------------- -------- ----------------------------
ROLLNUM NOT NULL NUMBER
SNAME NOT NULL VARCHAR2(20)
FEES NUMBER
DOB DATE
CONT NUMBER
CITY VARCHAR2(20)

SQL>
SQL> insert into stdds values (&rollnum,'&sname',&fees,'&dob',&cont,'&city');
Enter value for rollnum: 1
Enter value for sname: raj
Enter value for fees: 10000
Enter value for dob: 11-jan-1999
Enter value for cont: 123
Enter value for city: ahd
old 1: insert into stdds values (&rollnum,'&sname',&fees,'&dob',&cont,'&city')
new 1: insert into stdds values (1,'raj',10000,'11-jan-1999',123,'ahd')

1 row created.

SQL> /
Enter value for rollnum: 2
Enter value for sname: vipul
Enter value for fees: 6000
Enter value for dob: 22-june-1988
Enter value for cont: 12
Enter value for city: surat
old 1: insert into stdds values (&rollnum,'&sname',&fees,'&dob',&cont,'&city')
new 1: insert into stdds values (2,'vipul',6000,'22-june-1988',12,'surat')

1 row created.

SQL> r
1* insert into stdds values (&rollnum,'&sname',&fees,'&dob',&cont,'&city')
Enter value for rollnum: 3
Enter value for sname: admin
Enter value for fees: 6500
Enter value for dob: 5-apr-1985
Enter value for cont: 123
Enter value for city: surat
old 1: insert into stdds values (&rollnum,'&sname',&fees,'&dob',&cont,'&city')
new 1: insert into stdds values (3,'admin',6500,'5-apr-1985',123,'surat')
insert into stdds values (3,'admin',6500,'5-apr-1985',123,'surat')
*
ERROR at line 1:
ORA-00001: unique constraint (SYSTEM.SYS_C004215) violated

SQL> /
Enter value for rollnum: 3
Enter value for sname: admin
Enter value for fees: 6500
Enter value for dob: 5-apr-1985
Enter value for cont: 21323
Enter value for city: surat
old 1: insert into stdds values (&rollnum,'&sname',&fees,'&dob',&cont,'&city')
new 1: insert into stdds values (3,'admin',6500,'5-apr-1985',21323,'surat')

1 row created.

SQL> commit;

Commit complete.

SQL> select * from stdds;

ROLLNUM SNAME FEES DOB CONT


---------- -------------------- ---------- --------- ----------
CITY
--------------------
1 raj 10000 11-JAN-99 123
ahd

2 vipul 6000 22-JUN-88 12


surat

3 admin 6500 05-APR-85 21323


surat

SQL> set line 2500;l


SP2-0268: linesize option not a valid number
SQL> set line 2500;
SQL> select * from stdds;

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
1 raj 10000 11-JAN-99 123 ahd
2 vipul 6000 22-JUN-88 12 surat
3 admin 6500 05-APR-85 21323 surat

SQL> select * from stdds select * from stdds where fees between 5000 and 6000;
select * from stdds select * from stdds where fees between 5000 and 6000
*
ERROR at line 1:
ORA-00933: SQL command not properly ended

SQL> select * from stdds where fees between 5000 and 6000;

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
2 vipul 6000 22-JUN-88 12 surat

SQL> select * from stdds where fees > 6000 and fees < 9000;

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
3 admin 6500 05-APR-85 21323 surat

SQL> select * from stdds where city like 'surat';


ROLLNUM SNAME FEES DOB CONT CITY
---------- -------------------- ---------- --------- ----------
--------------------
2 vipul 6000 22-JUN-88 12 surat
3 admin 6500 05-APR-85 21323 surat

SQL> select * from stdds where city like 's%';

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
2 vipul 6000 22-JUN-88 12 surat
3 admin 6500 05-APR-85 21323 surat

SQL> select * from stdds where city like '_u%';

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
2 vipul 6000 22-JUN-88 12 surat
3 admin 6500 05-APR-85 21323 surat

SQL> select * from stdds where city like '%a%';

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
1 raj 10000 11-JAN-99 123 ahd
2 vipul 6000 22-JUN-88 12 surat
3 admin 6500 05-APR-85 21323 surat

SQL>
SQL> select city from stdds;

CITY
--------------------
ahd
surat
surat

SQL> select distinct city from stdds;

CITY
--------------------
ahd
surat

SQL> select * from stdds where city in ('su','surat','baroda');

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
2 vipul 6000 22-JUN-88 12 surat
3 admin 6500 05-APR-85 21323 surat

SQL> select * from stdds where city like 'surat';

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
2 vipul 6000 22-JUN-88 12 surat
3 admin 6500 05-APR-85 21323 surat

SQL>
SQL>
SQL>
SQL>
SQL> select * from stdds where city not in ('su','surat','baroda');

***************************************

SQL*Plus: Release 10.2.0.1.0 - Production on Mon Jan 29 18:09:47 2018

Copyright (c) 1982, 2005, Oracle. All rights reserved.

SQL> connect
Enter user-name: system
Enter password:
Connected.
SQL> s
SP2-0042: unknown command "s" - rest of line ignored.
SQL>
SQL>
SQL>
SQL>
SQL> select * from stdds;

ROLLNUM SNAME FEES DOB CONT


---------- -------------------- ---------- --------- ----------
CITY
--------------------
1 raj 10000 11-JAN-99 123
ahd

2 vipul 6000 22-JUN-88 12


surat

3 admin 6500 05-APR-85 21323


surat

SQL> set line 2500;


SQL> /

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
1 raj 10000 11-JAN-99 123 ahd
2 vipul 6000 22-JUN-88 12 surat
3 admin 6500 05-APR-85 21323 surat

SQL> select * from stdds order by fees;

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
2 vipul 6000 22-JUN-88 12 surat
3 admin 6500 05-APR-85 21323 surat
1 raj 10000 11-JAN-99 123 ahd

SQL> select * from stdds order by fees asc;

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
2 vipul 6000 22-JUN-88 12 surat
3 admin 6500 05-APR-85 21323 surat
1 raj 10000 11-JAN-99 123 ahd

SQL> select * from stdds order by fees desc;

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
1 raj 10000 11-JAN-99 123 ahd
3 admin 6500 05-APR-85 21323 surat
2 vipul 6000 22-JUN-88 12 surat

SQL>
SQL>
SQL> select sum(fees) from stdds;

SUM(FEES)
----------
22500

SQL> select avg(fees) from stdds;

AVG(FEES)
----------
7500

SQL> select count(fees) from stdds;

COUNT(FEES)
-----------
3

SQL> select max(fees) from stdds;

MAX(FEES)
----------
10000

SQL> select min(fees) from stdds;

MIN(FEES)
----------
6000

SQL> select stdev(fees) from stdds;


select stdev(fees) from stdds
*
ERROR at line 1:
ORA-00904: "STDEV": invalid identifier

SQL> select stddev(fees) from stdds;

STDDEV(FEES)
------------
2179.44947

SQL> select stddev(fees) from stdds;

STDDEV(FEES)
------------
2179.44947

SQL>
SQL>
SQL>
SQL>
SQL>
SQL> select * froms stdds;
select * froms stdds
*
ERROR at line 1:
ORA-00923: FROM keyword not found where expected

SQL> select * from stdds;

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
1 raj 10000 11-JAN-99 123 ahd
2 vipul 6000 22-JUN-88 12 surat
3 admin 6500 05-APR-85 21323 surat
SQL> select count(city) from stdds;

COUNT(CITY)
-----------
3

SQL> select count(city) from stdds group by city;

COUNT(CITY)
-----------
1
2

SQL> select city,count(city) from stdds group by city;

CITY COUNT(CITY)
-------------------- -----------
ahd 1
surat 2

SQL> select city,count(city) from stdds where fees > 0 group by city having
count(city) > 1 ;

CITY COUNT(CITY)
-------------------- -----------
surat 2

SQL> select city,count(city) from stdds where fees > 0 group by city having
count(city) > po ;
select city,count(city) from stdds where fees > 0 group by city having count(city)
> po

*
ERROR at line 1:
ORA-00904: "PO": invalid identifier

SQL> select city,count(city) from stdds where fees > 0 group by city having
count(city) > 0 ;

CITY COUNT(CITY)
-------------------- -----------
ahd 1
surat 2

SQL> select city,count(city) from stdds where fees > 0 group by city having
count(city) > 0 ;

CITY COUNT(CITY)
-------------------- -----------
ahd 1
surat 2

SQL> select city,count(city) from stdds where fees > 0 group by city having
count(city) > 1 ;

CITY COUNT(CITY)
-------------------- -----------
surat 2

SQL>
SQL>
SQL> select count(*) from stdds;

COUNT(*)
----------
3

SQL> select * from stdds;

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
1 raj 10000 11-JAN-99 123 ahd
2 vipul 6000 22-JUN-88 12 surat
3 admin 6500 05-APR-85 21323 surat

SQL> select count(fees) from stdds;

COUNT(FEES)
-----------
3

SQL>
SQL>
SQL> update stdds set fees = fees + (fees * 0.10);

3 rows updated.

SQL> update stdds set fees = fees + (fees * 0.10) where city like 'surat' ;

2 rows updated.

SQL> commit;

Commit complete.

SQL> select * from stdds;

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
1 raj 11000 11-JAN-99 123 ahd
2 vipul 7260 22-JUN-88 12 surat
3 admin 7865 05-APR-85 21323 surat

SQL>
SQL> delete from stdds;

3 rows deleted.

SQL> select * from stdds;

no rows selected

SQL> rollback;
Rollback complete.

SQL> select * from stdds;

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
1 raj 11000 11-JAN-99 123 ahd
2 vipul 7260 22-JUN-88 12 surat
3 admin 7865 05-APR-85 21323 surat

SQL> commit;

Commit complete.

SQL> truncate table stdds12345678;


truncate table stdds12345678
*
ERROR at line 1:
ORA-00942: table or view does not exist

SQL> delete from stdds where rollnum = 1 ;

1 row deleted.

SQL> select * from stddsl


2 ;
select * from stddsl
*
ERROR at line 1:
ORA-00942: table or view does not exist

SQL> select * from stdds;

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
2 vipul 7260 22-JUN-88 12 surat
3 admin 7865 05-APR-85 21323 surat

SQL> rollback;

Rollback complete.

SQL> select * from stdds;

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
1 raj 11000 11-JAN-99 123 ahd
2 vipul 7260 22-JUN-88 12 surat
3 admin 7865 05-APR-85 21323 surat

SQL> commit;

Commit complete.
SQL>
SQL>
SQL>
SQL> select * from stdds union select * from stdds;

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
1 raj 11000 11-JAN-99 123 ahd
2 vipul 7260 22-JUN-88 12 surat
3 admin 7865 05-APR-85 21323 surat

SQL> select * from stdds unionall select * from stdds;


select * from stdds unionall select * from stdds
*
ERROR at line 1:
ORA-00933: SQL command not properly ended

SQL> select * from stdds union all select * from stdds;

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
1 raj 11000 11-JAN-99 123 ahd
2 vipul 7260 22-JUN-88 12 surat
3 admin 7865 05-APR-85 21323 surat
1 raj 11000 11-JAN-99 123 ahd
2 vipul 7260 22-JUN-88 12 surat
3 admin 7865 05-APR-85 21323 surat

6 rows selected.

SQL> select * from stdds intersect select * from stdds;

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
1 raj 11000 11-JAN-99 123 ahd
2 vipul 7260 22-JUN-88 12 surat
3 admin 7865 05-APR-85 21323 surat

SQL> select * from stdds intersect select * from stdds;

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
1 raj 11000 11-JAN-99 123 ahd
2 vipul 7260 22-JUN-88 12 surat
3 admin 7865 05-APR-85 21323 surat

SQL>
SQL>
SQL>
SQL>
SQL>
SQL> alter table stdds add rank number;

Table altered.
SQL> desc stdds;
Name

Null? Type

-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
--------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
ROLLNUM

NOT NULL NUMBER


SNAME
NOT NULL VARCHAR2(20)
FEES

NUMBER
DOB

DATE
CONT

NUMBER
CITY

VARCHAR2(20)
RANK

NUMBER

SQL>
SQL>
SQL> select * from stdds;

ROLLNUM SNAME FEES DOB CONT CITY


RANK
---------- -------------------- ---------- --------- ----------
-------------------- ----------
1 raj 11000 11-JAN-99 123 ahd
2 vipul 7260 22-JUN-88 12 surat
3 admin 7865 05-APR-85 21323 surat

SQL> rename stdds to std123;

Table renamed.

SQL> desc stdds;


ERROR:
ORA-04043: object stdds does not exist

SQL> desc std23


ERROR:
ORA-04043: object std23 does not exist

SQL> desc std123;


Name

Null? Type

-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
----------------------------------------------------------------------------------
--------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
-----------------------------------------------------------------------------------
ROLLNUM

NOT NULL NUMBER


SNAME

NOT NULL VARCHAR2(20)


FEES
NUMBER
DOB

DATE
CONT

NUMBER
CITY

VARCHAR2(20)
RANK

NUMBER

SQL>
SQL>
SQL> select * from stdds;
select * from stdds
*
ERROR at line 1:
ORA-00942: table or view does not exist
SQL> select * from std123;

ROLLNUM SNAME FEES DOB CONT CITY


RANK
---------- -------------------- ---------- --------- ----------
-------------------- ----------
1 raj 11000 11-JAN-99 123 ahd
2 vipul 7260 22-JUN-88 12 surat
3 admin 7865 05-APR-85 21323 surat

SQL>

ROLLNUM SNAME FEES DOB CONT CITY


---------- -------------------- ---------- --------- ----------
--------------------
1 raj 10000 11-JAN-99 123 ahd

SQL>

Você também pode gostar