Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lec11_uk.doc
Скачиваний:
1
Добавлен:
20.07.2019
Размер:
276.48 Кб
Скачать

4. Оператор видалення записів

Синтаксис:

DELETE FROM table_name WHERE where_definition

Тут where_definition має формат:

where_definition:

where_expr or where_expr [AND | OR] where_expr

where_expr має формат:

where_expr:

column_name [> | >= | = | <> | <= | < ]

column_name_or_constant or

column_name LIKE column_name_or_constant or

column_name IS NULL or column_name IS NOT NULL or (where_definition)

Опис:

Видаляє записи з таблиці. Повертає кількість оброблених записів.

Якщо викликаний DELETE без WHERE, то таблиця буде очищена. В цьому випадку DELETE поверне 0 для числа оброблених записів.

Зауваження:

Всі рядки порівнюються без урахування регістра (ISO_8859_1). Якщо Ви повинні зробити чутливий до регістра пошук, то використовуйте REGEXP в пропозиції HAVING.

Порівняння з явним NULL (стовпець == NULL) еквівалентно умові IS NULL, тобто використанню (стовпець IS NULL). Це було зроблено, для сумісності з mSQL.

5. Запит на вибірку даних

Синтаксис

SELECT [STRAIGHT_JOIN] [DISTINCT | ALL] select_expression,...

[FROM tables... [WHERE where_definition] [GROUP BY column...]

[ORDER BY column [ASC | DESC], ...] HAVING full_where_definition

[LIMIT [offset] rows] [PROCEDURE procedure_name]]

[INTO OUTFILE 'file_name'... ]

Тут where_definition:

where_definition:

where_expr or where_expr [AND | OR] where_expr

where_expr має формат:

where_expr:

column_name [> | >= | = | <> | <= | <]

column_name_or_constant or column_name LIKE column_name_or_constant or column_name IS NULL or column_name IS NOT NULL or (where_definition)

Опис:

Оператор SELECT є наріжним каменем всієї мови SQL. Він використовується, щоб виконати запити до бази даних. Це дійсно основа мови SQL.

Вираз LIMIT може використовуватися для обмеження кількості рядків, повернених командою SELECT. LIMIT приймає один або два числові аргументи. Ці аргументи повинні бути цілочисельними константами. Якщо задані два аргументи, то перший указує на початок першого повертаного рядка, а другий задає максимальну кількість повертаних рядків. При цьому зсув початкового рядка рівне 0 (не 1):

6. Використання ключів (індексів)

Індекси застосовуються для швидкого пошуку рядків з вказаним значенням одного стовпця. Без індексу читання таблиці здійснюється по всій таблиці починаючи з першого запису, поки не будуть знайдені відповідні рядки. Чим більша таблиця, тим більше накладні витрати. Якщо ж таблиця містить індекс по даних стовпцях, то MySQL може швидко визначити позицію для пошуку у середині файлу даних без проглядання всіх даних. Для таблиці, що містить 1000 рядків, це буде як мінімум в 100 разів швидший в порівнянні з послідовним перебором всіх записів. Проте у разі, коли необхідний доступ майже до всіх 1000 рядків, швидше буде послідовне читання, оскільки при цьому не вимагається операцій пошуку по диску.

Індекси використовуються для того, щоб:

  1. Швидко знайти рядки, відповідні виразу WHERE.

  2. Витягнути рядки з інших таблиць при виконанні об'єднань.

  3. Знайти величини MAX() або MIN() для заданого індексованого стовпця. Ця операція оптимізується препроцесором, який перевіряє, чи не використовуєте ви WHERE key_part_4 = константа, по всіх частинах складеного ключа < N. В цьому випадку MySQL зробить один перегляд ключа і замінить вираз константою MIN(). Якщо всі вирази замінюються константою, запит вмить поверне результат:

SELECT MIN(key_part2),MAX(key_part2) FROM table_name where key_part1=10

  1. Проводити сортування або групування в таблиці, якщо ці операції робляться на крайньому зліва префіксі використовуваного ключа (наприклад ORDER BY key_part_1,key_part_2). Якщо за всіма частинами ключа слідує DESC, то даний ключ читається в зворотному порядку (see Розділ 5.2.7, «Як MySQL оптимізує ORDER BY»).

MySQL таблиця може мати до 16 ключів, кожний з яких може мати до 15 полів. Максимальна підтримувана довжина ключа 120 байт. Довгі ключі можуть привести до низької ефективності.

Ключі можуть мати імена. У разі первинного ключа ім'я буде завжди PRIMARY. Якщо ім'я ключа не задане в процесі створення таблиці, то задане за умовчанням ім'я ключа - перше ім'я стовпця з факультативним суфіксом (_2, _3, і т. д.) щоб зробити це ім'я унікальним. Ім'я ключа може використовуватися з командою ALTER TABLE, щоб видалити ключ.

Створення та видалення ключа здійснюється через оператор Alter table

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]