Архив рубрики: Публикации

NULL в MySQL. Руководство для начинающих

Описание : в этой статье вы узнаете, как работать со значениями NULL в MySQL. Кроме того, вы изучите некоторые полезные функции для эффективной работы со значениями NULL.

 

Введение в NULL в MySQL

В MySQL значение NULL означает неизвестное. Значение NULL отличается от нуля (0) или пустой строки ».

Значение NULL не равно ни к чему, даже сам по себе. Если вы сравниваете значение NULL с другим значением NULL или любым другим значением, результатом является то, что значение NULL каждого значения NULL неизвестно.

Обычно значение NULL используется для указания того, что данные отсутствуют, неизвестны или неприменимы. Например, номер телефона потенциального клиента может быть NULL и может быть добавлен позже.

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

Например, следующий оператор создает таблицу leads:

DROP TABLE IF EXISTS leads;



CREATE TABLE leads (

id INT AUTO_INCREMENT PRIMARY KEY,

first_name VARCHAR(50) NOT NULL,

last_name VARCHAR(50) NOT NULL,

source VARCHAR(255) NOT NULL,

email VARCHAR(100),

phone VARCHAR(25)

);

 

В таблице leads столбец id является столбцом первичного ключа, поэтому он не принимает никаких значений NULL.

Столбцы first_name, last_name и source используют ограничение NOT NULL, следовательно, вы не можете вставить любые значения NULL в эти столбцы, в то время как emailи phoneстолбцы принимают значения NULL.

Вы можете использовать NULLзначение в выражении INSERT, чтобы указать, что данные отсутствуют. Например, следующий оператор вставляет строку в таблицу leads. Поскольку номер телефона отсутствует, поэтому используется значениеNULL.

INSERT INTO leads(first_name,last_name,source,email,phone)

VALUE('Andrey','Terminator','Web Search','Andrey.Terminator@andreyex.ru',NULL);

 

Поскольку значение по умолчанию для столбца электронной почты — это NULL, вы можете опустить электронную почту в выражении INSERT следующим образом:

INSERT INTO leads(first_name,last_name,source,phone)

VALUES

('Max','Hard','Cold Calling','(123)-456-789'),

('Lilu','Dalas','Web Search','(987)-654-321');

 

SET NULL в заявлении UPDATE

Чтобы установить значение столбца в NULL, вы используете оператор присваивания ( =). Например, чтобы обновить телефон Lilu Dalas до NULL, вы используете следующую   инструкцию UPDATE:

UPDATE

leads

SET

phone = NULL

WHERE

id = 3;

MySQL ORDER BY NULL

 

Если вы используете предложение ORDER BY для сортировки результирующего набора в порядке возрастания, MySQL считает, что значения NULL ниже, чем другие значения, поэтому NULL сначала он представляет значения.

Следующее утверждение сортирует клиентов по номеру телефона в порядке возрастания.

SELECT

*

FROM

leads

ORDER BY phone;

 

Если вы используете ORDER BY DESC, значения NULL появляются в конце набора результатов. Смотрите следующий пример:

SELECT

*

FROM

leads

ORDER BY phone DESC;

 

Для проверки NULL в запросе вы используете оператор IS NULL или IS NOT NULL в предложении WHERE.

Например, чтобы получить потенциальных клиентов, которые еще не указали номер телефона, вы используете оператора IS NULL следующим образом:

SELECT

*

FROM

leads

WHERE

phone IS NULL;

 

Вы можете использовать оператора IS NOT, чтобы получить все лиды, которые предоставили адреса электронной почты.

SELECT

*

FROM

leads

WHERE

email IS NOT NULL;

 

Даже если значение NULL не равно NULL, два значения NULL равны в предложении GROUP BY.

SELECT

id, first_name, last_name, email, phone

FROM

leads

GROUP BY email;

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

 

NULL и индекс UNIQUE в MySQL

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

Давайте проверим этот момент, создав индекс UNIQUE для столбца phone.

CREATE UNIQUE INDEX idx_phone ON leads(phone);

 

Обратите внимание, что если вы используете механизм хранения BDB, MySQL считает, что значения NULL равны, поэтому вы не можете вставить несколько значений NULL в столбец с уникальным ограничением.

 

Функция NULL в MySQL

MySQL предоставляет несколько полезных функций, которые эффективно обрабатывают NULL: IFNULL, COALESCE и NULLIF.

Функция IFNULL принимает два параметра. Функция IFNULL возвращает первый аргумент, если он не NULL, в противном случае она возвращает второй аргумент.

