Дизайн бази даних MySQL, серед них, для оптимізації продуктивності даних, дуже важливий врахування типів поля, зібрана деяка інформація, відсортована та поділена. Ця стаття присвячена впровадженню синтаксису mysql цілих чисел bigint, int, mediumint, smallint та tinyint, а саме:
1、bigint
Від -2^63 (-9223372036854775808) до 2^63-1 (9223372036854775807) цілих чисел (усі числа) беззнаковий діапазон дорівнює 0 до
18446744073709551615。 Один біт — це 8 байт.
2、int
Звичайне ціле число. Знаковий діапазон становить від -2^31 (-2,147,483,648) до 2^31 - 1 (2,147,483,647) цілих чисел (усі числа), а незнаковий діапазон — від 0 до 4294967295. Біт має розмір 4 байти. Синонім int у SQL-92 — ціле число.
3、mediumint
Середнє ціле число зі знаковим діапазоном від -8388608 до 8388607 та беззнаковим діапазоном від 0 до 16777215. Біт має розмір 3 байти.
4、smallint
Невелике ціле число. Знаковий діапазон — від -2^15 (-32 768) до 2^15 - 1 (32 767) цілих даних, а беззнаковий діапазон — від 0 до 65535. Біт має розмір 2 байти. MySQL пропонує більш ніж достатньо функцій, і оскільки MySQL — це програмне забезпечення з відкритим кодом, воно може суттєво знизити загальну вартість володіння.
5、tinyint
Знаковий діапазон — -128 - 127, а беззнаковий діапазон — це цілі дані від 0 до 255. Біт має розмір 1 байт.
Зверніть увагу, що всі арифметичні операції виконуються зі знаковими значеннями BIGINT або DOUBLE, тому не слід використовувати великі знакові цілі числа більші за 9223372036854775807 (63 біти), окрім бітових функцій! Зверніть увагу, що коли два параметри дорівнюють цілим числам,-、 + і * використають операцію BIGINT! Це означає, що якщо помножити на 2 великі цілі числа (або з функції, яка повертає ціле число), можна отримати несподівані результати, якщо результат більший за 9223372036854775807. Число з плаваючою комою не може бути беззнаковим, для числа з однією точністю його точність може бути <=24, для числа з подвійною точністю — від 25 до 53, такі типи, як FLOAT і DOUBLE, описані нижче. FLOAT(X) має той самий діапазон, що й FLOAT і DOUBLE, але розмір дисплея та кількість десяткових знаків не визначені. У MySQL 3.23 це справжнє значення з плаваючою комою. У ранніх версіях MySQL FLOAT(precision) завжди мав 2 знаки після коми. Цей синтаксис надається для сумісності з ODBC.
Діапазон значень кожного типу даних у MySQL
TINYINT -128 - 127 TINYINT UNSIGNED 0 - 255 SMALLINT -32768 - 32767 SMALLINT UNSIGNED 0 - 65535 MEDIUMINT -8388608 - 8388607 МЕДІУМІНТ БЕЗ ЗНАКУ 0 - 16777215 INT або INTEGER -2147483648 - 2147483647 INT UNSIGNED або INTEGER UNSIGNED 0 - 4294967295 BIGINT -9223372036854775808 - 9223372036854775807 BIGINT БЕЗ ПІДПИСАННЯ 0 - 18446744073709551615 FLOAT -3.402823466E+38 - -1.175494351E-38,0,1.175494351E-38 - 3.402823466E+38 ПОДВІЙНА або ПОДВІЙНА ТОЧНІСТЬ або РЕАЛЬНА -1.7976931348623157E+308 - -2.2250738585072014E-308,0,2.2250738585072014E-308 - 1.7976931348623157E+308 ДЕСЯТКОВИЙ[(M,[D])] або ЧИСЛОВИЙ (M,D) Визначається як M (довжина всього числа, включаючи десяткову крапку, кількість цифр ліворуч від десяткової крапки, кількість цифр праворуч від десяткової крапки, але не від'ємний знак) та D (кількість цифр праворуч від десяткової крапки), M за замовчуванням дорівнює 10, а D — 0 ДАТА 1000-01-01 - 9999-12-31 ЧАС ЗУСТРІЧІ 1000-01-01 00:00:00 - 9999-12-31 23:59:59 ЧАСОВА МІТКА 1970-01-01 00:00:00 - Один день у 2037 році (я точно не знаю, який саме, хе-хе) ЧАС -838:59:59' до 838:59:59 РІК[(2|4)] За замовчуванням — 4-бітний формат, 4-бітний — 1901 - 2155 000, а 2-бітний — 70-69 (1970-2069) CHAR(M) [БІНАРНИЙ] або NCHAR(M) [БІНАРНИЙ] M варіюється від 1 до 255, і якщо BINARY item немає, він чутливий до регістру, а NCHAR означає використання стандартного набору символів. Заповніть пробілами в базі даних, але пробіли в кінці автоматично видалятимуться, коли ви їх видаляєте. [НАЦІОНАЛЬНИЙ] ВАРЧАР(М) [БІНАРНИЙ] M варіюється від 1 до 255. Пробіли в кінці бази даних автоматично видаляються. TINYBLOB або TINYTEXT 255 (2^8-1) символів BLOB або TEXT 65535 (2^16-1) символів MEDIUMBLOB або MEDIUMTEXT 16777215 (2^24-1) персонажі LONGBLOB або LONGTEXT 4294967295 (2^32-1) символів ENUM('значення1','значення2',...) Всього може бути 65 535 різних значень SET('значення1','значення2',...) Кількість членів може бути до 64
|