В SQL типы данных определяют, какие данные могут храниться в столбце. Выбор правильного типа данных имеет решающее значение для целостности данных, эффективности хранения и производительности запросов. В этом уроке рассматриваются общие типы данных и их подтипы, используемые в базах данных SQL, а также диапазоны их значений.
Числовые типы данных используются для хранения числовых значений.
INT или INTEGER: Обычно 4-байтовое целое число.SMALLINT: Обычно 2-байтовое целое число.BIGINT: Обычно 8-байтовое целое число.TINYINT: Обычно 1-байтовое целое число.TINYINT: от -128 до 127 (со знаком) или от 0 до 255 (без знака)SMALLINT: от -32 768 до 32 767INT: от -2 147 483 648 до 2 147 483 647BIGINT: от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807DECIMAL(10, 2) может хранить числа с 10 общими цифрами, 2 из которых находятся после десятичной точки.FLOAT: Число с плавающей точкой одинарной точности.DOUBLE / DOUBLE PRECISION: Число с плавающей точкой двойной точности.REAL: Синоним для FLOAT в некоторых базах данных.Символьные типы данных используются для хранения текста.
CHAR(10) хранит строки ровно из 10 символов.VARCHAR(255) хранит строки длиной до 255 символов.VARCHAR.Типы данных даты и времени используются для хранения временных значений.
TIMESTAMP часто имеет особое поведение, связанное с часовыми поясами и автоматическим обновлением.Важно понимать концепцию NULL в SQL. NULL представляет собой отсутствующее или неизвестное значение. Столбец может быть определен как разрешающий или запрещающий значения NULL. В отличие от других типов данных, NULL не является типом данных сам по себе, а скорее свойством столбца. Крайне важно правильно обрабатывать значения NULL в запросах, чтобы избежать неожиданных результатов. Сравнения с NULL следует выполнять с использованием IS NULL или IS NOT NULL.
VARCHAR вместо CHAR, если вам не нужны строки фиксированной длины.DECIMAL для точных числовых значений, особенно при работе с валютой.Понимая доступные типы данных и их характеристики, вы можете проектировать базы данных, которые будут эффективными, надежными и простыми в обслуживании.
Основные выводы из этого урока:
INTEGER, DECIMAL и FLOAT используются для хранения числовых данных, каждый со своими характеристиками в отношении точности и диапазона.CHAR, VARCHAR и TEXT используются для хранения текстовых данных с различными ограничениями по длине и последствиями для хранения.DATE, TIME и DATETIME используются для хранения временных данных с определенными форматами, которые различаются в разных системах баз данных.BOOLEAN, BLOB и JSON обеспечивают поддержку хранения логических значений, двоичных данных и полуструктурированных данных соответственно.NULL представляет собой отсутствующее или неизвестное значение и не является типом данных сам по себе. Крайне важно правильно обрабатывать значения NULL в запросах.