KOMENDY BAZ DANYCH, edu, bazy


KOMENDY:

Constraint Offices_pk primary key //nadawanie klucza głównego

Constraint offices_fk foreign key (ino) references invoices // ograniczenie klucz obcy w tabeli

Constraint offices_check check(ytdsales>=0) //check

Constraint offices_pk primary key (ono, state) //dwa klucze główne

Constraint customers_check check (lat>=0 and long <=180) //and

Constraint customers_check check (sex='f' or sex='m') //or

Constraint detail_fk foreign key (ino) references invoices on delete cascade //usuwa cały detail gdy del ino

Notes varchar2(100) //tworzenie zmiennej(dłuższej)

State_name char(7) not null unique //not null, unique

data_zatrud date default to_date('01/11/2007', 'DD/MM/YYYY') //ustawiamy konkretną datę

data_zatrud date not null //typu date

data_zatrud default (sysdate) //domyślnie data systemowa

alter table customers add

(sex char, constraint customer_check_sex check (sex='f' or sex='m') )

alter table offices add

(constraint offices_fk foreign key state references states(state) )

alter table offices modify ono char(8) //modyfikacja typu lub rozmiaru w kolumnie

alter table offices drop column cno // usuwanie jednej kolumny

alter table offices drop (cno ,ino,pno) //usuwanie kilku kolumn

alter table offices set unused column cno //ukrywanie fizycznie dostępnych kolumn

alter table drop unused columns //usuń nieużywane kolumny

truncate table customer //usuń szybko tabele

purge recyclebin //opróżnić kosz

drop table customer purge //usuwa tabelę i tez z kosza

purge table customer //usuwa tabele z kosza

set autocommit on //transakcje będą potwierdzana/zapisywanie po execute

commit /rollback // stosujemy po każdej operacji aby zapisywało/wycofywało

SAVEPOINT A // PUNKT KONTROLNY (ZAPISUJE DANY STAN)

INSERT INTO states (state, state_name) //tworzenie wierszy dla tabeli STATES

