SQL.doc

(281 KB) Pobierz
1

              10

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

1. Podstawy Strukturalnego Języka Zapytań SQL

§ 1.1. Rozkazy języka SQL

1.1.1. Spis rozkazów języka SQL

Poniższa tabela zawiera spis podstawowych rozkazów języka SQL wraz z krótkim opisem. Rozkazy te możemy podzielić na trzy grupy:

  • rozkazy definicji danych - (Date Definition Language - DDL),
  • rozkazy manipulowania danymi - (Data Manipulation Language - DML),
  • rozkazy sterowania transakcjami - (Data Control Language - DCL).

Operacje relacyjne były szczegółowo omówione w rozdziale 3.

 

Rozkaz

Typ

Opis

ALTER TABLE

DDL

Dodaje kolumnę do tabeli, redefiniuje kolumnę w istniejącej tabeli lub redefiniuje ilość miejsca zarezerwowaną dla danych

CREATE INDEX

DDL

Tworzy indeks dla tabeli

CREATE SEQUENCE

DDL

Tworzy obiekt służący do generowania kolejnych liczb - sekwencję. Sekwencji można użyć do generowania unikalnych identyfikatorów w tabelach

CREATE TABLE

DDL

Tworzy tabelę i definiuje jej kolumny oraz alokację przestrzeni dla danych

CREATE VIEW

DDL

Definiuje widok dla jednej lub większej ilości tabel lub innych widoków

DELETE

DML

Usuwa wszystkie lub wyróżnione wiersze z tabeli

DROP obiekt

DDL

Usuwa indeks, sekwencje, tablicę, widok lub inny obiekt

INSERT

DML

Dodaje nowy wiersz (lub wiersze) do tabeli lub widoku

RENAME

DDL

Zmienia nazwę tabeli, widoku lub innego obiektu

SELECT

DML

Wykonuje zapytanie. Wybiera wiersze i kolumny z jednej lub kilku tabel

UPDATE

DML

Zmienia dane w tabeli

COMMIT

DCL

Kończy transakcję i na stałe zapisuje zmiany

ROLLBACK

DCL

Wycofuje zmiany od początku transakcji lub zaznaczonego punktu.

SAVEPOINT

DCL

Zaznacza punkt, do którego możliwe jest wykonanie rozkazu ROLLBACK

SET TRANSACTION

DCL

Zaznacza aktualną transakcję jako read-only (tylko do odczytu).

1.1.2. Definicje podstawowe

Identyfikator (nazwa) - ciąg liter, cyfr i znaków podkreślenia rozpoczynający się literą lub znakiem podkreślenia. Różne systemy baz danych umożliwiają stosowanie innych znaków wewnątrz identyfikatorów (np. znak '$', lub '!'). Stosowanie tych znaków nie jest jednak zalecane ze względu na późniejsze problemy związane z przenośnością napisanych w ten sposób aplikacji.

Słowa zarezerwowane - identyfikatory zastrzeżone posiadające specjalne znaczenie w języku SQL. Spis wszystkich słów zarezerwowanych w języku SQL przez twórców ORACLE'a przedstawia tabela:

 


              10

¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾¾

access

add

all

alter

and

any

as

asc

audit

between

by

char

check

cluster

column

comment

compress

connect

create

current

date

dba

decimal

default

delete

desc

distinct

drop

else

exclusive

exists

file

float

for

from

grant

graphic

group

having

identified

if

immediate

in

increment

index

install

initialinsert

integer

intersect

into

is

level

like

lock

long

max

extents

minus

mode

modify

noaudit

nocompress

notnowait

null

number

of

offline

on

online

option

or

order

pctfree

prior

privileges

publicraw

rename

resource

revoke

row

rowid

rownum

row

select

session

set

share

size

smallint

start

successful

synonym

sysdate

table

then

to

trigger

uid

union

unique

update

user

validate

values

varchar

var

graphic

view

when

ever

where

with

 

Liczby - mogą być całkowite lub rzeczywiste. Liczba całkowita nie posiada kropki dziesiętnej. W systemie ORACLE liczby można zapisywać w formacie zwykłym lub wykładniczym. Format wykładniczy składa się z liczby oraz wykładnika liczby 10, przez który należy pomnożyć tę liczbę oddzielonego literą 'e' lub 'E'.

Przykłady.

  • 7E2 = 7 * 102
  • 25e-03 = 25 * 10-3

Dodatkowo w systemie ORACLE liczbę całkowitą można zakończyć literą 'K' lub literą 'M'. Litera 'K' oznacza, że cała liczba ma być pomnożona przez 1024 (1 KB), natomiast litera 'M', że liczbę należy pomnożyć przez 1048576 (1 MB).

Przykłady.

  • 256K = 256 * 1024
  • 1M = 1 * 1048576

Rozkazy języka SQL kończą się średnikiem.

1.1.3. Rozkaz CREATE TABLE

Rozkaz CREATE TABLE służy do tworzenia struktury tabeli (bez danych) i posiada dodatkowe opcje umożliwiające:

  • określenie sposobu alokacji przestrzeni do przechowywania danych
  • określenie rozmiaru tabeli
  • przydzielenie tabeli do określonego klastra
  • załadowanie danych będących wynikiem podanego zapytania, do tabeli

Rozkaz CREATE TABLE posiada następującą składnię:

CREATE TABLE [user.]table ( {column_element | table_constraint}

[, {column_element | table_constraint} ] ... )

[ PCTFREE n ] [ PCTUSED n ]

[ INITTRANS n ] [ MAXTRANS n ]

[ TABLESPACE tablespace ]

[ STORAGE storage ]

[ CLUSTER cluster (column [, column] ...) ]

[ AS query ];

 

Parametry:

  • user - właściciel tabeli, jeśli nie zostanie podany, to właścicielem staje się osoba tworząca tabelę. Tabele dla innych użytkowników może tworzyć tylko administrator systemu zarządzania bazą danych (DBA)
  • table - nazwa tabeli, powinna być prawidłowym identyfikatorem. Wszystkie obiekty danego użytkownika powinny mieć unikalne nazwy
  • column_element - definiuje kolumnę i opcjonalne ograniczenia na wartości w tej kolumnie. Tabela musi zawierać co najmniej jedną kolumnę (jak to wynika ze składni)
  • table_constraints - określa ograniczenia jakie musi spełniać cała tabela
  • tablespace - określa obszar, w którym należy umieścić tabelę
  • storage - określa przyszły sposób alokacji pamięci
  • cluster - określa klaster (którego właścicielem musi być właściciel tabeli), do którego należy przydzielić tabelę
  • query - jest poprawnym zapytaniem takim sa...
Zgłoś jeśli naruszono regulamin