Odnośniki


[ Pobierz całość w formacie PDF ]

i :
Wartość CHAR(4) Wymagana pamięć VARCHAR(4) Wymagana pamięć
Wartości pobrane z kolumn i będą w obu przypadkach takie same,
ponieważ z kolumn w momencie pobierania wartości z tabeli usuwane są końco-
we spacje.
Począwszy od MySQL 4.1 wartości w kolumnach i są sortowane i po-
równywane według porządku sortowania zestawu znaków przypisanego do kolumny.
W wersjach wcześniejszych sortowanie i porównania były wykonywane na podstawie
porządku sortowania zestawu znaków serwera. Użytkownik może deklarować kolumnę
z atrybutem , aby podczas sortowania i porównywania brana była pod uwagę wiel-
kość liter, ponieważ użyte zostaną wartości liczbowe kodu, a nie porządek leksykalny.
Atrybut nie wpływa na sposób, w jaki kolumna jest przechowywana i pobierana.
Od MySQL 4.1.0 typ jest aliasem typu . Jest to spowodowane
wymogami kompatybilności.
146 Rozdział 4. f& Typy kol mn
Atrybut jest trwały. Oznacza to, że jeśli kolumna z atrybutem zostanie
użyta w wyrażeniu, całe wyrażenie będzie traktowane jako wartość .
Od wersji 4.1.0 można określać dla typu atrybut . Przypisuje on zestaw znaku
.
Od wersji 4.1.0 można określać dla typu atrybut . Przypisuje on zestaw
znaku .
Podczas tworzenia tabeli typ kolumny lub może zostać zmieniony bez
informowania o tym użytkownika (patrz podpunkt 6.2.5.2).
4.4.2. Typy BLOB i TEXT
jest skrótem angielskiej nazwy binary large object (wielki obiekt binarny). Cztery
typy : , , i różnią się tylko maksymalną długo-
ścią wartości, które mogą przechowywać (patrz podrozdział 4.5).
Cztery typy : , , i odpowiadają czterem typom
i mają te same maksymalne długości i wymagania co do pamięci.
Kolumny typu są traktowane jako łańcuchy binarne. Kolumny są traktowane
zgodnie z ich zestawem znaków. Podczas sortowania i porównywania wartości
nie jest brana pod uwagę wielkość liter. Od wersji 4.1 MySQL operacje sortowania
i porównywania wartości w kolumnach typu są wykonywane według porządku
sortowania zestawu znaków przypisanego do kolumny. Wcześniej sortowanie i porów-
nywanie tych kolumn było wykonywane na podstawie porządku sortowania zestawu
znaków serwera.
Podczas zapisu i pobierania nie jest wykonywana żadna konwersja związana z wielkością
liter.
Jeśli do kolumny lub zostanie przypisana wartość, która przekroczy maksymal-
ną długość tego typu kolumny, wartość zostanie przycięta.
W pewnym sensie kolumnę można traktować jako kolumnę o dowolnej
wielkości. Podobnie kolumnę można traktować jako kolumnę .
Typy i różnią się od typów i następującymi cechami:
Kolumny i mogą mieć indeksy dopiero od wersji 3.23.2 MySQL.
Starsze wersje programu nie obsługiwały indeksowania tych typów kolumn.
Dla indeksów na kolumnach i należy określić długość przedrostka
indeksu. Dla typów i jest to opcjonalne.
Dla kolumn i nie ma usuwania końcowych spacji podczas
zapisywania lub pobierania wartości. To odróżnia je od kolumn
(spacje końcowe są usuwane w momencie pobierania wartości) i od kolumn
(spacje końcowe są usuwane w momencie zapisywania wartości).
Kolumny typu i nie mogą mieć wartości .
4.4. Typy łańc chowe 147
Od MySQL 4.1.0 typ i odpowiada typowi danych . Jest
to mechanizm dodany dla kompatybilności.
Interfejs Connector/ODBC deklaruje wartości jako , a wartości
jako .
Ponieważ wartości i mogą być niezwykle długie, podczas ich stosowania
można spotkać się z pewnymi ograniczeniami:
Jeśli na kolumnie typu lub ma być wykonana operacja
lub , wartość kolumny należy przekształcić na obiekt o stałej długości.
Standardowo wykonuje się to za pomocą funkcji , na przykład:
L T T
W przeciwnym razie podczas sortowania użyte zostaną tylko pierwsze bajty
kolumny. Domyślna wartość zmiennej
wynosi 1024 i można ją zmienić przy użyciu opcji
podczas uruchamiania serwera .
Istnieje możliwość wykonania operacji grupowania na wyrażeniu, które jest
związane z wartościami lub  za pomocą aliasu lub przez określenie
położenia kolumny:
L T T
L T T
Maksymalny rozmiar obiektu lub określa jego typ, ale o tym,
jaką największą wartość można w rzeczywistości przesłać między
klientem a serwerem, decyduje ilość dostępnej pamięci i rozmiar buforów
komunikacyjnych. Rozmiar bufora wiadomości można zastąpić, zmieniając
wartość zmiennej , ale trzeba to zrobić dla serwera
i programu klienckiego. Na przykład na zmianę wartości opcji
po stronie klienta pozwalają i .
Każda wartość i jest wewnętrznie reprezentowana przez obiekty o oddzielnie
przydzielanej pamięci. To odróżnia je od wszystkich innych typów kolumn, dla których
pamięć jest przydzielana raz na całą kolumnę w momencie otwarcia tabeli.
4.4.3. Typ Enum
to obiekt łańcuchowy z wartością wybieraną z listy dozwolonych wartości, które
są w sposób jawny wyliczone w deklaracji kolumny podczas tworzenia tabeli.
W pewnych warunkach wartość może być również pustym łańcuchem ( ) lub wartością
:
Jeśli do kolumny zostanie wstawiona niepoprawna wartość (czyli łańcuch
nienależący do listy dopuszczalnych wartości), to zostanie zastąpiona pustym
148 Rozdział 4. f& Typy kol mn
łańcuchem reprezentującym błędną wartość. Można go odróżnić od zwykłego
pustego łańcucha, ponieważ jego wartość liczbowa jest równa 0. Więcej o tym
za chwilę.
Jeśli w deklaracji kolumny dopuszczone będzie użycie wartości ,
będzie ona wartością prawidłową i wtedy wartością domyślną jest .
Jeśli kolumna zostanie zadeklarowana jako , jej wartością
domyślną będzie pierwszy element na liście dozwolonych wartości.
Każda wartość wyliczenia ma indeks:
Wartości należące do listy dopuszczalnych elementów w deklaracji kolumny
są ponumerowane, rozpoczynając od 1.
Wartość indeksu pustego łańcucha reprezentującego błąd wynosi 0. Oznacza to,
że poniższa instrukcja pomoże odszukać wiersze, którym przypisano
niepoprawne wartości :
L T
Indeksem wartości jest . [ Pobierz całość w formacie PDF ]
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • brzydula.pev.pl

  • Sitedesign by AltusUmbrae.