280 PHP i MySQL dla każdego
♦ DCL, język kontroli danych (ang. Data Control Language) — umożliwiający kontrolę dostępu do danych.
Podstawowe instrukcje należące do DCL poznaliśmy w poprzednim rozdziale; umożliwiały one m.in. zarządzanie kontami użytkowników i kontem administratora. W tym oraz w kolejnym rozdziale zajmiemy się instrukcjami należącymi do DDL i DML, które pozwolą na tworzenie struktury bazy oraz na wprowadzanie danych do bazy i zarządzanie nimi. W SQL nie są rozróżniane duże i małe litery, można ich więc używać zamiennie, wedle uznania. W książce została przyjęta konwencja, że elementy języka SQL będą zapisywane dużymi literami.
Dane w bazie przechowywane są w tabelach. Pojęcie tabeli poznaliśmy w sekcji „Koncepcja relacyjnych baz danych”. Pora więc się dowiedzieć, w jaki sposób można tworzyć tabele. Służy do tego celu instrukcja CREATE TABLE w schematycznej postaci: CREATE TABLE nazwa_tabeli (
nazwaJolumnyj typjolumnyl [atrybuty]. nazwa Jol umyj typjolumnyj [atrybuty],
nazwa kolumny n typ kolumnyji latrybuty'},
)
Nazwa tabeli może obejmować dowolne znaki, jakie może zawierać nazwa pliku w systemie operacyjnym, na którym działa serwer MySQL, z wyjątkiem znaków /, \ i .. Maksymalna długość nazwy to 64 bajty. Począwszy od wersji 3.23.6 nazwa tabeli może być nazwą słowa zastrzeżonego dla konstrukcji języka (np. select, create); w takim wypadku powinna być jednak zawsze ujęta w znaki ', np. ' sel ect'.
Nazwa kolumny może zawierać dowolne znaki, jednak jej długość jest również ograniczona do 64 bajtów. Typ kolumny określa typ danych, które dana kolumna będzie mogła przechowywać, np. łańcuch znaków, liczby itp. Typy danych zostaną omówione w następnej sekcji. W nazwach tabel i kolumn mogą występować zarówno małe, jak i duże litery, nie są one jednak rozróżniane. Począwszy od wersji 4.1 wszystkie identyfikatory i nazwy odnoszące się do definicji zawartości tabel są zapisywane w standardzie Unicode.
Dla treningu spróbujmy teraz utworzyć prostą tabelę Klient, która będzie zawierała dwie kolumny. Pierwsza kolumna o nazwie Indeks będzie przechowywała liczby całkowite (typ danych INTEGER), druga kolumna o nazwie Nazwa będzie przechowywała ciągi znaków o maksymalnej długości 20 znaków (typ VARCHAR(20)). Instrukcja SQL tworząca taką tabelę ma postać: