Разное
Последние книги
Самое популярное
Все бесплатно
Все ссылки на файлы, расположенные на страницах сайта, добавлены пользователями и доступны для бесплатного скачивания. За содержание этих файлов администрация сайта ответственности не несет.
Навигация
Вопросы
Добавление текстовой информации в .ехе-файл и чтение ее
Категория: Файловая система
Категория: Файловая система
Упаковка таблиц в BDE
Категория: Базы данных
Категория: Базы данных
Заполнение компонента TTreeView данными из TDataSet
Категория: Базы данных
Категория: Базы данных
Создание и удаление полей
Категория: Базы данных
Категория: Базы данных
Получить первую и последнюю видимую строку в TRichEdit
Категория: Текст и строки
Категория: Текст и строки
Перекодировка в DBASE
Категория: Базы данных
Категория: Базы данных
Изменить пароль для Paradox
Категория: Базы данных
Категория: Базы данных
Удалить файл в Корзину
Категория: Приложение
Категория: Приложение
Группировка TopAdvGrid
Категория: Компоненты
Категория: Компоненты
Преобразовать Римские символы в Арабские и наоборот
Категория: Текст и строки
Категория: Текст и строки
Справочник по MySQL
Справочник по MySQL - Удаление строк из таблицы (DELETE FROM)
Удаление записей осуществляется командой DELETE FROM.
Синтаксис оператора DELETE FROM
или
или
Команда DELETE удаляет из таблицы table_name все записи, удовлетворяющие условию where_definition. Если условие WHERE where_definition не задано, то из таблицы table_name удаляются все записи.
Команда DELETE возвращает количество удаленных записей.
Следует учитывать, что если в команде DELETE не задано условие WHERE where_definition, то команда возвратит 0, хотя записи были удалены.
Если все же необходимо удалить все записи и узнать их количество, то в условии where_definition нужно задать заведомо истинное значение:
Но в этом случае выполнение команды происходит значительно медленнее.
LOW_PRIORITY
- Если указано это ключевое слово, то удаление записей из таблицы table_name не будет произведено до тех пор, пока другие процессы не закончат чтение их этой таблицы.
QUICK
- Если указано это ключевое слово, то при удалении записей обработчик таблицы не будет объединять индексы, что может ускорить операцию удаления.
table_name
- Имя таблицы в базе данных, из которой будет происходить удаление строк.
LIMIT
- Задает максимальное количество строк, которые могут быть удалены за текущий запрос.
Следующий запрос удалит из таблицы users только 5 строк:
ORDER BY
- Задает имя поля, или имена полей через запятую, по которым происходит сортировка удаляемых записей.
Эта возможность актуальна при необходимости удалить только определенное кол-во записей, отсортированных по какому-либо свойству.
Следующий пример удалит из таблицы users запись самого молодого человека.
Допустим таблица users имеет следующий вид:
Запишем в нее несколько записей:
Таблица users имеет значения:
Удаляем самого молодого:
Теперь таблица имеет значения:
Можем также удалить самого старого:
Теперь таблица имеет значения:
Сортировка удаляемых записей при помощи команды ORDER BY появилась в MySQL начиная с версии 4.0.
FROM table-references и USING ...
- Позволяют удалять записи сразу из нескольких таблиц руководствуясь многотабличным условием WHERE where_definition.
Следующие два примера равнозначны по производимым действиям и удаляют одинаковые записи в таблицах table_1 и table_2 и используя при поиске значений еще и таблицу table_3:
Аналогичный запрос:
Возможность многотабличного удаления записей появилась в MySQL начиная с версии 4.0.
См. также
Типы данных, используемые в базе данных MySQL
Создание базы данных MySQL (CREATE DATABASE)
Удаление базы данных MySQL (DROP DATABASE)
Создание таблицы в базе данных MySQL (CREATE TABLE)
Удаление таблицы из базы данных MySQL (DROP TABLE)
Переименование таблицы (ALTER TABLE RENAME)
Вставка столбцов (ALTER TABLE ADD)
Изменение свойств столбца (ALTER TABLE CHANGE)
Удаление столбцов (ALTER TABLE DROP)
Вставка строки в таблицу INSERT
Удаление строк из таблицы (DELETE FROM)
Обновление записей в таблице(UPDATE)
Поиск записей в таблице(SELECT)
Удаление записей осуществляется командой DELETE FROM.
Синтаксис оператора DELETE FROM
DELETE [LOW_PRIORITY | QUICK] FROM table_name
В В В В [WHERE where_definition]
В В В В [ORDER BY ...]
В В В В [LIMIT rows]
или
DELETE [LOW_PRIORITY | QUICK] table_name[.*] [,table_name[.*] ...]
В В В В FROM table-references
В В В В [WHERE where_definition]
или
DELETE [LOW_PRIORITY | QUICK]
В В В В FROM table_name[.*], [table_name[.*] ...]
В В В В USING table-references
В В В В [WHERE where_definition]
Команда DELETE удаляет из таблицы table_name все записи, удовлетворяющие условию where_definition. Если условие WHERE where_definition не задано, то из таблицы table_name удаляются все записи.
Команда DELETE возвращает количество удаленных записей.
Следует учитывать, что если в команде DELETE не задано условие WHERE where_definition, то команда возвратит 0, хотя записи были удалены.
Если все же необходимо удалить все записи и узнать их количество, то в условии where_definition нужно задать заведомо истинное значение:
DELETE FROM `users` WHERE1 =1
Но в этом случае выполнение команды происходит значительно медленнее.
LOW_PRIORITY
- Если указано это ключевое слово, то удаление записей из таблицы table_name не будет произведено до тех пор, пока другие процессы не закончат чтение их этой таблицы.
QUICK
- Если указано это ключевое слово, то при удалении записей обработчик таблицы не будет объединять индексы, что может ускорить операцию удаления.
table_name
- Имя таблицы в базе данных, из которой будет происходить удаление строк.
LIMIT
- Задает максимальное количество строк, которые могут быть удалены за текущий запрос.
Следующий запрос удалит из таблицы users только 5 строк:
DELETE FROM `users` LIMIT5
ORDER BY
- Задает имя поля, или имена полей через запятую, по которым происходит сортировка удаляемых записей.
Эта возможность актуальна при необходимости удалить только определенное кол-во записей, отсортированных по какому-либо свойству.
Следующий пример удалит из таблицы users запись самого молодого человека.
Допустим таблица users имеет следующий вид:
CREATE TABLE `users` ( `name` VARCHAR( 255В В ) NOT NULL,В В `age` SMALLINT( 3В В ) NOT NULL)
Запишем в нее несколько записей:
INSERT INTO `users` ( `name` ,В В `age` )VALUES( 'Миша', 25), ( 'Ксюша', 15), ( 'Настя', 12), ( 'Саша', 26), ( 'Дима', 30)
Таблица users имеет значения:
SELECT * FROM `users`
+-------+-----+
| nameВ В | age |
+-------+-----+
| МишаВ В |В В 25 |
| Ксюша |В В 15 |
| Настя |В В 12 |
| СашаВ В |В В 26 |
| ДимаВ В |В В 30 |
+-------+-----+
5 rows in set (0.00 sec)
Удаляем самого молодого:
DELETE FROM `users` ORDER BY `age` LIMIT1
Теперь таблица имеет значения:
SELECT * FROM `users`
+-------+-----+
| nameВ В | age |
+-------+-----+
| МишаВ В |В В 25 |
| Ксюша |В В 15 |
| СашаВ В |В В 26 |
| ДимаВ В |В В 30 |
+-------+-----+
4 rows in set (0.00 sec)
Можем также удалить самого старого:
DELETE FROM `users` ORDER BY `age` DESCLIMIT1
Теперь таблица имеет значения:
SELECT * FROM `users`
+-------+-----+
| nameВ В | age |
+-------+-----+
| МишаВ В |В В 25 |
| Ксюша |В В 15 |
| СашаВ В |В В 26 |
+-------+-----+
3 rows in set (0.00 sec)
Сортировка удаляемых записей при помощи команды ORDER BY появилась в MySQL начиная с версии 4.0.
FROM table-references и USING ...
- Позволяют удалять записи сразу из нескольких таблиц руководствуясь многотабличным условием WHERE where_definition.
Следующие два примера равнозначны по производимым действиям и удаляют одинаковые записи в таблицах table_1 и table_2 и используя при поиске значений еще и таблицу table_3:
DELETE `table_1` ,В В `table_2` FROM `table_1` ,В В `table_2` ,В В `table_3` WHERE `table_1`.`id`В В =В В `table_2`.`id`В В &&В В `table_2`.`id`В В =В В `table_3`.`id`
Аналогичный запрос:
DELETE FROM `table_1` ,В В `table_2` USING `table_1` ,В В `table_2` ,В В `table_3` WHERE `table_1`.`id`В В =В В `table_2`.`id`В В &&В В `table_2`.`id`В В =В В `table_3`.`id`
Возможность многотабличного удаления записей появилась в MySQL начиная с версии 4.0.
_________________________________________
См. также
Типы данных, используемые в базе данных MySQL
Создание базы данных MySQL (CREATE DATABASE)
Удаление базы данных MySQL (DROP DATABASE)
Создание таблицы в базе данных MySQL (CREATE TABLE)
Удаление таблицы из базы данных MySQL (DROP TABLE)
Переименование таблицы (ALTER TABLE RENAME)
Вставка столбцов (ALTER TABLE ADD)
Изменение свойств столбца (ALTER TABLE CHANGE)
Удаление столбцов (ALTER TABLE DROP)
Вставка строки в таблицу INSERT
Удаление строк из таблицы (DELETE FROM)
Обновление записей в таблице(UPDATE)
Поиск записей в таблице(SELECT)