Например, следующий оператор возвращает номер телефона, если это не NULL, иначе он возвращает N/A вместо NULL.

SELECT

id,

first_name,

last_name,

IFNULL(phone, 'N/A') phone

FROM

leads;

 

Функция COALESCE принимает список аргументов и возвращает первый аргумент не-NULL. Например, вы можете использовать функцию COALESCE для отображения контактной информации о потенциальной возможности в зависимости от приоритета информации в следующем порядке: телефон, электронная почта и N/A.

SELECT

id,

first_name,

last_name,

COALESCE(phone, email, 'N/A') contact

FROM

leads;

 

Функция NULLIF принимает два аргумента. Если два аргумента равны, функция NULLIF возвращает NULL. В противном случае она возвращает первый аргумент.

Функция NULLIF полезна, если у вас есть как NULL и пустые строковые значения в столбце. Например, по ошибке вы вставляете в таблицу leads следующую строку :

INSERT INTO leads(first_name,last_name,source,email,phone)

VALUE('Andreyex','Destroyer','Web Search','Andreyex.Destroyer@example.ru','');

 

Телефон представляет собой пустую строку вместо NULL.

Если вы хотите получить контактную информацию о потенциальных клиентах, вы получите пустой телефон вместо электронного письма в виде следующего запроса:

SELECT

id,

first_name,

last_name,

COALESCE(phone, email, 'N/A') contact

FROM

leads;

 

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

SELECT

id,

first_name,

last_name,

COALESCE(NULLIF(phone, ''), email, 'N/A') contact

FROM

leads;

 

Из этой статьи вы узнали, как работать с NULL в MySQL и как использовать некоторые удобные функции для обработки запросов NULL.



2020-03-01T16:23:29
База данных MySQL

Диапазон в Python

Тип range в Python генерирует последовательность целых чисел, определяя начальную и конечную точку диапазона. Обычно используется с циклом for в Python для итерации по последовательности чисел.

range() работает по-разному в Python 2 и 3.

В Python 2 есть две функции, которые позволяют генерировать последовательность целых чисел, rangeи xrange. Эти функции очень похожи, главное отличие в том, что range возвращает список и xrange возвращает объект xrange.

В Python 3 функция xrange была удалена, а функция range ведет себя подобно xrange в Python 2. range в Python 3 — это не функция, а тип, представляющий неизменяемую последовательность чисел.

В этой статье мы рассмотрим основы типа range в Python 3.

 

Синтаксис range() в Python

range принимает следующие формы:

range(stop)

range(start, stop[, step])


Аргументы, предоставляемые range, должны быть целыми числами. Плавающие числа и другие типы не допускаются.

range принимает один обязательный и два необязательных аргумента. Он возвращает объект диапазона, который представляет данный диапазон, и генерирует числа по запросу.

 

range(stop) в Python

Когда предоставлен только один аргумент, range возвращает последовательность чисел, увеличивается на 1, начиная с 0 и заканчивая — 1.

Вот тип диапазона в действии:

for i in range(5):

    print(i)


 

Сгенерированная последовательность чисел начинается с 0 и заканчивается на 4 (5-1):

0

1

2

3

4


 

Если аргумент равен 0 или отрицательное целое число, range возвращает пустую последовательность:

print(list(range(-5)))


 

Мы конвертируем объект range в список, потому что range выполняет ленивую оценку целочисленной последовательности. На выходе получается пустой список:

[]


 

range(start, stop) в Python

Когда предусмотрены два аргумента, range возвращает последовательность чисел, увеличивается на 1, начиная с start к stop — 1.

Вот пример:

for i in range(3, 5):

    print(i)


 

3

4


 

Аргумент stop должен быть больше start. В противном случае последовательность будет пуста:

print(list(range(5, 3)))


 

[]


 

Вы можете использовать положительные и отрицательные целые числа в качестве аргументов:

print(list(range(-5, -3)))


 

[-5, -4]


 

print(list(range(-3, 0)))


 

[-3, -2, -1]


 

range(start, stop, step) в Python

Когда задано три аргумента, range возвращает последовательность чисел, увеличиваются или уменьшаются на step, начиная с start к stop — 1.

Если step положительный, range возвращает последовательность, которая увеличивается:

for i in range(0, 26, 5):

    print(i)


 

0

5

10

15

20

25


 

При увеличении аргумента stop должен быть больше чем start. В противном случае последовательность пуста.

