Правилното дефиниране на полетата в една таблица е важно за цялостната
оптимизация на вашата база данни. Вие трябва да използвате типът и
размерът полета които наистина трябва да ползвате; не дефинирайте поле
като дълго 10 символа ако знаете, че ще използвате само например 2
символа. Тези типове полета (или колони) са считани също за типове данни,
след урока типове данни познанията ви по този въпрос ще нарастнат.
MySQL използва много различни типове данни разпределени в тези категории:
Числови,дата и час и низове.
Числови типове данни:
MySQL използва всички стандартни ANSI SQL числови типове данни, затова
ако преди сте използвали различна от MySQL система за бази данни, тези
дефиниции ще ви изглеждат познати. Следващият списък показва основните
числови типове данни и техните описания.
ANSI е съкращение от : (American National Standards Institute).
-
INT - Нормално по-размер число което може да бъде оточнено или неоточнено. Ако е оточнено може да варира от -2147483648 до 2147483647. Ако пък е неоточнено може да варира от 0 дo 4294967295. Можете да зададете дължита до 11 цифри.
-
TINYINT - Много малко число което може да бъде оточнено или неоточнено. Ако е оточнено може да варира от -128 до 127. Ако е неоточнено може да варира от 0 дo 255. Можете да зададете дължина до 4 цифри.
-
SMALLINT - Малко число което може да бъде оточнено или неоточнено. Ако е оточнено може да варира от -32768 дo 32767. Ако е неоточнено може да варира от 0 дo 65535. Можете да зададете дължина до 5 цифри.
-
MEDIUMINT - Средно по размер число което може да бъде оточнено или неоточнено. Ако е оточнено може да варира от -8388608 дo 8388607. Ако е неоточнено може да варира от 0 дo 16777215. Можете да зададете дължина до 9 цифри..
-
BIGINT - Голямо число което може да бъде оточнено или неоточнено. Ако е оточнено може да варира от -9223372036854775808 дo 9223372036854775807. Ако не е подписано може да варира от 0 дo 18446744073709551615. Можете да зададете дължина до 20 цифри.
Типове данни според Дата и Час:
-
DATE - Дата в YYYY-MM-DD формат, между 1000-01-01 и 9999-12-31. Например, 30-ти Декември, 1973 ще бъде запазено като - 1973-12-30.
-
DATETIME - Комбинация между дата и час в YYYY-MM-DD HH:MM:SS формат, между 1000-01-01 00:00:00 и 9999-12-31 23:59:59. Например, 3:30 на обяд през 30-ти Декември, 1973 ще бъде запазено като - 1973-12-30 15:30:00.
-
TIMESTAMP - Клеймо между полунощ през , Януари 1, 1970 и някое време на деня през 2037. Това прилича на DATETIME форматът, само без тиретата между цифрите; 3:30 на обяд през 30-ти Декември, 1973 ще бъде запазено като - 19731230153000 ( YYYYMMDDHHMMSS ).
-
TIME - Запазва времето в HH:MM:SS формат.
-
YEAR(M) - Запазва година в 2-цифров или 4-цифров формат. Ако дължината е зададена с 2 (например YEAR(2)), YEAR може да варира от 1970 до 2069 (70 to 69). Ако дължината е зададена с 4, YEAR може да варира от 1901 дo 2155. По подразбиране дължината е 4.
Видове Низове:
Въпреки, че числовите и дата и час типове данни са забавни, по-голяма част
от данните които записвате и съхранявате ще бъдат в низов формат. Този
списък описва основните низови бази данни в MySQL.
-
CHAR(M) - Низ с фиксирана дължина между 1 и 255 символа (например CHAR(5)). Не е задължително да дефинирате дължина, но тя е 1 по подразбиране.
-
VARCHAR(M) - Низ с променлива дължина между 1 и 255 символа; например VARCHAR(25). Тук обаче трябва да зададете дължина когато създавате поле с VARCHAR.
-
BLOB or TEXT - Поле с максимална дължина от 65535 символа. BLOB представлява "Binary Large Objects" и се използват за запазване на големи по-размер binary (двоични) данни, като например изображения или друг вид файлове. Полетата дефинирани като TEXT също съдържат големи по размер данни; Разликата между тях е, че вида и сравненията на съхранените данни са чувствителни към BLOBs и не са чувствителни към TEXT. Не задавате дължина с BLOB или TEXT.
-
TINYBLOB or TINYTEXT - BLOB или TEXT колона с максималнен брой от 255 символи. Не задавате дължина с TINYBLOB или TINYTEXT.
-
MEDIUMBLOB or MEDIUMTEXT - BLOB или TEXT колона с максимален брой от 16777215 символа. Не задавате дължина с MEDIUMBLOB или MEDIUMTEXT.
-
LONGBLOB or LONGTEXT - BLOB или TEXT колона с максимален брой от 4294967295 символа. Не задавате дължина с LONGBLOB или LONGTEXT.
-
ENUM - Изброяване (enumeration). Когато дефинирате ENUM, вие създавате списък с предмети чиято стойност трябва да зададете (или може да бъде NULL). Например, ако искате вашето поле да съдържа "А" или "Б" или "В", трябва да дефинирате вашия ENUM като EMUN ("A","Б","В") и само тези стойности (или NULL) могат някога да присъстват в това поле.