Рубрики
Uncategorized

Введение в MySQL урок 2 типы данных

Автор оригинала: David Wong.

Оригинальный текст находится на моем GitHub, добро пожаловать на подписку.

предисловие

Эта статья продолжает изучение первого урока введения в MySQL “создание таблицы, изменение таблицы, удаление таблицы”.

Чтобы построить отличную таблицу, очень важно выбрать соответствующий тип данных. Если тип данных выбран неправильно, это не только создаст проблемы для вас самих, но и приведет к низкой производительности базы данных.

Например студент (таблица студентов) добавьте возраст Поля, достаточно выбрать TINYINT Тип. Его сфера применения такова 0-255 (без знака) более подходит, если используется В Также могут быть выполнены условия, но INT 4 байта и TINYINT Это занимает всего 1 байт, конечно TINYINT Лучшая производительность.

Я только что упомянул, что БЕЗ ПОДПИСИ (без знака), я объясню это позже.

тип данных

Mysql Поддерживает множество типов, примерно разделенных на три типа: числовой, строковый, тип даты/времени.

Давай сломаем друг друга

тип значения

1 байт КРОШЕЧНЫЙ Малое целочисленное значение (-128, 127) (0, 255)
2 байта МЕЛОЧЬ Большое целочисленное значение (-32768, 32767) (0, 65535)
3 байта МЕДИУМИНТ Большое целочисленное значение (-8 388 608,8 388 607) (0,16 777 215)
4 байта Int или целое число Большое целочисленное значение (-2 147 483 648,2 147 483 647) (0,4 294 967 295)
8 байт БИГИНТ Максимальное целочисленное значение (-9,223,372,036,854,775,808,9 223 372 036 854 775 807) (0,18 446 744 073 709 551 615)
4 байта ПЛЫТЬ Значение с плавающей запятой с одной точностью (-3.402 823 466 Е+38, -1.175 494 351 Е-38),0,(1.175 494 351 Е-38,3. 402 823 466 351 Е+38) 0, (1175 494 351 Е-38,3.402 823 466 Е+38)
8 байт ДВОЙНОЙ Значение с плавающей запятой двойной точности (-1797 693 134 862 315 7 E+308,-2225 073 858 507 201 4 E-308), 0, (2.225 073 858 507 201 4 Е-308,1. 797 693 134 862 315 7 Е+308) 0, (2225 073 858 507 201 4 E-308,1 797 693 134 862 315 7 E+308)
Для десятичной дроби (m, d), если M > D, M + 2, в противном случае D + 2 ДЕСЯТИЧНЫЙ Десятичное значение Значения, зависящие от M и D Значения, зависящие от M и D

Вот объяснение вышеизложенного ПодписаноБез знака :

  • Подписано: значение по умолчанию подписано, которое находится в диапазоне от отрицательного до положительного
  • Подпись: отрицательного числа нет, начиная с 0

Для нормального развития целочисленными типами являются INT Диапазон значений уже очень велик.

Когда вы создаете таблицу, вы часто видите подобное явление INT(5) После нее стоит 5, что указывает на ширину отображения (м). Значение M не может быть больше длины диапазона значений. Например, если возраст Тип поля INT(5) БЕЗ ЗНАКА НУЛЕВОЕ ЗАПОЛНЕНИЕ , вставьте фрагмент данных возраст 99, и окончательное отображение: 00099

БЕЗ ПОДПИСИ Не подписано, ЗАПОЛНЕНИЕ НУЛЯ Функция состоит в том, чтобы заполнить позицию без цифр с 0.

Я спросил некоторых коллег, что для удобства разработки многие поля должны использовать числовой тип, и они предпочитают использовать строковый тип. Просто взгляните на это предложение

Строковый тип

Строковый тип является наиболее часто используемым типом при создании таблицы. Вот некоторые типы строкового типа:

0-255 байт ОБУГЛИТЬ Строка фиксированной длины
0-65535 байт ВАРЧАР Строка переменной длины
0-255 байт КРОШЕЧНЫЙ ШАРИК Двоичная строка длиной не более 255 символов
0-255 байт КРОШЕЧНЫЙ ТЕКСТ Короткая текстовая строка
0-65 535 байт КАПЛЯ Длинные текстовые данные в двоичной форме
0-65 535 байт ТЕКСТ Длинные текстовые данные
0-16 777 215 байт МЕДИУМБЛОБ Текстовые данные средней длины в двоичной форме
0-16 777 215 байт СРЕДНИЙ ТЕКСТ Текстовые данные средней длины
0-4 294 967 295 байт ЛОНГБЛОБ Максимальное количество текстовых данных в двоичной форме
0-4 294 967 295 байт ДЛИННЫЙ ТЕКСТ Максимальное количество текстовых данных

