MySQL IS NULL & NOT NULL Tutorial с примерами

В SQL Null есть как значение, так и ключевое слово. Давайте сначала рассмотрим значение NULL –

Нуль как ценность

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

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

Давайте рассмотрим некоторые основы для NULL, прежде чем мы продолжим обсуждение.

  • NULL не является типом данных – это означает, что он не распознается как “int”, “date” или какой-либо другой определенный тип данных.
  • Арифметические операции с NULL всегда возвращают NULL, например, 69 + NULL = NULL.
  • Все агрегатные функции влияют только на строки, которые не имеют значений NULL.

Давайте теперь продемонстрируем, как функция count обрабатывает нулевые значения. Давайте посмотрим на текущее содержимое таблицы участников –

Выполнение приведенного выше сценария дает нам следующие результаты

Количество членов полные имена Пол Дата рождения Физический адрес почтовый адрес Контактный номер Эл. адрес
1 Джанет Джонс женский 21-07-1980 Первый уличный участок № 4 Частная сумка 0759 253 542 janetjones@yagoo.cm
2 Джанет Смит Джонс женский 23-06-1980 Melrose 123 НОЛЬ НОЛЬ jj@fstreet.com
3 Роберт Фил мужчина 12-07-1989 3-я улица 34 НОЛЬ 12345 rm@tstreet.com
4 Глория Уильямс женский 14-02-1984 Вторая улица 23 НОЛЬ НОЛЬ НОЛЬ
5 Леонард Хофштадтер мужчина НОЛЬ Woodcrest НОЛЬ 845738767 НОЛЬ
6 Шелдон Купер мужчина НОЛЬ Woodcrest НОЛЬ 976736763 НОЛЬ
7 Раджеш Контрапали мужчина НОЛЬ Woodcrest НОЛЬ 938867763 НОЛЬ
8 Лесли Винкль мужчина 14-02-1984 Woodcrest НОЛЬ 987636553 НОЛЬ
9 Говард Воловиц мужчина 24-08-1981 Южный парк PO Box 4563 987786553 lwolowitz [в] email.me

Давайте посчитаем всех членов, которые обновили свой номер контакта

Выполнение вышеуказанного запроса дает нам следующие результаты.

COUNT (contact_number)
7

Примечание. Значения, которые являются NULL, не были включены

Что не является?

Логический оператор NOT используется для проверки булевых условий и возвращает true, если условие ложно. Оператор NOT возвращает false, если проверенное условие истинно

Состояние НЕ Результат оператора
Правда Ложь
Ложь Правда

 

Зачем использовать NOT null?

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

NOT NULL Значения

Предположим, что мы хотим создать таблицу с определенными полями, которые всегда должны быть снабжены значениями при вставке новых строк в таблицу. При создании таблицы мы можем использовать предложение NOT NULL в заданном поле.

Пример, показанный ниже, создает новую таблицу, содержащую данные сотрудника. Номер сотрудника всегда должен быть поставлен

Давайте попробуем вставить новую запись, не указав имя сотрудника и не увидим, что произойдет.

Выполнение вышеуказанного скрипта в workbench MySQL дает следующую ошибку:

NULL Ключевые слова

NULL также может использоваться как ключевое слово при выполнении логических операций над значениями, которые включают NULL. Ключевое слово “IS / NOT” используется в сочетании с NULL-словом для таких целей. Основной синтаксис, когда значение null используется как ключевое слово, выглядит следующим образом

 

ВОТ

  • “IS NULL” – это ключевое слово, которое выполняет логическое сравнение. Он возвращает true, если заданное значение равно NULL и false, если заданное значение не равно NULL.
  • “NOT NULL” – это ключевое слово, которое выполняет логическое сравнение. Он возвращает true, если заданное значение не равно NULL и false, если заданное значение равно null.

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

Продолжая приведенный выше пример, предположим, что нам нужны детали членов, контактный номер которых не равен NULL. Мы можем выполнить запрос типа

Выполнение вышеуказанного запроса дает только записи, где номер контакта не равен нулю.

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

 

Выполнение вышеуказанного запроса дает детали участника, контактный номер которых NULL

Количество членов полные имена Пол Дата рождения Физический адрес почтовый адрес Контактный номер Эл. адрес
1 Джанет Джонс женский 21-07-1980 Первый уличный участок № 4 Частная сумка 0759 253 542 janetjones@yagoo.cm
3 Роберт Фил мужчина 12-07-1989 3-я улица 34 НОЛЬ 12345 rmtstreet.com
5 Леонард Хофштадтер мужчина НОЛЬ Woodcrest НОЛЬ 845738767 НОЛЬ
6 Шелдон Купер мужчина НОЛЬ Woodcrest НОЛЬ 976736763 НОЛЬ
7 Раджеш Контрапали мужчина НОЛЬ Woodcrest НОЛЬ 938867763 НОЛЬ
8 Лесли Винкль мужчина 14-02-1984 Woodcrest НОЛЬ 987636553 НОЛЬ
9 Говард Воловиц мужчина 24-08-1981 Южный парк PO Box 4563 987786553 lwolowitz [в] email.me

Сравнение нулевого значения s

 

Трехзначная логика – выполнение логических операций при условиях, которые включают NULL, может либо возвращать ”Неизвестный”, “Истинный”, либо “Ложный”.

Например, использование ключевого слова “IS NULL” при выполнении операций сравнения с использованием NULL может вернуть true или false . Использование других операторов сравнения возвращает ”Неизвестно” (NULL).

Предположим, вы сравните номер пять с 5

Результат запроса равен 1, что означает TRUE

5 = 5
1

Давайте сделаем ту же операцию с NULL

 

NULL = NULL
НОЛЬ

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

5> 5
0

Результат запроса равен 0, что означает FALSE

Давайте посмотрим на тот же пример, используя NULL

 

NULL> NULL
НОЛЬ

Давайте используем ключевое слово IS NULL

5 IS NULL
0

Результатом запроса является 0, который является FALSE

NULL NULL
1

Результатом запроса является 1, который является TRUE

Резюме

  • NULL является владельцем места для дополнительных полей таблицы.
  • MySQL обрабатывает значение NULL иначе, чем другие типы данных. Значения NULL, когда они используются в состоянии, оцениваются как ложное логическое значение.
  • Логическая операция NOT используется для проверки логических значений и вычисляет значение true, если логическое значение false и false, если логическое значение истинно.
  • Предложение NOT NULL используется для исключения значений NULL из набора результатов
  • Выполнение арифметических операций над значениями NULL всегда возвращает NULL-результаты.
  • Операторы сравнения, такие как [, = и т. Д.], Не могут использоваться для сравнения значений NULL.
0 ответы

Ответить

Хотите присоединиться к обсуждению?
Не стесняйтесь вносить свой вклад!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *