Sql - урок 2
від -128 до 127 або від 0 до 255
Ціле число. Може бути оголошено позитивним за допомогою ключового слова UNSIGNED, тоді елементам стовпця можна буде привласнити від'ємне значення. Необов'язковий параметр М - кількість відводяться під число символів. Необов'язковий атрибут ZEROFILL дозволяє вільні позиції за замовчуванням заповнити нулями.
TINYINT - зберігає будь-яке число в діапазоні від -128 до 127.
TINYINT UNSIGNED - зберігає будь-яке число в діапазоні від 0 до 255.
TINYINT (2) - передбачається, що значення будуть двозначними, але по факту буде зберігати і тризначні.
TINYINT (3) ZEROFILL - вільні позиції зліва заповнить нулями. Наприклад, величина 2 буде відображатися, як 002.
від -32768 до 32767 або від 0 до 65535
Аналогічно до попереднього, але з великим діапазоном.
SMALLINT - зберігає будь-яке число в діапазоні від -32768 до 32767.
SMALLINT UNSIGNED - зберігає будь-яке число в діапазоні від 0 до 65535.
SMALLINT (4) - передбачається, що значення будуть чотиризначні, але по факту буде зберігати і п'ятизначні.
SMALLINT (4) ZEROFILL - вільні позиції зліва заповнить нулями. Наприклад, величина 2 буде відображатися, як 0002.
від -8388608 до 8388608 або від 0 до 16777215
Аналогічно до попереднього, але з великим діапазоном.
MEDIUMINT - зберігає будь-яке число в діапазоні від -8388608 до 8388608.
MEDIUMINT UNSIGNED - зберігає будь-яке число в діапазоні від 0 до 16777215.
MEDIUMINT (4) - передбачається, що значення будуть чотиризначні, але по факту буде зберігати і семизначні.
MEDIUMINT (5) ZEROFILL - вільні позиції зліва заповнить нулями. Наприклад, величина 2 буде відображатися, як 00002.
INT (M) або INTEGER (M)
від -2147683648 до 2147683648 або від 0 до 4294967295
Аналогічно до попереднього, але з великим діапазоном.
INT - зберігає будь-яке число в діапазоні від -2147683648 до 2147683648.
INT UNSIGNED - зберігає будь-яке число в діапазоні від 0 до 4294967295.
INT (4) - передбачається, що значення будуть чотиризначні, але по факту буде зберігати максимально можливі.
INT (5) ZEROFILL - вільні позиції зліва заповнить нулями. Наприклад, величина 2 буде відображатися, як 00002.
від -2 63 до 2 63 -1 або від 0 до 2 64
Аналогічно до попереднього, але з великим діапазоном.
BIGINT - зберігає будь-яке число в діапазоні від -2 63 до 2 63 -1.
BIGINT UNSIGNED - зберігає будь-яке число в діапазоні від 0 до 2 64.
BIGINT (4) - передбачається, що значення будуть чотиризначні, але по факту буде зберігати максимально можливі.
BIGINT (7) ZEROFILL - вільні позиції зліва заповнить нулями. Наприклад, величина 2 буде відображатися, як 0000002.
BOOL або BOOLEAN
залежать від параметрів M і D
Використовуються для величин підвищеної точності, наприклад, для грошових даних. M - кількість відводяться під число символів (максимальне значення - 64). D - кількість знаків після коми (максимальне значення - 30).
DECIMAL (5,2) - буде зберігати числа від -99,99 до 99,99.
хв. значення + (-) 1.175494351 * 10 -39
макс. значення + (-) 3. 402823466 * 10 38
Дійсне число (з плаваючою точкою). Може мати параметр UNSIGNED, що забороняє негативні числа, але діапазон значень від цього не зміниться. M - кількість відводяться під число символів. D - кількість символів дробової частини.
FLOAT (5,2) - буде зберігати числа з 5 символів, 2 з яких будуть йти після коми (наприклад: 46,58).
Аналогічно до попереднього, але з великим діапазоном.
DOUBLE - буде зберігати великі дробові числа.
Необхідно розуміти, чим більше діапазон значень у типу даних, тим більше пам'яті він займає. Тому, якщо передбачається, що значення в стовпці не перевищуватимуть 100, то використовуйте тип TINYINT. Якщо при цьому всі значення будуть позитивними, то використовуйте атрибут UNSIGNED. Правильний вибір типу даних дозволяє заощадити місце для зберігання цих даних.