Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект_лекций_Разработка_ИИ_и_Базы_данных_Ерофеев.pdf
Скачиваний:
1
Добавлен:
13.01.2026
Размер:
4.65 Mб
Скачать

Вкладка 12

Базы данных 7(03.12.2025)

Если в SELECT не указан список столбцов для оператора insert variables то значения для всех столбцов должны быть определены в списке variables.

Если стоит указатель LOW_PRIORITY, то команда выполнится после всех чтений таблицы.

Если в команде INSERT установлено ключевое слово IGNORE и строки имеют большое количество значений, то все строки которые дублируются и которые имеют тип праймери или юник, будут проигнорированы и не внесены.

Предупреждения с инсертом:

1.​ Если пытаемся внести null в столбец, который не принимать значение null. В

таком случае вносится значение по умолчанию.

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

3.​ Если мы вносил в столбец со строкой или похожим типом данных, строку которая превосходит максимальную длину.

Ключевое слово LOCAL означает, что файл должен храниться на клиенте. Если данные загружаются с локального файла, то сервер не сможет прервать эту операцию, поэтому выполнение этой команды происходит так же как при указании слова IGNORE. Монолитная или атомарная операция это операция не содержащая другие, она занимает ровно один такт процессора.

Border это символ обрамляющий поле с начала и конца.

Команда Load_data_in_file итерпритирует все данные как строки, поэтому нельзя

указывать числовые значения для столбцов enum или set, так же как и для команд

типа insert.

Удаляет из таблицы строки подходящие по условию и возвращает количество удаленных строк.

Ключевое слово quick, означает что обработчик таблицы при удалении не будет обновлять индексы.

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

Truncate table - удаляет всю таблицу. Не поддерживает транзакции. Не возврощает количество удалённых строк.

Выборка данных с помощью простейших запросов

DISTINCT - показывает какие варианты значений есть в столбце.

LIMIT - оператор имеет два параметра offset - позиция с которой выведется результат, rows - количество уникальных записей.

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

Операторы MYSQL и создание сложных запросов

При работе с оператором сравнения, сравнение с null даёт в результате null, за исключением особого случая.

Логические выражения в MySQL могут воспринимать значения 1,0, null.

Переменные мы вводим начиная с символа &. Переменная локальна в рамках соединения с сервером.

Добавление к конструкции from конструкцию where превращает конструкцию в объединение по эквивалентности.

Using полезна когда, у таблиц есть столбцы с одинаковы названиями

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

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

Вложенный запрос это запрос который использует результаты внешнего запроса.

!Чётко уметь рассказывать про параметры SELECT. Могут попросить написать пример запроса для таблицы.

!Знать отличие потока от процесса Процесс это изолированное приложение по своей виртуальной памяти. А потоки имеют

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

Функциональные модули оформленные в виде потока, называются потоками. В программировании есть основные потоки и вторичные потоки.(В С первичной поток - main)