Если step отрицательный, то range возвращает последовательность, которая уменьшается:

for i in range(20, 4, -5):

    print(i)


 

20

15

10

5


 

При уменьшении аргумента stop должен быть меньше чем start. В противном случае последовательность пуста.

Если step равно 0, вызывается исключение ValueError:

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

ValueError: range() arg 3 must not be zero


 

Вывод

Тип range в Python позволяет генерировать последовательность целых чисел. В основном используется в циклах for в Python.

Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.



2020-02-29T16:33:12
Python

Резервные копии из папок. Хранение бэкапов

Часто простые домашние пользователи хранят данные на единственном диске, в одном экземпляре. Это неоправданно рискованно: если носитель станет нечитаемым, то информация будет безвозвратно утеряна. Поэтому стоит делать бэкапы хотя бы самых важных папок. У меня есть довольно быстрый и удобный способ делать бэкапы. Читать

Как импортировать или экспортировать параметры групповой политики в Windows 10

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

Редактор локальной групповой политики — это удобная утилита, которая доступна в выпусках Windows 10 Pro, Education и Enterprise. Можно настроить параметры системы, создать ограничения для пользователей и сделать больше с помощью этого встроенного инструмента. Теперь давайте предположим, что вы собираетесь установить новую версию Windows 10 или вам нужно установить ее на нескольких компьютерах, и вы хотите применить одинаковые параметры групповой политики на всех них.

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

Чтобы выполнить резервное копирование/восстановление или импорт/экспорт параметров групповой политики в Windows 10, выполните следующие действия.

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

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

Чтобы начать, откройте проводник на исходном компьютере и перейдите в следующую папку:

C:WindowsSystem32GroupPolicy

Кроме того, вы можете открыть приглашение «Выполнить», нажав Win + R , вставить этот путь и нажать кнопку «Ввод»:

%SystemRoot%System32GroupPolicy

Вам может потребоваться показать скрытые файлы и папки, чтобы увидеть подпапку GroupPolicy в папке System32.

Здесь вы найдете папки с именами «Machine», «User» , «gpt.ini» и т.д. На стандартном компьютере отображаются только эти две папки, но их может быть и больше, если вы выполнили какие-либо специальные настройки для конкретного пользователя.

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

Теперь вам нужно принудительно обновить групповую политику или перезагрузить компьютер.

Теперь вы должны найти все изменения групповой политики в вашей целевой системе.



2020-02-28T16:09:24
Вопросы читателей

Как использовать Python в Windows

Как один из лучших языков программирования для изучения и использования, неудивительно, что миллионы новых программистов обращают свое внимание на изучение использования Python. Он предлагает низкий барьер для входа, с поддержкой Python, доступной во всех основных операционных системах, что позволяет вам создавать проекты от веб-сайтов до настольных игр (и не только).

Python обычно предустановлен на MacOS и Linux, но есть несколько дополнительных проблем, с которыми пользователям Windows придется перейти, прежде чем они смогут начать использовать Python для своих проектов. Вот что вам нужно знать, если вы хотите узнать, как использовать Python в Windows.

Как установить Python на Windows

Поскольку Python не поставляется с предустановленной Windows, вам сначала нужно его установить. Существует две доступные версии Python — Python 3 и Python 2. В целях совместимости может потребоваться установка и использование Python 2 с более старым программным обеспечением Python.

Поддержка последней версии Python 2 (Python 2.7) заканчивается в 2020 году, однако, на этом этапе, вероятно, лучше придерживаться установки Python 3.

  • Чтобы начать работу с Python, вам нужно зайти на сайт Python и загрузить установщик для последней версии. Как уже упоминалось, мы рекомендуем вам скачать последнюю версию Python 3 Stable.

  • После загрузки запустите установщик Python. Вам будет представлено очень простое в использовании меню установщика с опциями для запуска установщика с автоматическими настройками или настройки его перед установкой.Однако, прежде чем выбрать какой-либо из параметров, нажмите кнопку Добавить Python to PATH внизу, чтобы добавить Python в переменную PATH. Это облегчит запуск Python из командной строки или PowerShell, просто набрав python , а не полный путь.

  • Когда вы будете готовы начать установку Python в Windows, выберите параметр « Установить сейчас», чтобы установить Python с использованием параметров по умолчанию, или « Настроить установку», чтобы внести изменения до начала установки.

  • Если вы решите настроить свою установку, вам будет предложено несколько дополнительных меню. В меню « Дополнительные функции» показаны различные функции, которые будут установлены вместе с Python, включая документацию по Python. Будут установлены компоненты с включенными флажками, поэтому нажмите на любой из них, чтобы предотвратить их установку, затем нажмите Далее, чтобы продолжить.

  • В меню « Дополнительные параметры» вы сможете настроить способ установки Python. Вы можете оставить эти настройки по большей части, хотя, возможно, вы захотите установить флажок « Установить для всех пользователей», если на вашем компьютере несколько учетных записей.Вы также можете выбрать пользовательскую точку установки для вашей установки Python в поле Customize Install Location . Нажмите Установить, чтобы начать установку на этом этапе.

  • Если установка прошла успешно, вы должны увидеть экран «Окончательная установка прошла успешно» . Если вам показана эта опция, нажмите кнопку Отключить ограничение длины пути . Это позволяет обойти ограничение в 260 символов для длины пути к папке и файлу. В противном случае нажмите кнопку Закрыть, чтобы закончить.

