Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Bazy danych 8. SQL podstawy P. F. Góra semestr letni 2004/05.

Podobne prezentacje


Prezentacja na temat: "Bazy danych 8. SQL podstawy P. F. Góra semestr letni 2004/05."— Zapis prezentacji:

1 Bazy danych 8. SQL podstawy P. F. Góra http://th-www.if.uj.edu.pl/zfs/gora/ semestr letni 2004/05

2 Bazy danych - wykład 82 Structured Query Language Standardy (używane!) –SQL92 –SQL99 –SQL:2003 Żaden dostawca nie jest w pełni zgodny ze standardem prawie wszyscy wprowadzają rozszerzenia, prawie nikt nie spełnia wszystkich wymogów –W dużych systemach komercyjnych odejście od wymogów nie jest wielkie

3 Bazy danych - wykład 83 mysql> CREATE DATABASE Studenci; Query OK, 1 row affected (0.00 sec) mysql> USE Studenci; Database changed mysql> CREATE TABLE Nazwiska (NrIndeksu INT NOT NULL, -> Imie VARCHAR(16), -> Nazwisko VARCHAR(16), PRIMARY KEY(NrIndeksu)); Query OK, 0 rows affected (0.00 sec) Z powodów historycznych polecenia SQL nazywa si ę zapytaniami (ang. query)

4 Bazy danych - wykład 84 CREATE TABLE NazwaTabeli (NazwaKolumny1 TypKolumny1 [NULL | NOT NULL], NazwaKolumny2 TypKolumny2 [NULL | NOT NULL], … ) PRIMARY KEY (Nazwy_Kilku_Kolumn)); Formalne typy danych odpowiadaj ą najcz ęś ciej wyst ę puj ą cym danym rzeczywistym (ca ł kowite o ró ż nym zakresie, rzeczywiste pojedynczej i podwójnej precyzji, znakowe, tekstowe, daty-i-czasu)

5 Bazy danych - wykład 85 mysql> INSERT INTO Nazwiska VALUES (12345, 'Jan', 'Kowalski'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO Nazwiska VALUES -> (12346, 'Ewa', 'Piotrowska'), -> (12349, 'Tomasz', 'Kowlaski'), -> (12355, 'Agnieszka','Nowak'); Query OK, 3 rows affected (0.06 sec) Records: 3 Duplicates: 0 Warnings: 0 mysql> INSERT INTO Nazwiska (NrIndeksu,Nazwisko) -> VALUES (12378,'Batory'); Query OK, 1 row affected (0.00 sec) Wstawianie danych

6 Bazy danych - wykład 86 mysql> SELECT * FROM Nazwiska; +-----------+-----------+------------+ | NrIndeksu | Imie | Nazwisko | +-----------+-----------+------------+ | 12345 | Jan | Kowalski | | 12346 | Ewa | Piotrowska | | 12349 | Tomasz | Kowlaski | | 12355 | Agnieszka | Nowak | | 12378 | NULL | Batory | +-----------+-----------+------------+ 5 rows in set (0.00 sec) Co teraz jest w tabeli?

7 Bazy danych - wykład 87 Sk ł adnia zapytania SELECT: SELECT [DISTINCT] lista select FROM Tabela lub z łą czenie WHERE warunek logiczny GROUP BY wyra ż enie grupuj ą ce HAVING warunek wyszukiwania po grupowaniu ORDER BY wyra ż enie porz ą dkuj ą ce [ASC | DESC] ;

8 Bazy danych - wykład 88 mysql> UPDATE Nazwiska SET Nazwisko='Kowalski' -> WHERE Nazwisko='Kowlaski'; Query OK, 1 row affected (0.00 sec) Rows matched: 1 Changed: 1 Warnings: 0 mysql> UPDATE Nazwiska SET Imie='Stefan' -> WHERE IsNull(Imie); Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0

9 Bazy danych - wykład 89 mysql> SELECT Nazwisko FROM Nazwiska; +------------+ | Nazwisko | +------------+ | Kowalski | | Piotrowska | | Kowalski | | Nowak | | Batory | +------------+ 5 rows in set (0.00 sec) Duplikaty!

10 Bazy danych - wykład 810 mysql> SELECT DISTINCT Nazwisko FROM Nazwiska -> ORDER BY Nazwisko DESC; +------------+ | Nazwisko | +------------+ | Piotrowska | | Nowak | | Kowalski | | Batory | +------------+ 4 rows in set (0.00 sec)

11 Bazy danych - wykład 811 mysql> SELECT * FROM Nazwiska WHERE Nazwisko LIKE "Ko%; +-----------+--------+----------+ | NrIndeksu | Imie | Nazwisko | +-----------+--------+----------+ | 12345 | Jan | Kowalski | | 12349 | Tomasz | Kowalski | +-----------+--------+----------+ 2 rows in set (0.00 sec) mysql> SELECT * FROM Nazwiska WHERE Imie LIKE "%sz"; +-----------+--------+----------+ | NrIndeksu | Imie | Nazwisko | +-----------+--------+----------+ | 12349 | Tomasz | Kowalski | +-----------+--------+----------+ 1 row in set (0.00 sec)

12 Bazy danych - wykład 812 mysql> INSERT INTO Nazwiska (Imie,Nazwisko) -> VALUES ('Lech','Jackowski'); Query OK, 1 row affected (0.00 sec) mysql> select * from nazwiska; +-----------+-----------+------------+ | NrIndeksu | Imie | Nazwisko | +-----------+-----------+------------+ | 12345 | Jan | Kowalski | | 12346 | Ewa | Piotrowska | | 12349 | Tomasz | Kowalski | | 12355 | Agnieszka | Nowak | | 0 | Lech | Jackowski | +-----------+-----------+------------+ 5 rows in set (0.00 sec) mysql> DELETE FROM Nazwiska WHERE Imie='Stefan'; Query OK, 1 row affected (0.00 sec)


Pobierz ppt "Bazy danych 8. SQL podstawy P. F. Góra semestr letni 2004/05."

Podobne prezentacje


Reklamy Google