Обяснени типове данни на SQL и примери за синтаксис на MySQL

SQL типове данни

Всяка колона в таблица на базата данни трябва да има име и тип данни.

SQL разработчикът трябва да реши какъв тип данни ще се съхраняват във всяка колона при създаване на таблица. Типът данни е насока за SQL да разбере какъв тип данни се очаква във всяка колона и също така идентифицира как SQL ще взаимодейства със съхранените данни.

Типове данни на MySQL

Общите типове данни на SQL се състоят от следното:

  1. Стойност, базирана на текст и / или цифри, често наричана STRING
  2. Цифрова стойност, често наричана INTEGER
  3. Стойност, базирана на календар и / или часовник, често наричана ДАТА или ВРЕМЕ
  4. Стойност, специфична за база данни, като булев флаг (с две опции), масив, който съхранява множество стойности в рамките на една точка от данни

Типове текстови данни:

Тип данниОписание
CHAR (размер)Съдържа низ с фиксирана дължина (може да съдържа букви, цифри и специални символи). Фиксираният размер е посочен в скоби. Може да съхранява до 255 знака
VARCHAR (размер)Съдържа низ с променлива дължина (може да съдържа букви, цифри и специални символи). Максималният размер е посочен в скоби. Може да съхранява до 255 знака. Забележка: Ако поставите по-голяма стойност от 255, тя ще бъде преобразувана в тип ТЕКСТ
ТИНИКСТСъдържа низ с максимална дължина от 255 знака
ТЕКСТСъдържа низ с максимална дължина от 65 535 знака
BLOBЗа BLOB (двоични големи обекти). Съдържа до 65 535 байта данни
СРЕДЕН ТЕКСТСъдържа низ с максимална дължина от 16 777 215 знака
СРЕДЕН КРАНЗа BLOB (двоични големи обекти). Съдържа до 16 777 215 байта данни
ДЪЛГОТЕКСТСъдържа низ с максимална дължина 4 294 967 295 знака
LONGBLOBЗа BLOB (двоични големи обекти). Съдържа до 4 294 967 295 байта данни
ENUM (x, y, z и т.н.)Позволява ви да въведете списък с възможни стойности. Можете да изброите до 65535 стойности в списък на ENUM. Ако се вмъкне стойност, която не е в списъка, ще се вмъкне празна стойност. Забележка: Стойностите са сортирани в реда, в който ги въвеждате. Въвеждате възможните стойности в този формат: ENUM ('X', 'Y', 'Z')
КОМПЛЕКТПодобно на ENUM, с изключение на това, че SET може да съдържа до 64 елемента от списъка и може да съхранява повече от един избор

Брой типове данни:

Тип данниОписание
TINYINT (размер)-128 до 127 нормално. 0 до 255 НЕПОДПИСАНИ *. Максималният брой цифри може да бъде посочен в скоби
SMALLINT (размер)-32768 до 32767 нормално. 0 до 65535 НЕПОДПИСАНО *. Максималният брой цифри може да бъде посочен в скоби
СРЕДЕН (размер)-8388608 до 8388607 нормално. 0 до 16777215 НЕПОДПИСАНО *. Максималният брой цифри може да бъде посочен в скоби
INT (размер)-2147483648 до 2147483647 нормално. 0 до 4294967295 НЕПОДПИСАНО *. Максималният брой цифри може да бъде посочен в скоби
BIGINT (размер)-9223372036854775808 до 9223372036854775807 нормално. 0 до 18446744073709551615 НЕПОДПИСАНО *. Максималният брой цифри може да бъде посочен в скоби
FLOAT (размер, d)Малко число с плаваща десетична точка. Максималният брой цифри може да бъде посочен в параметъра за размер. Максималният брой цифри вдясно от десетичната запетая е посочен в параметъра d
ДВОЙНА (размер, d)Голямо число с плаваща десетична точка. Максималният брой цифри може да бъде посочен в параметъра за размер. Максималният брой цифри вдясно от десетичната запетая е посочен в параметъра d
ДЕЦИМАЛНА (размер, d)ДВОЙНА, съхранена като низ, позволяваща фиксирана десетична точка. Максималният брой цифри може да бъде посочен в параметъра за размер. Максималният брой цифри вдясно от десетичната запетая е посочен в параметъра d

Типове данни за дата:

Тип данниОписание
ДАТА()Дата. Формат: ГГГГ-ММ-ДД Забележка: Поддържаният диапазон е от „1000-01-01“ до „9999-12-31“
ВРЕМЕ ЗА СРЕЩА()Комбинация от дата и час. Формат: ГГГГ-MM-DD ЧЧ: MI: SS Забележка: Поддържаният диапазон е от „1000-01-01 00:00:00“ до „9999-12-31 23:59:59“
TIMESTAMP ()Клеймо за време. Стойностите на TIMESTAMP се съхраняват като брой секунди от епохата на Unix ('1970-01-01 00:00:00' UTC). Формат: ГГГГ-MM-DD ЧЧ: MI: SS Забележка: Поддържаният диапазон е от '1970-01-01 00:00:01' UTC до '2038-01-09 03:14:07' UTC
ВРЕМЕ ()Време. Формат: HH: MI: SS Забележка: Поддържаният диапазон е от '-838: 59: 59' до '838: 59: 59'
ГОДИНА ()Година в двуцифрен или четирицифрен формат. Забележка: Стойности, разрешени в четирицифрен формат: 1901 до 2155. Стойности, разрешени в двуцифрен формат: 70 до 69, представляващи години от 1970 до 2069

И накрая, има няколко други типа данни, които ще използвате:

Други типове данни

Тип данниОписание
BOOLEANМагазини TRUEили FALSEценности
ARRAYНабор от подредени и подредени колекции от елементи
MULTISETКолекция от елементи с променлива дължина и неподредена
XMLСъхранява XML данни