Как запускать проекты Python в Windows

После установки Python вы сможете использовать его для запуска существующего программного обеспечения Python или начать разработку собственных проектов Python. Вам понадобится Python IDE, чтобы начать кодирование ваших собственных проектов Python, таких как предварительно включенный IDLE , который вы можете запустить из меню Пуск Windows.

Чтобы запустить сам код Python, вам нужно использовать интерпретатор Python. Это программное обеспечение, которое преобразует код Python и выполняет его соответствующим образом на вашем ПК с Windows. Вам нужно будет открыть командную строку или окно PowerShell, чтобы иметь возможность использовать интерпретатор.

  • Чтобы открыть окно PowerShell, щелкните правой кнопкой мыши меню «Пуск» Windows и нажмите Windows PowerShell, чтобы начать.

  • Если вы добавили Python в переменную Windows PATH во время установки, вы сможете запустить интерпретатор, набрав python или py в окне терминала. Если вы этого не сделали, вам нужно будет использовать полный путь к интерпретатору Python, чтобы иметь возможность его запустить.

  • Интерпретатор позволяет вам набирать код Python и запускать его вручную. Например, print («Hello World») вернет Hello World, напечатанный интерпретатором.

  • Это отлично подходит для тестирования и изучения Python, но интерпретатор Python также используется для запуска более длинных файлов с кодом Python, а также скомпилированного программного обеспечения Python.Вы можете сделать это, набрав python filename.py или py filename.py в окне PowerShell, заменив filename.py вашим файлом Python. Используйте эквивалент файла filename.pyc для запуска скомпилированных файлов Python с расширением PYC.

  • Если вы ничего не знаете, когда используете интерпретатор Python, введите help(), чтобы загрузить справочную утилиту. Вы можете найти список доступных модулей Python, набрав модули , темы, набрав темы , ключевые слова, набрав ключевые слова , и символы, набрав символы . Как только вы закончите, введите quit, чтобы выйти из утилиты помощи и вернуться к интерпретатору.

  • Чтобы выйти из интерпретатора Python и вернуться в стандартное окно PowerShell, введите exit() и нажмите клавишу ввода.

Установка дополнительных модулей Python

Многие проекты Python созданы для использования преимуществ других модулей — общего программного обеспечения, которое другие проекты могут использовать для экономии времени, а не для «изобретения колеса». Вы можете найти и установить дополнительные модули с помощью PIP, индекса пакетов Python.

Прежде чем начать, вам нужно будет установить Python PIP , хотя, если вы установили Python 3.4 или новее, он должен быть предустановлен, если вы не удалили этот параметр во время предустановочной конфигурации Python.

Вы можете использовать PIP для установки новых модулей, открыв окно PowerShell и введя pip install package-name или python -m pip install package-name , заменив package-name именем пакета модуля, который вы можете установить. Вы можете искать пакеты для установки с помощью инструмента поиска на веб-сайте PIP.

Следующие шаги Python

Как мы показали здесь, вам не нужно переключаться на Linux или Mac, чтобы иметь возможность выбрать этот удобный для начинающих язык программирования. Если вы знаете, как использовать Python в Windows, вы можете начать изучать, как использовать его для своих увлечений и интересов.

Если вы хотите превратить установку Windows в более совершенную платформу для тестирования своего кода, вы можете подумать о переключении с PowerShell и установке вместо этого терминала Windows. У вас есть свои советы по написанию кода для Windows? Пожалуйста, оставьте их ниже.