Values (`NM', `new mexico')

SAVEPOINT B //// PUNKT KONTROLNY (ZAPISUJE DANY STAN)

INSERT INTO states (state, state_name)

Values (`NM', to_date('01/11/2007', 'DD/MM/YYYY'))

ROLLBACK TO SAVEPOINT A //POWRÓT DO STANU A

INSERT INTO tabela(pole1, pole2,..) //kopiowanie danych miedzy tabelami

SELECT

INSERT INTO invoices (...) // dodanie do wartości daty systemowej

Values (...,SYSDATE,...)

DELETE FROM tabela //usun dane z tabeli pod warunkiem…

WHERE warunek

UPDATE parts //modyfikacja danych (w wierszu)

SET inhand=56, onorder=635

WHERE pno=1

UPDATE states

SET state-`LS' //zmiana czegoś w tabeli

WHERE state='FL'

ALTER TABLE invoices //usunięcie wymogów z tabeli faktury

DROP CONSTRAINT invoices_fk

ALTER TABLE invoices ADD

(CONSTRAINT invoices_fk foreign key (salesman) references salesman on delete not null ) //dodanie wymogu

ALTER TABLE offices MODIFY //dodanie wymogu NOT NULL

name NOT NULL

SELECT *

FROM user_constraints

WHERE table_name='customers' //wyświetla wymogi integralności referencyjnej

SELECT *

FROM user_cons_columns

WHERE table_name='customers' //wyświetla wymogi integralności semantycznej

CREATE TABLE customer1 //TWORZENIE TABELI W LOCIE

AS SELECT *

FROM CUSTOMER

WHERE 1>0 //FAŁSZ

DELETE FROM states //usuwanie biur w danym stanie

WHERE (state='CA')

Dodawanie kolumny z wymogiem NOT NULL do tabeli wypełnionej wierszami:

  1. dodać kolumnę bez wymogu

  2. wypełnić ja wierszami

  3. dodać wymóg NOT NULL

zmienić rozmiar lub typ kolumny można: - gdy jest ona pusta i wypełniona wartościami NULL

-gdy tak nie jest trzeba ją usunać i dodać nową inego typu

Zmiana wymogów: - usuwamy wymóg(drop constraint) i dodajemy nowy (ADD(constraint...))

SELECT *

FROM user_tables //wszystkie tabele użytkownika

FROM all_tables //wszystko z wszystkich tabel

FROM rk0.salesman //wszyscy sprzedawcy dla ownera rk0

SELECT *

FROM rk0.cennik

WHERE miara !='kg' //wszystko z cennika dla rk0 inne od kg

WHERE nazwa LIKE `%fi%' //pokazuje nazwy gdzie występuje słowo fi ale nie tylko

WHERE UPPER(nazwa) LIKE `%FI%' //to co wyżej ale zamienia jeszcze małe litery na duze

SELECT *

FROM rk0.customer

WHERE company like `%computer%' // w nazwie wystepuje słowo computer(nie tylko)

WHERE company like `__x%' // na 3 znaku jest litera x

SELECT company, state, city

FROM rk0.customer //pokazuje firmę, stan I miasto dla klintów ze stanu NM

WHERE state='NM'

SELECT company, state, city

FROM rk0.customer //pokazuje firmę, stan I miasto dla klintów ze

WHERE state='NM' or state='KY' or state='GA' // stanu NM lub KY lub GA

SELECT company, state, city

FROM rk0.customer //to co wyżej (inna wersja)

WHERE state IN ('NM', 'KY', 'GA'

SELECT city

FROM rk0.customer //miasta związane z klientem

SELECT city

FROM rk0.customer //sortowanie miast związanych z klientem od a-z

order by city

SELECT DISTINCT city

FROM rk0.customer //miasta się nie powtarzaja + to co wyżej

order by city

SELECT count(*), state

FROM rk0.customer //zliczanie ilosci stanów i grupowanie

Group by state

SELECT count(*), state, sum(ytdpurch) //sum - sumuje

FROM rk0.customer

Group by state //grupuje wg stanu

SELECT count(*), state, sum(ytdpurch) //sortuje wg malejącej sprzedaży

FROM rk0.customer

Group by state

Order by SUM(ytdpurch) desc // lub - SUM(ytdpurch)

SELECT count(*), state, sum(ytdpurch)

FROM rk0.customer //to co wyzej

Having count(*) >10 //wyświetla stany w których jest wiecej niz 10 klientów

Group by state

Order by SUM(ytdpurch) desc

Znaki szkieletowe: % - dowolny ciąg znaków, _ - 1 znak

SELECT company, cno, ytdpurch //wybierz najlepszego klienta pod względem ytdpurch

FROM customer

WHERE ytdpurch >= ALL (SELECT ytdpurch FROM customer)

Lub

SELECT company, cno, ytdpurch //wybierz najlepszego klienta pod względem ytdpurch

FROM customer

WHERE ytdpurch = (SELECT max(ytdpurch) FROM customer)

SELECT DISTINCT c.state //stany do których nic nie sprzedano

FROM customer c

WHERE c.state NOT IN (SELECT c.state FROM customer c, invoices i where c.cno =i.cno)

Lub

SELECT DISTINCT c.state //stany do których nic nie sprzedano

FROM customer c

MINUS

SELECT c.state

FROM customer c, invoices i

WHERE c.cno = i.cno

CREATE INDEX index_klienta ON customer(company) //tworzenie indexu wg nazwy klienta

CREATE SEQUENCE sekwencja_seq //tworzenie sekwencji która zwiększa o 1 zaczynajac od 2000

INCREMENT BY 1 //NextVal to kolejna wartość, a Curr_Val ostatnio wygenerow.

START WITH 2000

INSERT INTO invoices(ino) //użycie sekwencji I wstawienie jej do wiersza

VALUES (sekwencja_seq.NextVal)

CREATE VIEW perspektywa_V as //tworzenie perspektywy, czyli wirtualnej tabeli

SELECT * FROM customer // na tabeli CUSTOMER filtrujac stany FL

WHERE state = `FL'

SELECT * FROM perspektywa_V // sprawdzanie zawartości perspektywy

Gdy dodamy do perspektywy stan inny niż FL pokaże się on tylko w głównej tabeli, gdy mamy perspektywę klientów którzy nic nei kupili i dodamy takiemu klientowi numer faktury to zniknie on z perspektywy. Gdy dodamy cos do perspektywy(spełniającego jej filtrację) to doda się to również do tabeli głównej.

Cross jon - złaczenia krzyżowe

SELECT * FROM offices CROSS JOIN salesman // łączy każdy wiersz tabeli offices z salesman

Natural join - wymaga aby było jakieś pole lub pola w tabelach o tej samej nazwie

SELECT * FROM customer NATURAL JOIN invoices

SELECT * FROM CUSTOMER NATURAL left outer join invoices // klienci dla których nie ma faktur wystawionych

Rownum - jest potrzebne gdy chcemy zwrócić okresloną ilosc wierszy, np. 10 najlepszych klientów. Jeśli chcemy wykorzystać pseudokolumną rownum to zwykle będziemy stosowali zapytanie zagniędzone

SELECT company FROM (SELECT company

FROM customer //wylistuj 20 najlepszych pod względem ytdpurch

ORDER BY ytdpurch desc) //klientów bez tych którzy nic nie kupili

WHERE rownum =20

MINUS

SELECT c.company

FROM customer c

WHERE c.cno NOT IN (SELECT c.cno FROM invoices i)

4



Wyszukiwarka

Podobne podstrony:
System zarządzania bazą danych, edu, bazy
WYKLAD I - wprowadzenie modele baz danych, Uczelnia, sem V, bazy danych, wyklad Rudnik
Bazy danych - podstawowe kroki w projektowaniu cz 2 - wyklady, Zajęcia z Baz Danych - MS Access, cz
Bazy danych - podstawowe kroki w projektowaniu cz 2 - wyklady, Zajęcia z Baz Danych - MS Access, cz
Bazy danych - rodzaje baz danych, INIB, PIOSI, Janiak
lab1Wstęp teoretyczny do baz danych, bazy danych
WYKŁAD IV - bezpieczenstwo baz danych, Uczelnia, sem V, bazy danych, wyklad Rudnik
R. 6-2 Struktura OBD-przyklad 1, Uczelniane, Semestr 2, Zaawansowane Systemy Baz Danych, WYKŁ [OZaik
Bazy Danych, Pizzeria, Praca zaliczeniowa z baz danych
04 Bazy danych - rodzaje baz danych sciaga, INIB rok II, PiOSI Sapa
Wprowadzenie do baz danych, Bazy Danych
mazur & mazur, bazy danych, modele baz danych
04 Bazy danych rodzaje baz danych
Systemy Baz Danych (cz 1 2)
bd cz 2 jezyki zapytan do baz danych
Modele Baz Danych 2
cwiczonko drugie z baz danych na stopieniek

więcej podobnych podstron