Oracle

Post on 15-Nov-2014

433 views 1 download

Tags:

transcript

SQL Tutorial

•CPSC 608

•Database System

Connecting to Oracle

• Your username is identical to your UNIX account

• To access your Oracle account, you need to change the initial password assigned to by the system

• To access Oracle you need to be logged onto a Solaris 2.5 workstation

• You need to add the following line :

source /usr/local/bin/SystemLogin in your .login file

Connecting to Oracle

To generate a new password, enter the command “orapasswd” at the unix prompt.

This program will generate a new Oracle password for you

>orapasswd

The new password for

unix-username@oracledatabase is WU8vn23r

Connecting to Oracle

When connecting to SQL use the full Oracle login as given by the orapasswd command as follows:

>sqlplus

SQL*Plus: Release 8.1.5.0.0 - Production on Wed Feb 9 18:54:47 2000

(c) Copyright 1999 Oracle Corporation. All rights reserved.

Enter user-name: mua9330@oracledatabase

Enter password:

Connected to:

Oracle8i Enterprise Edition Release 8.1.5.0.0 - Production

With the Partitioning and Java options

PL/SQL Release 8.1.5.0.0 - Production

SQL>

Connecting to Oracle

You can change the password to your own liking by typing the following command at the command prompt

SQL> alter user <unix-username> identified by <new - password>

You are now ready to begin work in SQL environment

To exit just type quit or exit at the command prompt

SQL> exit

Note: When a user exits the system automatically commits all changes

On line help

• Oraview online help in Xwindows environment

At the prompt the user can enter two types of command

• SQL statements to access database

• SQL*Plus commands,for editing and storing SQL statements and formatting query results.

To get online help for SQL*Plus commands

SQL> help [topic]

Some Useful SQL commands

To set pause at the beginning of the each page

SQL> set pause on;

To view operating system files without getting out of SQL

SQL>!ls

Database Relation/Table Operations

• Create table

• describe

• alter table

• insert into

• drop table

Create table

create table Course(

Cno char(3) not null,

Cname varchar2(22),

Cdescp varchar2(25),

Cred number(5),

Clabfee number(5,2),

Cdept char(3)

);

Important Data type

char(n): fixed -length character string of length n. Max = 255

varchar2(n): variable length character string having a maximum of n characters. Max = 2000

date: holds a date field. Usually specified in string format, such as ‘12 - DEC- 1999’

number(n,d): real value occupying n spaces with d digits after the decimal point.

Integer(n): integer value occupying n spaces.

Example

create table Weather(

city varchar2(13),

noon number(3,1),

midnight number(3,1),

precipitation number,

primary key (city,precipitation)

);

create table Zipcodes(

zip number(5) primary key,

city varchar2(30)

);

Example

create table Customer(

cno number(5) primary key,

cname varchar2(30),

street varchar2(30),

zip number(5) refference zipcodes,

phone char(12)

);

describe• SQL> create table Course(• Cno char(3) not null,• Cname varchar2(22),• Cdescp varchar2(25),• Cred number(5),• Clabfee number(5,2),• Cdept char(3)• );

• Table created.

• SQL> describe Course• Name Null? Type• ----------------------------------------- -------- ----------------------------• CNO NOT NULL CHAR(3)• CNAME VARCHAR2(22)• CDESCP VARCHAR2(25)• CRED NUMBER(5)• CLABFEE NUMBER(5,2)• CDEPT CHAR(3)•

Table Modifying• Alter table Course modify(

Cdept char(6)

);

• alter table Course

drop Cdescp;

• drop table Course;

• To see the list of all the tables that you have created

select table_name, table_type from user_catalog;

• To insert a row into a table

insert into Course values

(‘614’, ‘Computer Architecture’, ‘Pipelining and memory’, 3,150.00, ‘th’);

Deletion

• To delete a particular row from the table

delete from Course where Cname = ‘intro to cs’

• To update a particular column value for a particular row

update Course set Clabfee = clabfee*10 where cdept = ‘phil’

The select statement

• Basic form

select <attribute list>

from < table list>

where <condition>

SQL queries

Query 1: Display entire course table.

Select *

from Course;

Note

The changes made to the database using insert, delete and update can be reversed if necessary. Oracle SQL provides two commands :

Commit & rollback.

The changes made to the database can be made permanent by using commit. The changes made to the database since last commit can be reversed using roll back.

There are some actions that force commit. One is exit. Others are create table, drop table, alter table

Comparison Operators

• = equal to

• < less than

• > greater than

• <= less than or equal to

• >= greater than or equal to

• !=, ^=,<> not equal

Query

Display all information about any course with a zero labfee.

Select *

from Course

where Clabfee=0.00

Query

Display all information about courses having course name values which follows “Database” in alphabetic sequence.

select *

from course

where Cname > ‘Database’;

Sorting the result Table

Display the entire Course table. Sort the output display by the clabfee values

select *

from Course

order by Clabfee;

Sorting the result Table

Display the department id and name of every course. Sort the result by department id. Within each department, sort by course name.

Select Cdept, Cname

from Course

order by Cdept, Cname;

Boolean Connectors: AND - OR - NOT

Display all information about any three credit philosophy course which has a lab fee which is strictly between zero and one hundred dollars.

Select *

from Course

where Clabfee > 0 and Clabfee < 1000 and Cdept = ‘phil’ and Cred = 3;

Logical test against a list of values

Display the course number, description and credit for any course which is worth 2, 6, or 9 credits.

Select Cno, Cdescp, Cred

from Course

where Cred in (2,6,9);

Logical test against a list of values

Display the course name and lab fee of any course with a lab fee less than $100 or greater than $200.

Select Cname, Clabfee

from Course

where Clabfee not between 100 and 200;

Pattern Matching

When you wish to retrieve information from rows having similar but not necessarily equal, values in a given column.

The format is:

where column-name like pattern

Two special wildcard

• “-” : represent exactly one character

• “%” : represent character string of any length (including zero)

Query

Display the course number and name of all introductory course.

Select Cno, Cname

from Course

where Cname like ‘intro%’;