У цій статті ми освятимо дуже важливе питання, пов'язане з тим, які типи полів в таблицях надає нам MySQL. Адже не секрет, що записи в таблицях повинні відповідати цим типам. І кожна клітинка записи повинна задовольняти певним умовам, які як раз і задаються типом поля в MySQL.
Давайте з Вами по порядку розберемо всі типи полів в MySQL
1. VARCHAR. Це тип є строковим, причому рядком змінної довжини від 0 до 255 символів.
2. TINYINT. Це тип цілих чисел. Діапазон значень від -127 до 128. або 0 до 255. залежно від того, чи може це поле бути негативним. Про те, як це ставити, я розповім нижче.
3. TEXT (BLOB). Це звичайний строковий тип, в якому максимальна довжина становить 65535 символів. Ідеальний варіант для зберігання текстів статей.
5. SMALLINT. Також, як і TINYINT - це цілий тип даних, але діапазон значень вже побільше: -32768 до 32767. або від 0 до 65535.
6. MEDIUMINT. Ще один цілий тип, але діапазон значень ще більше: від -8388608 до 8388607. або від 0 до 16777215.
7. INT. Самий часто використовуваний цілий тип даних. Його діапазон: від -2147483648 до 2147483647. або від 0 до 4294967295.
8. BIGINT. Останній цілий тип, який використовується досить рідко, так як його діапазон значень особливо не затребуваний: від -9223372036854775808 до 9223372036854775807. або від 0 до +18446744073709551615.
9. FLOAT. Речовий тип даних. Точність одинарна, тобто число знаків після коми може бути не більше 24-х. Діапазон значень: від -3,402823466E + 38 до -1,175494351E-38. 0. і від 1,175494351E-38 до 3,402823466E + 38.
11. DECIMAL. Рідко який використовується тип даних, але тим не менше. Це число, схоже на тип DOUBLE. але зберігається воно у вигляді рядка. І, фактично, інтервал допустимих значень визначається наявністю знака "-" і ".". Якщо ці знаки відсутні, то допустимий інтервал такий же, як і у DOUBLE.
12. DATETIME. Тип даних, що відповідають за зберігання дати та часу. Формат наступний: "YYYY-MM-DD HH: MM: SS".
13. TIMESTAMP. Певна тимчасова мітка, яка може мати один з наступних форматів: "YYYYMMDDHHMMSS", "YYMMDDHHMMSS", "YYYYMMDD", "YYMMDD".
14. TIME. Простий тип, який відповідає за час в форматі: "HH: MM: SS".
15. YEAR. Тип, що відповідає за рік в одному з двох форматів: "YY", "YYYY".
16. CHAR. Рядок фіксованої довжини. Діапазон состовляет від 0 до 255 символів. При зберіганні даний тип додає до кінця рядка кількість прогалин до заданого розміру.
17. TINYTEXT (TINYBLOB). Текст з довжиною від 0 до 255 символів.
18. MEDIUMTEXT (MEDIUMBLOB). Текст з довжиною від 0 до 16777215 символів.
19. LONGTEXT (LONGBLOB). Текст з довжиною від 0 до 4294967295 символів.
20. ENUM. Цей тип містить список значень. Іншими словами, значення відповідної комірки записи має бути вибрано зі списку допустимих строкових значень (аналог radiobutton). Максимальна кількість значень 65535.
21. SET. Набір значень. Якщо в ENUM має бути вибрано тільки одне, то тут може бути вибрано відразу кілька значень (аналог checkbox). Максимальна кількість значень, що зберігаються в SET - 64.
Ось ми і познайомилися з усіма типами полів в MySQL. Як і обіцяв, розповідаю, як вибрати, яке число буде використовуватися: позитивне або негативне. Для цього є спеціальний атрибут UNSIGNED. який якщо стоїть, то число позитивне, а якщо його немає, то число може бути як позитивним, так і негативним. Втім, потім Ви все зрозумієте, а поки просто прийміть це до відома.
Зрозуміло, все це запам'ятовувати не потрібно. І давайте я зараз Вам перерахую типи, які використовуються дуже часто і які багаторазово використовував я сам:
- VARCHAR - ідеальний тип даних для будь-яких логінів, паролів, заголовків статей, імен, прізвищ та іншого.
- TINYINT - використовується для будь-яких "прапорів". Наприклад, активований користувач на сайті чи ні, заблокований користувач на сайті чи ні. Також використовується для чисельної оцінки прав користувача. Наприклад, "1" - це Гість. "2" - Зареєстрований. "3" - Адміністратор і так далі.
- TEXT - використовується для зберігання тексту, зрозуміло, використовується дуже часто.
- INT - найпопулярніший варіант використання цього типу - це ID (унікального ідентифікатора), який є унікальним для кожного запису в таблиці.
- DATETIME - використовується для зберігання дати та часу. Наприклад, можна зберігати дату і час відправки повідомлення на форумі, дату і час реєстрації користувача і так далі.
- ENUM - використовується рідше тих, які я описав вище, але тим не менше. Найпростіший приклад використання цього типу - це словесний опис прав користувача: "Гість", "Зареєстрований", "Адміністратор".
Як бачите, типів полів в MySQL дуже багато, але використовуються активно всього 5-6. тому все дуже і дуже просто.