|
При проектуванні бази даних 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 байти. Синонім SQL-92 для int - integer.
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, коли обидва аргументи є значеннями INTEGER! Це означає, що якщо ви перемножите 2 великих цілих числа (або з функції, яка повертає ціле число), ви можете отримати неочікувані результати, якщо результат буде більшим за 9223372036854775807. Число з плаваючою комою, яке не може бути беззнаковим, може мати точність <=24 для числа з плаваючою комою одинарної точності, і між 25 і 53 для числа з плаваючою комою подвійної точності, ці типи, такі як типи FLOAT і DOUBLE, описані безпосередньо нижче.FLOAT(X) має той самий діапазон, що і відповідні FLOAT і DOUBLE, але розмір відображення і кількість десяткових знаків є не визначені. В MySQL 3.23 це справжнє значення з плаваючою комою. У попередніх версіях MySQL FLOAT(точність) завжди має 2 знаки після коми. Такий синтаксис передбачено для сумісності з ODBC.
Діапазони значень для кожного типу даних в MySQL
TINYINT -128 - 127 TINYINT UNSIGNED 0 - 255 SMALLINT SMALLINT -32768 - 32767 SMALLINT UNSIGNED 0 - 65535 MEDIUMINT -8388608 - 8388607 MEDIUMINT UNSIGNED 0 - 16777215 INT або INTEGER -2147483648 - 2147483647 INT UNSIGNED або INTEGER UNSIGNED 0 - 4294967295 BIGINT -9223372036854775808 - 9223372036854775807 BIGINT UNSIGNED 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 DATETIME 1000-01-01 00:00:00 - 9999-12-31 23:59:59 TIMESTAMP 1970-01-01 00:00:00 - 2037 (я не знаю точно, який сьогодні день, lol) ЧАС -838:59:59' до 838:59:59 YEAR[(2|4)] За замовчуванням 4-бітний формат, діапазон 4-бітного формату: 1901 - 2155,0000, діапазон 2-бітного формату: 70-69(1970-2069). CHAR(M) [BINARY] або NCHAR(M) [BINARY] Діапазон M - 1 - 255, якщо немає запису у форматі BINARY, то він не залежить від регістру, NCHAR означає, що використовується набір символів за замовчуванням. У базі даних з пробілом доповнюється, але при пошуку в кінці пробіл буде автоматично видалено. [НАЦІОНАЛЬНИЙ] VARCHAR(M) [ДВІЙКОВИЙ] Діапазон 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('value1','value2',...) Всього може бути 65535 різних значень SET('value1','value2',...) До 64 членів |
Попередня стаття: Розрив рядка в PHP PHP_EOLНаступна стаття: Команда оновлення linux yum update
|