Ostatnie słowa hakera przed śmiercią: Log Out
MySQL - wprowadzenie

Co tutaj znajdziesz?

Ten dział ma być wprowadzeniem do języka SQL. Po ogólnej charakterystyce tego języka możesz zapoznać się ze strukturą i podstawowymi pojęciami związanymi z bazami danych. Dalsza część to specyfikacja konkretnej implementacji na przykładzie systemy MySQL v. 5.1.

Jest on w chwili obecnej jednym z najpopularniejszych interface'ów języka SQL. Charakteryzuje się ogromną elastycznością i prędkością działania, a jednocześnie jest bardzo prosty w obsłudze. Dostępny jest na licencji open source. Dzięki wydajności, szybkości, stabilności i rozbudowanym mechanizmom zabezpieczeń jest wykorzystywana niemal do wszystkich zadań, do jakich może być potrzebna baza danych. Stanowi podstawę wielu aplikacji korporacyjnych, witryn WWW i sklepów internetowych.

Najnowszą wersję MySQL możesz ściągnąć tutaj. Znajdziesz tam również jego anglojęzyczną dokumentacja i instrukcję instalacji (nie powinna ona sprawiać żadnego problemu nawet nowicjuszom).

Wstęp do SQL

Funkcjonowanie współczesnych systemów relacyjnych baz danych oparte jest głównie na języku SQL (Structured Query Language - strukturalny język zapytań). SQL został pierwotnie zaprojektowany jako język do formułowania zapytań, oparty na relacjach. Obecnie jest on jednak uniwersalnym interfejsem do większości systemów zarządzania bazami danych: operacje dotyczące definicji danych, dostępu do danych i ich modyfikacji, jak również większość czynności administracyjnych, odbywa się poprzez komendy i programy zapisywane w SQL.

Istnieje szereg standardów normujących postać języka SQL: m. in. normy ANSI i ISO, specyfikacja SQL2 oraz kolejna specyfikacja - SQL 2003. Niestety, większość implementacji nie trzyma się ściśle żadnej z tych norm, zarazem pomijając pewne elementy specyfikacji, jak i oferując niestandardowe rozszerzenia. Inny obecnie popularny "standard" to ODBC (Open DataBase Connectivity), propagowany przez Microsoft. Jego praktyczne znaczenie polega głównie na umożliwianiu wykorzystywania programu Access jako interfejsu do RDBMS, za pośrednictwem tzw. sterowników (drivers) ODBC, pośredniczących w komunikacji pomiędzy Access'em a RDBMS. Sterowniki takie istnieją prawdopodobnie dla wszystkich popularniejszych RDBMS.

Formy języka SQL

SQL jest podjęzykiem danych, co oznacza, że jest on wykorzystywany wyłącznie do komunikacji z bazą danych. Nie pozwala on na tworzenie kompletnych samodzielnych programów. Wyróżniamy 3 formy SQLa:

  • SQL interakcyjny lub autonomiczny wykorzystywany w celu bezpośredniego pobierania lub wprowadzania informacji do bazy. Wynik jest najczęściej przekazywany na ekran, z ewentualnym przekierowania do pliku lub drukarki.
     
  • Statyczny kod SQL (Static SQL) nie ulega zmianom i pisany jest wraz z całą aplikacją, podczas której pracy jest wykorzystywany. Nie ulega zmianom w sensie zachowania niezmiennej treści instrukcji, które jednak zawierać mogą odwołania do zmiennych lub parametrów przekazujących wartości z lub do aplikacji.
     
  • Dynamiczny kod SQL (Dynamic SQL) generowany w trakcie pracy aplikacji. Wykorzystuje się go zamiast podejścia statycznego, jeżeli pisząc program nie możemy określić treści zapytań, które powstają w oparciu o decyzje użytkownika. Utworzenie zapytania jest tu reakcją na działania użytkownika.

Zapytania SQL można zaliczyć do jednego z 3 podzbiorów:

  • Język Manipulacji Danymi - DML (ang. Data Manipulation Language) służy do wykonywania operacji na danych. Do tej grupy należą polecenia:
     
    • SELECT - pobranie danych z bazy,
       
    • INSERT - umieszczenie danych w bazie,
       
    • UPDATE - zmiana danych,
       
    • DELETE - usunięcie danych z bazy.
       
  • Język Definicji Danych - DDL (ang. Data Definition Language) operuje na strukturach, w których są przechowywane dane. Najczęściej używane polecenia tej grupy to:
     
    • CREATE (np. CREATE TABLE, CREATE DATABASE, CREATE INEX...) - tworzenie struktury (bazy, tabeli, indeksu itp.),
       
    • DROP (np. DROP TABLE, DROP DATABASE, ...) - usunięcie struktury,
       
    • ALTER (np. ALTER TABLE ADD COLUMN ...) - zmiana struktury (dodanie kolumny do tabeli, zmiana typu danych w kolumnie tabeli).
       
  • Język kontroli nad danymi - DCL (ang. Data Control Language) służy nadawania uprawnień do obiektów bazy. Najczęściej używane polecenia tej grupy to:
     
    • GRANT (np. GRANT ALL PRIVILEGES ON MYTABLE TO IKSINSKI WITH GRANT OPTION) - przyznanie wszystkich praw do tabeli MYTABLE użytkownikowi IKSINSKI z opcją pozwalającą mu nadawać prawa do tej tabeli.
       
    • REVOKE - odebranie użytkownikowi wszystkich praw do tabeli, które zostały przyznane poleceniem GRANT.
   dalej »