1 / 28

SQL - Structured Query Language

SQL - Structured Query Language. Język relacyjnych baz danych. Podstawowe komponenty SQL. DDL (Data Definition Language ) – język definiowania struktur danych (CREATE) i kontroli dostępu DQL (Data Query Language ) – język definiowania zapytań dla wyszukiwania danych (SELECT)

Download Presentation

SQL - Structured Query Language

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SQL - StructuredQueryLanguage Język relacyjnych baz danych

  2. Podstawowe komponenty SQL • DDL (Data DefinitionLanguage) – język definiowania struktur danych (CREATE) i kontroli dostępu • DQL (Data QueryLanguage) – język definiowania zapytań dla wyszukiwania danych (SELECT) • DML (Data ManipulationLanguage) – język operacji na danych (INSERT, UPDATE, DELETE), tj. służący do wyszukiwania i modyfikowania danych

  3. Polecenie – „CREATE” • polecenie SQL używane do tworzenia obiektów • pozwala tworzyć tabele określając jej nazwę, kolumny, indeksy oraz mechanizm i język porównywania napisów • umożliwia nakładanie ograniczeń w stosunku do jednego lub wielu pól

  4. Polecenie – „CREATE” - składnia CREATE TABLE nazwa_tabeli (typ_pola1 [(rozmiar)] [NOT NULL] [indeks1] [, typ pola2 [(rozmiar)] [NOT NULL] [indeks2] … [, typ polan [(rozmiar)] [NOT NULL] [indeksn] [, CONSTRAINT indeks_wielopolowy [, ...]]);

  5. Polecenie – „CREATE” - składnia • nazwa_tabeli - Nazwa tabeli, która ma zostać utworzona. • pole1, pole2 - Nazwa pola lub pól, jakie mają zostać utworzone w nowej tabeli. Należy utworzyć przynajmniej jedno pole. • typ - Typ danych pola w nowej tabeli. • rozmiar -Rozmiar pola wyrażony w znakach (tylko pola zawierające dane tekstowe i binarne). • indeks1, indeks2 - Klauzula CONSTRAINT określająca indeks jednopolowy. • indeks_wielopolowy - Klauzula CONSTRAINT określająca indeks wielopolowy

  6. Polecenie – „CREATE” - ograniczenia • typy ograniczeń, jakie możemy nakładać na tabelę przy pomocy klauzuli CONSTRAINT w instrukcji CREATE TABLE • PRIMARY KEY – wyznacza pole (lub grupę pól), które tworzy klucz podstawowy, • UNIQUE– określa klucz unikatowy, • NOT NULL – wykluczenie wartości NULL w określonym polu, • FOREIGN KEY – określa pole klucza obcego w tabeli

  7. Polecenie – „CREATE” - przykład CREATE TABLE IF NOT EXISTS `logs` ( `id_logs` int(11) NOT NULL auto_increment, `id_users` int(11) default NULL, `name` varchar(255) NOT NULL, `type` varchar(255) NOT NULL, `data` timestamp NOT NULL defaultCURRENT_TIMESTAMP, PRIMARY KEY (`id_logs`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; • Tworzy tabelę o nazwie ‘logs’ zawierającą 5 kolumn • Ustawia mechanizm na InnoDB oraz język porównywania napisów na UTF8 • Kluczem podstawowym jest kolumna ‘id_logs’ • auto_increment nadaje kolumnie ‘id_logs’ automatyczną numeracje wpisów

  8. Polecenie – „SELECT” • podstawową, najczęściej używaną instrukcją języka SQL jest instrukcja SELECT, która służy do pobierania danych z jednej tabeli lub większej liczby tabel. • niezależnie od liczby tabel oraz niezależnie od rodzaju operacji wykonywanych na zbiorach, zawsze jako wynik otrzymujemy wirtualną pojedynczą tabelę (tzw. dynamiczny zestaw wyników), którą dalej możemy przetwarzać.

  9. Polecenie – „SELECT” – składnia SELECT parametry FROM nazwa_tabel WHERE warunki SORT BY kolumna typ_sortowania ORDER BY kolumna LIMIT start, ilość;

  10. Polecenie – „SELECT” – składnia • parametry – lista kolumn, które chcemy pobrać w zapytaniu(symbol ‘*’ oznacza wszystkich kolumn z tabel określonych w nazwa_tabel) • nazwa_tabel – lista tabel, z których chcemy korzystać w zapytaniu(pobierać z nich dane lub budować na nich relacje) • warunki– warunki jakie mają spełniać pobierane dane • kolumna– nazwa kolumny po której dane mają być grupowane lub sortowane • typ_sortowania– malejące(DESC)/rosnące(ASC) • start– nr rekordu od którego zaczyna się pobierać dane • ilość– maksymalna ilość pobieranych rekordów

  11. Polecenie – „SELECT” - przykład SELECT * FROM `logs` WHERE `id_users` = 1 AND `type` = ‘error’ SORT BY data DESC LIMIT 0, 10; Zapytania wyświetli maksymalnie 10 rekordów posortowanych od ostatnio dodanego z wszystkimi kolumnami jakie zawiera tabela w których `id_users` = 1 i `type’ = ‘error’.

  12. Polecenie – „INSERT” • pozwala wprowadzań dane do tabel w bazie danych • umożliwia dodania jednego lub wielu rekordów naraz

  13. Polecenie – „INSERT” - składnia INSERT INTO nazwa_tabeli (kolumna1,kolumna2,…,kolumnan) VALUES (dane1,dane2,…,danen), …, (dane1,dane2,…,danen);

  14. Polecenie – „INSERT” – składnia • nazwa_tabeli – nazwa tabeli do której chcemy wprowadzić dane • kolumna(1..n) – kolumny do których chcemy wprowadzić dane • dane(1..n) – dane wprowadzane do tabeli odpowiednio do wybranych kolumn

  15. Polecenie – „INSERT” - przykład INSERT INTO `logs` (`id_logs`,`id_users`,`name`,`type`,`data`) VALUES (NULL,1,’tworzenie wpisu’,’error’,NULL), (NULL,1,’tworzenie wpisu’,’success’,NULL); Polecenie dodaje do tabeli `logs` dwa rekordy. NULL w liście wprowadzanych danych powoduje wstawienie domyślnych wartości kolumny ustawione przy tworzeniu tabeli.

  16. Polecenie – „UPDATE” • pozwala na aktualizacje danych w wstawionych już rekordach. • umożliwia edycje jednego lub wielu rekordu jednocześnie

  17. Polecenie – „UPDATE” – składnia UPDATE nazwa_tabeli SET kolumna1 = wartość, …, kulmnan = wartośćn, WHERE warunki;

  18. Polecenie – „UPDATE” - składnia • nazwa_tabeli – nazwa tabeli, w której chcemy zaktualizować dane • kolumna(1..n) – kolumny w których chcemy dokonać zmian • wartość(1..n) – wartości, którymi chcemy wypełnić komórki • warunki – warunki jakie musi spełnić rekord aby dokonać w nim aktualizacji danych

  19. Polecenie – „UPDATE” – przykład UPDATE `logs` SET `name` = ‘tworzenie wpisu - aktualności’ WHERE `id_users` = 1; Polecenie zmienia wartość kolumny `name` z ‘tworzenie wpisu’ na ‘tworzenie wpisu – aktualności’ w rekordach, w których `id_users` = 1.

  20. Polecenie – „DELETE” • polecenie umożliwia usuwanie rekordów z tabeli • umożliwia usunięcie jednego lub wielu rekordów jednocześnie

  21. Polecenie – „DELETE” - składnia DELETE FROM nazwa_tabeli WHERE warunki;

  22. Polecenie – „DELETE” - składnia • nazwa_tabeli – nazwa tabeli, z której mają być usunięte dane • warunki – warunki jakie musi spełnić rekord by mógł zostać usunięty

  23. Polecenie – „DELETE” - przykład DELETE FROM `logs` WHERE `type` = ‘error’; Polecenie usuwa rekordy z tabeli `logs`, w których komórka `type` równa się ‘error’.

  24. Polecenie – „GRANT” • tworzenie użytkowników bazy danych • nadawanie uprawnień użytkownikom

  25. Polecenie „GRANT” - składnia GRANT lista_praw_dostepu ON nazwa_tabeli TO nazwa_uzytkownika

  26. Polecenie „GRANT” - składnia • lista_praw_dostepu – lista typów uprawnień jakie mają zostać nadane użytkownikowi • nazwa_tabeli – nazwa tabeli do której maja zostać nadane uprawnienia • nazwa_uzytkownika – nazwa użytkownika do którego mają zostać przypisane uprawnienia

  27. Polecenie – „GRANT” - przykład GRANT SELECT, INSERT, UPDATE ON `logs` TO biuro Polecenie nadaje uprawnienia użytkownikowi biuro do pobierania, wstawiania i uaktualniania danych w tabeli `logs` i tworzy go jeśli nie istnieje.

  28. Żródła: http://it.dth.pl/grant-oraz-revoke-kurs-jezyka-sql-mysql-cz-1/ http://pl.wikipedia.org http://www.w3schools.com Książka: „PHP i MySQL Tworzenie stron WWW F7 2005”

More Related