Обычно двоичные данные используются редко. Как правило, изображения и аудио хранятся на CDN или облачном сервере, и большинство из них используются CHARVARCHARТЕКСТ Да.

В таблицах нет понятия, но мы можем знать, что размер строк в основном определяется байтами. Строки, используемые в нашей разработке, как правило, представляют собой английские буквы и китайские иероглифы, поэтому нам нужно знать взаимосвязь между байтами и ними

В MySQL UTF 8 Под кодом:

  • Одна английская буква (включая регистр) занимает 1 байт
  • Один китайский иероглиф занимает три байта

Поэтому, когда мы сохраняем название, введение и статью, мы можем выбрать соответствующий тип по количеству занятых байтов. Идеальный.

Тип даты/времени

Мы также часто используем этот тип, например, день рождения, время создания, время модификации и так далее.

3 байта ДАТА 1000-01-01/9999-12-31 ГГГГ-ММ-ДД Значение даты
3 байта ВРЕМЯ ‘-838:59:59’/’838:59:59’ ЧЧ:ММ:СС Значение времени или продолжительность
1 байт ГОД 1901/2155 ГГГГ Значение за год
8 байт ДАТА И ВРЕМЯ 1000-01-01 00:00:00/9999-12-31 23:59:59 ГГГГ-ММ-ДД ЧЧ:ММ:СС Смешивание значений даты и времени
4 байта ОТМЕТКА ВРЕМЕНИ 1970-01-01 00:00:00 / 2038 (время окончания 2147483647 секунд, 2038-1-19 11:14:07 по пекинскому времени, 03:14:07 утра, 19 января 2038 года, GMT) ГГГГММДД ЧЧММСС Смешанные значения даты и времени, метки времени

В разработке обычно используется, что ДАТА-ВРЕМЯ и МЕТКА ВРЕМЕНИ Он также используется IT Для записи времени, следующий анализ сделан на основе удобочитаемости, места для хранения и работоспособности:

  1. Читаемость его самая плохая. Код необходим для преобразования формата при отображении. Нет ДАТА-ВРЕМЯ и МЕТКА ВРЕМЕНИ визуальный.
  2. Минимальное пространство для хранения составляет 4 байта для int и метки времени и 8 байт для даты и времени.
  3. Работоспособность: в обычное время мы можем читать, записывать, сравнивать и вычислять дату. Чтение и запись одинаковы, никакой разницы; в сравнении и вычислении INT Для большего удобства вы можете напрямую сравнивать, складывать и вычитать и другие операции. Два других необходимо рассчитать и сравнить с помощью инструментов кода. В это время наилучшая производительность ПРЕДНАЗНАЧЕНА

Всестороннее рассмотрение, личные предпочтения ОТМЕТКА ВРЕМЕНИ Если производительность не очень высокая, то с помощью кода легко работать, но при его использовании следует учитывать временной диапазон!

Фан вай

В сочетании с первым уроком введения в MySQL “создание таблицы, изменение таблицы, удаление таблицы” и этой статьей есть несколько мест условие ограничения Необходимо сказать:

  • Без знака: нет знака, значение начинается с 0, отрицательного числа нет
  • Нулевое заполнение: Нулевое заполнение. Если отображаемой длины данных недостаточно, вы можете использовать эффект предшествующего 0 для заполнения указанной длины, и поле будет автоматически добавлено с неназначенным
  • Not null: ненулевое ограничение, указывающее, что значение поля не может быть пустым
  • Значение по умолчанию: указывает, что если полю не присвоено значение при вставке данных, используется значение по умолчанию
  • Первичный ключ: ограничение первичного ключа, которое представляет уникальный идентификатор и не может быть пустым. Таблица может иметь только один первичный ключ. Обычно он используется для ограничения идентификатора
  • АВТОМАТИЧЕСКОЕ приращение: саморазвивающийся. Он может использоваться только для числовых столбцов и использоваться с индексом. Начальное значение по умолчанию начинается с 1 и увеличивается на 1 каждый раз
  • Уникальный ключ: уникальное значение, указывающее, что значение в этом поле не может быть повторено, кроме null. Например, если номер удостоверения личности один для каждого человека, он обычно используется для его ограничения
  • Внешний ключ: ограничение внешнего ключа, целью которого является обеспечение полноты и уникальности данных, а также реализация отношений “один к одному” или “один ко многим”.

резюме

В этой статье в основном описывается тип данных и то, как использовать соответствующий тип данных при разработке Fanwai В этой статье мы представим Условия .

Следующая статья начнется Введение в MySQL урок 3 добавление, удаление и изменение данных Добро пожаловать для чтения.