MySQL. Leksykon kieszonkowy

Podobne dokumenty
MySQL. Leksykon kieszonkowy. II wydanie

MySQL. Darmowa baza danych. Æwiczenia praktyczne

Wykład 4. SQL praca z tabelami 1

Ref. 7 - Język SQL - polecenia DDL i DML

2 Przygotował: mgr inż. Maciej Lasota

Aby uruchomić program klienta i połączyć się z serwerem, należy komendę:

Dr Michał Tanaś(

1 Podstawy c++ w pigułce.

Autor: dr inż. Katarzyna Rudnik

Bazy danych 7. SQL podstawy

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

MySQL. Æwiczenia praktyczne

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Instrukcja CREATE TABLE

Po prawidłowym podłączeniu do serwera MySQL należy wybrać bazę, na której będziesz pracować:

CREATE DATABASE ksiegarnia_internetowa DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

SQL - DDL. 1 Tabele systemowe. 2 Typy danych

Wprowadzania liczb. Aby uniknąć wprowadzania ułamka jako daty, należy poprzedzać ułamki cyfrą 0 (zero); np.: wpisać 0 1/2

Bazy danych - wykład wstępny

Język SQL. Rozdział 9. Język definiowania danych DDL, cześć 1. Tworzenie relacji, typy danych, wartości domyślne atrybutów, słownik bazy danych.

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

1 Podstawy c++ w pigułce.

Zadanie 1. Suma silni (11 pkt)

Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Bazy danych 5. Samozłaczenie SQL podstawy

Podstawy Informatyki. Metalurgia, I rok. Wykład 3 Liczby w komputerze

Programowanie MSQL. show databases; - pokazanie jakie bazy danych są dostępne na koncie

D D L S Q L. Co to jest DDL SQL i jakie s jego ą podstawowe polecenia?

Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym

1. Sprawdzenie ustawień konfiguracyjnych. Uruchomienie wiersza poleceń:..\ścieżka\bin>mysqladmin variables

INFORMATYKA Studia Niestacjonarne Elektrotechnika

Smarty PHP. Leksykon kieszonkowy

Samodzielnie wykonaj następujące operacje: 13 / 2 = 30 / 5 = 73 / 15 = 15 / 23 = 13 % 2 = 30 % 5 = 73 % 15 = 15 % 23 =

SQL - Structured Query Language -strukturalny język zapytań SQL SQL SQL SQL

Bazy danych. Bazy danych. Podstawy języka SQL. Dr inż. Paweł Kasprowski.

Liczby rzeczywiste są reprezentowane w komputerze przez liczby zmiennopozycyjne. Liczbę k można przedstawid w postaci:

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Tworzenie tabel. Bazy danych - laboratorium, Hanna Kleban 1

Podstawy Programowania C++

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 6.0

1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE

PRZESTRZENNE BAZY DANYCH WYKŁAD 2

Informatyka, Ćwiczenie Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

C++. Æwiczenia zaawansowane

Język baz danych SQL cz.1

Projektowanie bazy danych. Jarosław Kuchta Projektowanie Aplikacji Internetowych

Typ użyty w deklaracji zmiennej decyduje o rodzaju informacji, a nazwa zmiennej symbolicznie opisuje wartość.

LibreOffice Calc VBA

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

ZASADY PROGRAMOWANIA KOMPUTERÓW ZAP zima 2015

Wykład 2 Składnia języka C# (cz. 1)

ARCHITEKTURA SYSTEMÓW KOMPUTEROWYCH

1. Wprowadzanie danych z klawiatury funkcja scanf

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Funkcje. Rozdział 3a Funkcje wierszowe. Funkcje znakowe (1) Funkcje wierszowe

3. Opracować program kodowania/dekodowania pliku tekstowego. Algorytm kodowania:

Zadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Uzupełnij pola tabeli zgodnie z przykładem poniżej,

Język SQL. Rozdział 3. Funkcje wierszowe

Wykład 5. SQL praca z tabelami 2

Odnawialne Źródła Energii I rok. Tutorial PostgreSQL

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Krzysztof Kadowski. PL-E3579, PL-EA0312,

Pracownia Komputerowa wykład IV

Struktury, unie, formatowanie, wskaźniki

Podstawy i języki programowania

Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 5 Liczby w komputerze

8.9. Język SQL Kwerenda wybierająca w języku SQL

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

2 Zarówno zanonimizowany zbiór danych ilościowych, jak i opis jego struktury powinny mieć format csv:

Zamówienia algorytmiczne

Formatowanie tekstu za pomocą zdefiniowanych stylów. Włączanie okna stylów. 1. zaznaczyć tekst, który chcemy formatować

Wdrożenie modułu płatności eservice. dla systemu Zen Cart

Pracownia Komputerowa wykład VI

Zmienne, stałe i operatory

Import danych z plików Excel. (pracownicy, limity urlopowe i inne)

asix4 Podręcznik użytkownika Drajwer OPC Podręcznik użytkownika

AutoCAD Pierwsze kroki

ECDL/ICDL Użytkowanie baz danych Moduł S1 Sylabus - wersja 5.0

SYSTEMY LICZBOWE. Zapis w systemie dziesiętnym

Bazy danych. Polecenia SQL

- - Ocena wykonaniu zad3. Brak zad3

MATLAB. Æwiczenia IDZ DO KATALOG KSI EK TWÓJ KOSZYK CENNIK I INFORMACJE CZYTELNIA PRZYK ADOWY ROZDZIA SPIS TRE CI KATALOG ONLINE

Wdrożenie modułu płatności eservice. dla systemu Magento

S Instrukcje rozszerzone oraz umożliwiające operacje na znakach i łańcuchach. Automatyka i mechatronika

Laboratorium Bazy danych SQL 2

Obliczenia inżynierskie arkusz kalkulacyjny. Technologie informacyjne

Projektowanie relacyjnych baz danych

1 Obsługiwane funkcje wyzwalaczy

Technologie Informacyjne

Projektowanie systemów baz danych

Podstawowe typy zmiennych

Ćwiczenie 7 - DDL. Relacje i ograniczenia integralnościowe. Ćwiczenie 7 DDL. Wymagania: Bazy Danych

ECDL/ICDL Przetwarzanie tekstów Moduł B3 Sylabus - wersja 5.0

Transkrypt:

IDZ DO PRZYK ADOWY ROZDZIA KATALOG KSI EK ZAMÓW DRUKOWANY KATALOG TWÓJ KOSZYK CENNIK I INFORMACJE ZAMÓW INFORMACJE O NOWO CIACH ZAMÓW CENNIK CZYTELNIA SPIS TRE CI KATALOG ONLINE DODAJ DO KOSZYKA FRAGMENTY KSI EK ONLINE MySQL. Leksykon kieszonkowy Autor: George Reese T³umaczenie: Tomasz mijewski ISBN: 83-7361-164-9 Tytu³ orygina³u: MySQL Pocket Reference Format: B5, stron: 104 Trudno znale æ obecnie dziedzinê, w której nie jest u ywane oprogramowanie MySQL najpopularniejszy na wiecie system zarz¹dzania baz¹ danych na licencji open source. Jest to bardzo solidna baza danych do stosowania w po³¹czeniu z serwerami sieciowymi zawieraj¹ca szereg niespotykanych gdzie indziej instrukcji i funkcji, a jednocze nie obs³uguj¹ca du ¹ czê æ standardowej sk³adni SQL. aden administrator i programista nie jest w stanie nad¹ yæ za mnogo ci¹ opcji dostêpnych w poszczególnych instrukcjach i funkcjach MySQL. Wiele poleceñ niezast¹pionych w pewnych sytuacjach ma skomplikowan¹ sk³adniê nawet najbardziej do wiadczeni administratorzy i programi ci miewaj¹ k³opoty z zapamiêtaniem dok³adnej postaci instrukcji. Niniejszy leksykon bêdzie stanowiæ dla Ciebie swoisty niezbêdnik, przypominaj¹cy o sk³adni, poleceniach i funkcjach MySQL. Dziêki tej ksi¹ ce zaoszczêdzisz swój cenny czas i przyspieszysz wykonanie zadania. Zawiera ona krótkie przypomnienie procesu instalacji, pe³n¹ sk³adniê SQL-a dostêpn¹ w MySQL oraz opisuje wszystkie typy danych, operatory i funkcje. Niniejsza pozycja jest doskona³ym podrêcznym uzupe³nieniem innych ksi¹ ek po wiêconych MySQL i oprogramowaniu bazodanowemu. Wydawnictwo Helion ul. Chopina 6 44-100 Gliwice tel. (32)230-98-63 e-mail: helion@helion.pl

Spis treści Wstęp...z... 5 Rozdział 1. Instalacja...z... 7 Kompilacja...7 Konfiguracja...8 Uruchomienie...11 Ustawianie hasła głównego...13 Rozdział 2. Narzędzia wiersza poleceń... 14 Rozdział 3. Typy danych...z.. 19 Liczby...20 Łańcuchy...24 Daty...28 Typy złożone...30 Rozdział 4. SQL...z... 33 Rozróżnianie wielkości liter...33 Literały...33 Identyfikatory...35 Komentarze...37 Instrukcje...38. Rozdział 5. Operatory...z... 80 Priorytety operatorów...80 Operatory arytmetyczne...81 Operatory porównania...81 Operatory logiczne...83 Rozdział 6. Funkcje...z... 84 Funkcje agregujące...84 Funkcje ogólnego przeznaczenia...85 Dodatek A. Rodzaje tabel... 104 Spis treści 3

Rozdział 3. Typy danych We wszystkich typach danych nawiasami kwadratowymi ( ) oznaczane są fragmenty opcjonalne. Poniższy przykład pokazuje sposób prezentacji typu, opisanego dalej w tym rozdziale: Oznacza to, że słowo może wystąpić samodzielnie lub z pokazywaną wartością. Użycie kursywy wskazuje, że nie należy wpisywać słowa, ale podać własną wartość. Oto przykłady użycia: Poza typem także wiele innych typów danych MySQL uwzględnia deklarację rozmiaru wyświetlania. Jeśli nie powiedziano inaczej, musi to być liczba od 1 do 255. W niektórych przypadkach MySQL zmienia podany typ kolumny, nie informując o tym użytkownika: Jeśli podana kolumna ma rozmiar mniejszy od czterech znaków, jest przekształcana w kolumnę. Jeśli tabela zawiera co najmniej jedną kolumnę o zmiennej długości, wszystkie kolumny typu dłuższe niż trzy znaki są zamieniane na. Rozmiar wyświetlania Rozmiar wyświetlania pól musi być zawsze wielkością parzystą od 2 do 14. Rozmiar równy 0 lub większy od 14 powoduje przyjęcie 14. Wszelkie liczby nieparzyste są zamieniane na następną liczbę parzystą. Rozdział 3. Typy danych 3

Liczby MySQL obsługuje liczbowe typy danych zgodne z ANSI SQL 2. Typy te dzielimy na dwie grupy: całkowitoliczbowe i zmiennoprzecinkowe. W ramach tych grup dzielimy typy dalej, według zajmowanej przez nie pamięci. W przypadku typów liczbowych można podać rozmiar wyświetlania, który wpływa na sposób pokazywania przez MySQL wyników. Rozmiar ten nie ma żadnego związku z wielkością pamięci zajmowanej przez dany typ. Dodatkowo w przypadku liczb zmiennoprzecinkowych można podać liczbę cyfr znajdujących się za kropką dziesiętną. Wtedy liczba cyfr powinna należeć do zakresu od 0 do 30, czyli być co najmniej o dwa mniejsza od rozmiaru wyświetlania. Jeśli warunek ten nie zostanie dotrzymany, MySQL automatycznie zmieni liczbę cyfr tak, aby była mniejsza o dwa od rozmiaru wyświetlania. Przykładowo, MySQL automatycznie zmieni na. Próba wstawienia do kolumny wartości przekraczającej dopuszczalny zakres tej kolumny powoduje obcięcie tej wartości do najmniejszej (dla liczb ujemnych) lub największej (dla liczb dodatnich) wartości dla danej kolumny dopuszczalnej. Jeśli takie obcięcie jest robione podczas wykonywania instrukcji,, lub wielowierszowej instrukcji, MySQL pokazuje ostrzeżenie. Atrybutu można użyć do co najwyżej jednej kolumny całkowitoliczbowej w tabeli. Atrybut może być łączony z dowolnym liczbowym typem danych. Użycie tego atrybutu powoduje, że do kolumny nie można wpisywać liczb ujemnych. Atrybut nakazuje wypełnienie kolumny od lewej strony zerami podczas wyświetlania jej wartości. O liczbie tych zer decyduje szerokość wyświetlania danej kolumny. 4 MySQL. Leksykon kieszonkowy

BIGINT 8 bajtów Największy z typów całkowitoliczbowych, pozwalający zapisywać liczby od 9 223 372 036 854 775 808 do 9 223 372 036 854 775 807 (jeśli bez znaku, to od 0 do 18 446 744 073 709 551 615). MySQL wszelkie operacje arytmetyczne wykonuje, korzystając z wartości lub, ale w przypadku operacje robione są na liczbach bez znaku. Wobec tego należy unikać operacji na liczbach bez znaku większych niż 9 223 372 036 854 775 807, gdyż może to zaowocować nieprawidłowymi wynikami. DEC Synonim typu. DECIMAL + 2 bajty Pozwala zapisywać liczby zmiennoprzecinkowe w sytuacjach, kiedy istotna jest dokładność na przykład przy operowaniu kwotami pieniędzy. Stosując typ, trzeba podać dwa jego parametry, dokładność i skalę. Dokładność to liczba znaczących cyfr, zaś skala to liczba znaczących cyfr po kropce dziesiętnej. Przykładowo, kolumna typu pozwoliłaby zapisywać liczby dziewięciocyfrowe, przy czym na prawo od kropki dziesiętnej mogłyby być dwie cyfry. Zakres dopuszczalnych liczb to w takiej sytuacji od 9 999 999,99 do 9 999 999,99. Jeśli Rozdział 3. Typy danych 5

podana zostanie liczba zawierająca więcej cyfr po przecinku, niż przewiduje to definicja, liczba zostanie zaokrąglona. Wartości spoza zakresu są obcinane tak, aby się w nim zmieściły. MySQL zapisuje wartości nie jako liczby zmiennoprzecinkowe, lecz jako łańcuch znaków. Na każdą cyfrę zużywany jest jeden znak w przypadku skali większej od 0, poza tym jeden dodatkowy znak zużywany jest w przypadku liczb ujemnych. Jeśli skala wyniesie 0, liczby nie zawierają części ułamkowej. W MySQL w wersjach starszych niż 3.23 decydując o dokładności, trzeba było uwzględnić przecinek i znak liczby, aczkolwiek obecnie, zgodnie ze specyfikacją ANSI, nie jest to już wymagane. SQL zgodnie z normą ANSI pozwala pomijać dokładność i (lub) skalę. Jeśli brak dokładności, przyjmowane jest ustawienie domyślne charakterystyczne dla implementacji. Jeśli brak skali, przyjmowane jest zero. W MySQL domyślna wartość dokładności to 10. DOUBLE 8 bajtów Liczba zmiennoprzecinkowa podwójnej precyzji. Ten typ danych pozwala zapisywać duże wartości zmiennoprzecinkowe. W kolumnach tego typu można zapisać wartości ujemne od 1,7976931348623157E+308 do 2,2250738585072014E 308, 0 oraz wartości dodatnie od 2,2250738585072014E 308 do 1,7976931348623157E+308. DOUBLE PRECISION Synonim. 6 MySQL. Leksykon kieszonkowy

FLOAT 4 bajty Liczba zmiennoprzecinkowa pojedynczej precyzji. Ten typ danych pozwala zapisywać małe wartości zmiennoprzecinkowe. W kolumnach tego typu można zapisać wartości ujemne od 3,402823466E+38 do 1,175494351E 38, 0 oraz wartości dodatnie od 1,175494351E 38 do 3,402823466E+38. INT 4 bajty Podstawowy rodzaj liczb całkowitych od 2 147 483 648 do 2 147 483 647 (lub od 0 do 4 294 967 295 w przypadku liczb bez znaku). INTEGER Synonim. MEDIUMINT 3 bajty Liczby całkowite od 8 388 608 do 8 388 607 (lub od 0 do 16 777 215 w przypadku liczb bez znaku). Rozdział 3. Typy danych 7

NUMERIC Synonim. REAL Synonim. SMALLINT 2 bajty Liczby całkowite z zakresu od 32 768 do 32 767 (od 0 do 65 535 w przypadku liczb bez znaku). TINYINT 1 bajt Liczby całkowite od 128 do 127 (od 0 do 255 w przypadku liczb bez znaku). Łańcuchy Łańcuchowe typy danych pozwalają zapisywać różne rodzaje danych tekstowych. Różne typy pozwalają zapisywać różne ilości takich danych. W ramach każdej wielkości istnieje typ pozwalający sortować i porównywać znaki z domyślnego zestawu znaków z pominięciem wielkości liter. Odpowiedni typ binarny porównuje i sortuje dane po prostu bajt po bajcie, czyli typy 8 MySQL. Leksykon kieszonkowy

binarne rozróżniają wielkość liter. W przypadku typów i typy binarne deklaruje się za pomocą słowa kluczowego. Jeśli zaś chodzi o typy, istnieją ich odpowiedniki,. BLOB Binarny odpowiednik typu. CHAR Rozmiar według, do 255 (w wersjach MySQL przed 3.23 od 1 do 255) bajtów Pole tekstowe ustalonej długości. Łańcuchy zawierające mniej znaków, niż to wynika z rozmiaru kolumny, wypełniane są po prawej stronie spacjami. Podczas pobierania danych z bazy te dodatkowe spacje są usuwane. Pola zostały zachowane w celu zapewnienia zgodności ze starymi systemami, w których w kolumnach nie są zapisywane żadne wartości. CHARACTER Synonim. CHARACTER VARYING Synonim. Rozdział 3. Typy danych 9

LONGBLOB Binarny odpowiednik. LONGTEXT Rozmiar 0 do 4 294 967 295 Długość wartości + 4 bajty Typ pozwala zapisywać duże wartości tekstowe. Teoretyczne ograniczenie rozmiaru tekstu to ponad 4 GB, ale praktycznymi ograniczeniami są ograniczenia protokołu komunikacyjnego MySQL oraz ilość pamięci przeznaczonej na komunikację na serwerze i na stacji klienckiej. MEDIUMBLOB Binarna postać. MEDIUMTEXT Rozmiar 0 do 16 777 215 Długość wartości + 3 bajty Typ pozwala zapisywać średniej wielkości wartości tekstowe. NCHAR Synonim. 10MySQL. Leksykon kieszonkowy

NATIONAL CHAR Synonim. NATIONAL VARCHAR Synonim. TEXT Rozmiar 0 do 65 535 Długość wartości tekstowej + 2 bajty Typ pozwala zapisywać typowe wartości tekstowe. TINYBLOB Binarny odpowiednik. TINYTEXT Rozmiar 0 do 255 Długość wartości tekstowej + 1 bajt Pozwala zapisywać krótkie dane tekstowe. VARCHAR Rozdział 3. Typy danych 11

Rozmiar Wskazana przez wartość z zakresu od 0 do 255 (od 1 do 255 w wersjach MySQL wcześniejszych niż 3.23) Długość zapisywanej wartości + 1 bajt Pozwala zapisywać wartości tekstowe zmiennej długości. Z wartości usuwane są spacje końcowe. Daty Typy datowe MySQL są wyjątkowo elastycznym narzędziem, pozwalającym zapisywać wszelki informacje dzienne. MySQL jest bardzo tolerancyjny i zakłada, że to aplikacja, a nie baza danych, ma sprawdzać poprawność tych danych. MySQL sprawdza jedynie, czy miesiąc nie wykracza poza zakres 0 12 i czy dzień nie wykracza poza zakres 0 31. Wobec tego z punktu widzenia MySQL 31 lutego 2001 roku jest poprawną datą. Bardziej przydatną wartością jest data 0 lutego 2001 roku; cyfra zero może zastępować tę część daty, której dokładnie nie znamy. Wprawdzie MySQL dopuszcza dość dużą swobodę formatów wejściowych dat, to należy starać się w aplikacjach daty formatować zgodnie z formatem wewnętrznym MySQL w celu uniknięcia nieporozumień. MySQL zawsze zakłada, że rok jest pierwszym elementem po lewej stronie daty. Jeśli w operacji SQL podana zostanie nieprawidłowa wartość daty, MySQL wstawi w jej miejsce zero. MySQL w kontekście liczb całkowitych automatycznie konwertuje daty i czas na liczby całkowite. 12 MySQL. Leksykon kieszonkowy

DATE Format 3 bajty Data kalendarza gregoriańskiego z zakresu od 1 stycznia 1000 roku ( ) do 31 grudnia 9999 roku ( ). DATETIME Format 8 bajtów Zapisuje czas z zakresu od 00:00:00 1 stycznia 1000 roku ( ) do 23:59:59 31 grudnia 9999 ( ) według kalendarza gregoriańskiego. TIME Format 3 bajty Zapisuje czas od północy ( ) do sekundy przed północą ( ). Rozdział 3. Typy danych 13

TIMESTAMP Format 4 bajty Zapis chwili z dokładnością do sekundy od północy 1 stycznia 1970 roku do minuty przed północą 31 grudnia 2037 roku. Podstawowym zastosowaniem tego typu jest rejestracja modyfikacji tabel. Przy wstawianiu do takiej kolumny wartości wstawiane są aktualna data i czas. W przypadku modyfikowania jakiejkolwiek wartości w wierszu z kolumną pierwsza kolumna tego typu zostanie zaktualizowana bieżącą datą i czasem. YEAR Format 1 bajt Pozwala zapisać rok z kalendarza gregoriańskiego. Parametr umożliwia zapisywanie roku dwu- lub czterocyfrowo. Zakres rozciąga się od 1900 do 2155, dla od 1970 do 2069. Domyślnie przyjmowane jest. Typy złożone Złożone typy danych MySQL, i, są po prostu specjalnymi przypadkami typów łańcuchowych. ujemy je osobno, gdyż są bardziej złożone pojęciowo i stanowią wprowadzenie 14 MySQL. Leksykon kieszonkowy

do typów danych SQL3, które być może MySQL będzie obsługiwał w przyszłości. ENUM 1 255 elementów: 1 bajt 255 65 535 elementów: 2 bajty Typ danych pozwala zapisywać jeden z wielu zdefiniowanych wcześniej łańcuchów. Przy tworzeniu kolumny typu podaje się listę dopuszczalnych jej wartości. Dane mogą być do tej kolumny wstawiane i aktualizowane jedynie z tej listy; każda próba wstawienia wartości spoza niej powoduje wstawienie pustego łańcucha. Do listy dopuszczalnych wartości można się odwoływać przez indeks, przy czym pierwszy element otrzymuje numer 0. Na przykład: Jeśli jest kolumną z kluczem głównym, a kolumną typu, taka instrukcja SQL spowoduje pobranie kluczy głównych wszystkich wierszy, dla których jest pierwszą wartością z listy. Analogicznie, sortowanie względem kolumn powoduje sortowanie według indeksu, nie łańcucha. Największa możliwa liczba elementów kolumny to 65 535. SET Rozdział 3. Typy danych 15

1 8 elementów: 1 bajt 9 16 elementów: 2 bajty 17 24 elementy: 3 bajty 25 32 elementy: 4 bajty 33 64 elementy: 8 bajtów Lista wartości wybieranych z określonego wcześniej zbioru. Pole może zawierać dowolną liczbę łańcuchów wskazanych w instrukcji, szczególnie może nie zawierać żadnej takiej wartości. jest podobny do, ale każde pole może zawierać więcej niż jedną z podanych wartości. Dane typu nie są jednak zapisywane za pomocą indeksów, ale w złożonej mapie bitowej. Jeśli dany jest zbiór, zawierający elementy:,, i, każdy z tych elementów jest reprezentowany jako włączony bit w bajcie, jak to pokazano w tabeli 3.1. Tabela 3.1. Reprezentacja zbioru elementów w MySQL Element Wartość dziesiętna Zapis bitowy W powyższym przykładzie zapisanie jednocześnie wartości i wymaga użycia wartości 5 (0101). W kolumnie można zapisać najwyżej 64 wartości. Wprawdzie tę samą wartość można w jednym wyrażeniu SQL wpisać wielokrotnie, ale w bazie danych wartość ta zostanie zapisana raz. 16 MySQL. Leksykon kieszonkowy