Дизайнът на MySQL база данни, сред които за оптимизация на производителността на данните, разглеждането на типове полета е много важно, събрана е известна информация, сортирана и споделена. Тази статия е за въвеждането на синтаксиса на mySQL integer 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 БИГИНТ НЕПОДПИСАН 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 ВРЕМЕВИ ПЕЧАТ 1970-01-01 00:00:00 - Един ден през 2037 (не знам точно кой ден, хехе) ЧАС -838:59:59' до 838:59:59 ГОДИНА[(2|4)] По подразбиране форматът е 4-битов, 4-битовият е 1901 - 2155,0000, а 2-битовият формат е 70-69 (1970-2069) CHAR(M) [БИНАРЕН] или NCHAR(M) [БИНАРЕН] 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('стойност1','стойност2',...) Общо може да има 65 535 различни стойности SET('стойност1','стойност2',...) Има до 64 членове
|