Delete sql пример: SQL DELETE — удаление данных из таблицы базы данных

Содержание

SQL DELETE — удаление данных из таблицы базы данных

Оглавление Связанные темы

Оператор SQL DELETE предназначен для удаления данных из таблицы. Он имеет следующий синтаксис:

DELETE FROM ИМЯ_ТАБЛИЦЫ WHERE УСЛОВИЕ

Если не указывать условие, из таблицы будут удалены все строки. Кроме того, следует помнить, что могут быть удалены лишь строки с первичными ключами, на которые не ссылаются внешние ключи в других таблицах (более подробно об ограничениях удаления — в уроке Реляционная модель данных).

Если вы хотите выполнить запросы к базе данных из этого урока на MS SQL Server, но эта СУБД не установлена на вашем компьютере, то ее можно установить, пользуясь инструкцией по этой ссылке.

А скрипт для создания базы данных «Портал объявлений 1», её таблицы и заполения таблицы данных — в файле по этой ссылке

.

Пример 1. Итак, есть база портала объявлений. В ней есть таблица Ads, содержащая данные о объявлениях, поданных за неделю (более подробно — в уроке об агрегатных функциях SQL, пример 7). Таблица выглядит так:

IdCategoryPartUnitsMoney
1ТранспортАвтомашины11017600
2НедвижимостьКвартиры8918690
3НедвижимостьДачи5711970
4ТранспортМотоциклы13120960
5СтройматериалыДоски687140
6ЭлектротехникаТелевизоры1278255
7ЭлектротехникаХолодильники137 8905
8СтройматериалыРегипс11211760
9ДосугКниги966240
10НедвижимостьДома479870
11ДосугМузыка1177605
12ДосугИгры412665

Требуется удалить из таблицы строку, имеющую идентификатор 4. Для этого пишем следующий запрос (на MS SQL Server — с предваряющей конструкцией USE adportal1;):

DELETE FROM ADS WHERE Id=4

Пример 2. Можно удалить и несколько строк, если в условии применить оператор сравнения «больше» или «меньше» (на MS SQL Server — с предваряющей конструкцией USE adportal1;):

DELETE FROM ADS WHERE Id>4

В результате в таблице останутся лишь следующие строки:

IdCategoryPartUnitsMoney
5СтройматериалыДоски687140
6ЭлектротехникаТелевизоры1278255
7ЭлектротехникаХолодильники1378905
8СтройматериалыРегипс11211760
9ДосугКниги966240
10НедвижимостьДома479870
11ДосугМузыка1177605
12ДосугИгры412665

Пример 3. Аналогично можно удалять строки с заданными значениями любого столбца. Удалим, например, строки об объявлениях, за которые выручено менее 10000 денежных единиц (запрос на MS SQL Server — с предваряющей конструкцией USE adportal1;):

DELETE FROM ADS WHERE Money

В результате в таблице останутся лишь следующие строки:

IdCategoryPartUnitsMoney
1ТранспортАвтомашины11017600
2НедвижимостьКвартиры8918690
3НедвижимостьДачи5711970
4ТранспортМотоциклы13120960
8СтройматериалыРегипс11211760

Для удаления всех строк из таблицы применяется оператор SQL DELETE без условий, заданных в секции WHERE и без любых других ограничей и условий, например, диапазона удаляемых строк. Таким образом, для удаления всех строк синтаксис оператора DELETE будет следующим (на MS SQL Server — с предваряющей конструкцией USE adportal1;):

DELETE FROM ИМЯ_ТАБЛИЦЫ

Пример 4. Чтобы удалить все данные из таблицы ADS, достаточно написать следующий запрос:

DELETE FROM ADS

Если после выполнения этого запроса обратиться к таблице ADS при помощи оператора SELECT, применяемого для получения выборки данных, то будет выведено сообщение о том, что эта таблица не содержит данных.

Оператору DELETE без условий и ограничений аналогичен оператор TRUNCATE TABLE. Он также удаляет из таблицы все строки, но выполняется намного быстрее.

Пример 5. Запрос на удаление всех данных из таблицы ADS при помощи оператора TRUNCATE TABLE будет следующим (на MS SQL Server — с предваряющей конструкцией USE adportal1;):

TRUNCATE TABLE ADS

Примеры запросов к базе данных «Портал объявлений-1» есть также в уроках об операторах INSERT, UPDATE, HAVING и UNION.

Поделиться с друзьями

Команда DELETE — Язык запросов SQL

Команда DELETE

Команда DELETE удаляет строки из таблицы или представления основной таблицы базы данных, например, в MySQL, Oracle.

Команда DELETE. Синтаксис команды DELETE

Синтаксис команды DELETE

Команда DELETE. Основные ключевые слова и параметры команды DELETE

  • schema — идентификатор полномочий, обычно совпадающий с именем некоторого пользователя
  • table view — имя таблицы, из которой удаляются строки; если определяется представление, сервер удаляет строки из основной таблицы представления
  • subqueryподзапрос, с помощью которого выбираются строки для удаления; сервер выполняет подзапрос и использует строки его результата как таблицу фразы FROM
  • WHERE — удаляет только строки, которые удовлетворяют условию; условие может ссылаться на таблицу и содержать подзапрос.

При выдаче утверждения DELETE включается любой DELETE-триггер, определенный на таблице.
Команда DELETE Пример №1
Удаление всех строк из таблицы:

DELETE FROM temp_assign;

В данном примере команда DELETE удаляет все строки без исключения.
Команда DELETE Пример №2.
Удаляет из таблицы всех продавцов, у которых комиссионные меньше 100 у.е. в месяц:

DELETE FROM emp WHERE JOB = ‘SALESMAN’ AND COMM < 100;

В данном примере команда DELETE удаляет все строки, которые попадают под условие JOB = ‘SALESMAN’ AND COMM < 100;
Команда DELETE Пример №3
Предыдущий пример можно записать по-другому:

DELETE FROM (select * from emp) WHERE job = ‘SALESMAN’ AND comm < 100;

Для удаления всех записей в MySQL можно использовать следующую команду DELETE:

DELETE * FROM table_nam;

База Данных MySQL Инструкция DELETE удаления



Инструкция SQL DELETE

Инструкция DELETE используется для удаления существующих записей в таблице.

DELETE Синтаксис

DELETE FROM table_name
WHERE condition;

Примечание: Будьте внимательны при удалении записей в таблице! Обратите внимание на предложение WHERE в инструкции DELETE. Предложение WHERE указывает, какие записи должны быть удалены. Если опустить предложение WHERE, все записи в таблице будут удалены!


Демонстрационная база данных

Ниже приведен выбор из таблицы «Customers» в образце базы данных Northwind:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8 LuleåS-958 22Sweden


Пример удаления SQL

Следующая инструкция SQL удаляет клиента «альфредс футтеркисте» из таблицы «клиенты»:

Пример

DELETE FROM Customers
WHERE CustomerName=’Alfreds Futterkiste’;

Таблица «Customers» теперь будет выглядеть так:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

Удалить все записи

Можно удалить все строки в таблице без удаления таблицы. Это означает, что структура таблицы, атрибуты и индексы будут нетронутыми:

Или:

DELETE * FROM table_name;


SQL — запрос DELETE

Запрос DELETE используется для удаления существующих записей из таблицы.

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

Синтаксис:

Базовый синтаксис DELETE запроса с WHERE выглядит следующим образом:

DELETE FROM table_name
WHERE [condition];

 

Вы можете объединить N число условий с помощью операторов AND или OR.

Пример:

Рассмотрим таблицу CUSTOMERS, имеющую следующие записи:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Maxim    |  35 | Moscow    | 21000.00 |
|  2 | AndreyEx |  38 | Krasnodar | 55500.00 |
|  3 | Oleg     |  33 | Rostov    | 34000.00 |
|  4 | Masha    |  35 | Moscow    | 31500.00 |
|  5 | Ruslan   |  34 | Omsk      | 43000.00 |
|  6 | Dima     |  32 | SP        | 45000.00 |
|  7 | Roma     |  34 | SP        | 10000.00 |
+----+----------+-----+-----------+----------+

 

Ниже приведен пример, который бы удалил из таблицы CUSTOMERS строку, идентификатор равной 6:

SQL> DELETE FROM CUSTOMERS
WHERE ID = 6;

 

Теперь таблица CUSTOMERS будет иметь следующие записи:

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Maxim    |  35 | Moscow    | 21000.00 |
|  2 | AndreyEx |  38 | Krasnodar | 55500.00 |
|  3 | Oleg     |  33 | Rostov    | 34000.00 |
|  4 | Masha    |  35 | Moscow    | 31500.00 |
|  5 | Ruslan   |  34 | Omsk      | 43000.00 |
|  7 | Roma     |  34 | SP        | 10000.00 |
+----+----------+-----+-----------+----------+

 

Если вы хотите УДАЛИТЬ все записи из таблицы CUSTOMERS, вам не нужно использовать WHERE и запрос DELETE будет выглядеть следующим образом:

SQL> DELETE FROM CUSTOMERS;

 

Теперь таблица КЛИЕНТОВ не будет иметь никаких записей.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Оператор DELETE (Microsoft Access SQL)

  • Статья
  • Чтение занимает 2 мин
Были ли сведения на этой странице полезными?

Оцените свои впечатления

Да Нет

Хотите оставить дополнительный отзыв?

Отзывы будут отправляться в корпорацию Майкрософт. Нажав кнопку «Отправить», вы разрешаете использовать свой отзыв для улучшения продуктов и служб Майкрософт. Политика конфиденциальности.

Отправить

В этой статье

Область применения: Access 2013, Office 2013

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

Синтаксис

DELETE [table.*] FROM table WHERE criteria

Оператор DELETE состоит из следующих частей:

Часть

Описание

table

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

table

Имя таблицы, из которой удаляются записи.

criteria

Выражение, определяющее, какие записи нужно удалить.

Комментарии

DELETE особенно полезен, если вы хотите удалить большое количество записей.

Чтобы удалить всю таблицу из базы данных, можно использовать метод Execute с оператором DROP. Однако, если удалить таблицу, может потеряться структура. С другой стороны при использовании DELETE удаляются только данные; а структура таблицы и все ее свойства, такие как атрибуты поля и индексы, остаются нетронутыми.

Вы можете использовать DELETE, чтобы удалить записи из таблиц, которые находятся в связи «один ко многим» с другими таблицами. Операции каскадного удаления вызывают удаление записей в таблицах, расположенных на стороне многих связей, при удалении соответствующей записи на стороне одной связи при запросе. Например, в связи между таблицами Клиенты и Заказы, таблица Клиенты находится на стороне одной связи, а таблица Заказы находится на стороне многих связей. Удаление записи из результатов клиентов в соответствующих записях заказов, удаляемых в случае, если указан параметр каскадного удаления.

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

Важно!

  • Удаление записи, выполненное с помощью запроса на удаление, нельзя отменить. Чтобы узнать, какие записи будут удалены, сначала изучите результаты запроса на выборку, который использует те же критерии, и только после этого запустите запрос на удаление.
  • Сохраняйте резервные копии ваших данных в любое время. Если вы удалили не те записи, вы сможете восстановить их из резервных копий.

Пример

В этом примере будут удалены все записи для сотрудников, чья должность — стажер. Если оператор FROM содержит только одну таблицу, нет необходимости перечислять имя таблицы в операторе DELETE.

    Sub DeleteX() 
     
        Dim dbs As Database, rst As Recordset 
     
        ' Modify this line to include the path to Northwind 
        ' on your computer. 
        Set dbs = OpenDatabase("Northwind.mdb") 
     
        ' Delete employee records where title is Trainee.     
        dbs.Execute "DELETE * FROM " _ 
            & "Employees WHERE Title = 'Trainee';" 
         
        dbs.Close 
     
    End Sub

SQL Инструкция DELETE



SQL DELETE

Инструкция DELETE используется для удаления существующих записей в таблице.

Синтаксис DELETE

DELETE FROM table_name WHERE condition;

Примечание: Будьте осторожны при удалении записей в таблице! Обратите внимание на предложение WHERE в инструкции DELETE. Предложение WHERE указывает, какие записи должны быть удалены. Если вы опустите предложение WHERE, то все записи в таблице будут удалены!


Демо база данных

Ниже приведен выбор из таблицы «Customers» в образце базы данных Northwind:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
1Alfreds FutterkisteMaria AndersObere Str. 57Berlin12209Germany
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden


Пример SQL DELETE

Следующая инструкция SQL удаляет клиента «Alfreds Futterkiste» из таблицы «Customers»:

Таблица «Customers» теперь будет выглядеть так:

CustomerIDCustomerNameContactNameAddressCityPostalCodeCountry
2Ana Trujillo Emparedados y heladosAna TrujilloAvda. de la Constitución 2222México D.F.05021Mexico
3Antonio Moreno TaqueríaAntonio MorenoMataderos 2312México D.F.05023Mexico
4Around the HornThomas Hardy120 Hanover Sq.LondonWA1 1DPUK
5Berglunds snabbköpChristina BerglundBerguvsvägen 8LuleåS-958 22Sweden

Удалить все записи

Можно удалить все строки в таблице, не удаляя саму таблицу. Это означает, что структура таблицы, атрибуты и индексы останутся нетронутыми:

Следующая инструкция SQL удаляет все строки в таблице «Customers», не удаляя таблицу:



Оператор delete sql или запрос на удаление данных из таблиц

На уроке будет рассмотрен оператор Delete SQL, служащий для удаления записей таблиц, а также оператор Update sql, предназначенный для обновления данных. Будут разобраны конкретные примеры запросов

Запросы sql на удаление

Оператор Delete («удалить» — пер. с английского) удаляет записи из таблицы БД.

Синтаксис:

DELETE FROM <таблица> [WHERE <условие>];

DELETE FROM <таблица> [WHERE <условие>];

Пример: БД Институт. Запрос на удаление урока за определенную дату (за 02.10.2016)

✍ Решение: 

Исходные данные:
DELETE FROM lessons
  WHERE lessons.date ='2016-10-02'

Delete from lessons where lessons.date =’2016-10-02′

Результат:

sql delete 1. БД Институт. Выполните запрос на удаление курса с названием «Математика» (таблица courses)

Важно: Если предложение WHERE в запросе отсутствует, то удаляются все строки из таблицы

Пример: БД Компьютерный магазин. Требуется удалить те компьютеры из таблицы product, для которых нет соответствующих строк в таблице pc.

✍ Решение: 

DELETE FROM `product` 
  WHERE `Тип`="Компьютер" AND `Номер` NOT IN 
   (SELECT `Номер` FROM pc)

DELETE FROM `product` WHERE `Тип`=»Компьютер» and `Номер` NOT IN (select `Номер` from pc)

Оператор Update sql

Запрос предназначен для обновления (изменения) существующих данных. Update в переводе с английского языка — обновить.

Пример: БД Институт. Увеличить зарплату всех учителей в 2 раза, а премию — в 10 раз

✍ Решение: 

UPDATE teachers
  SET
  zarplata = zarplata * 2,
  premia = premia * 10

UPDATE teachers SET zarplata = zarplata * 2, premia = premia * 10

Исходные данные:

Результат:

sql update 1. БД Институт. Увеличить в полтора раза зарплату у учителей, фамилия которых начинается на букву И.

sql update 2. БД Компьютерный магазин. Изменить значение поля Память у компьютеров, память которых менее 1024, установить его в 1024.

Важно: При отсутствии предложения WHERE будут обновлены все строки таблицы

Заявление SQL DELETE


Оператор SQL DELETE

Оператор DELETE используется для удаления существующих записей в таблице.

УДАЛИТЬ Синтаксис

УДАЛИТЬ ИЗ имя_таблицы ГДЕ условие ;

Примечание: Будьте осторожны при удалении записей в таблице! Обратите внимание на Предложение WHERE в УДАЛИТЬ выписку. Предложение WHERE определяет, какие записи следует удалить.Если если опустить предложение WHERE , все записи в таблице будут удалены!


Демо-база данных

Ниже представлен выбор из таблицы «Клиенты» в примере Northwind. база данных:

Идентификатор клиента Имя клиента ContactName Адрес Город Почтовый индекс Страна
1 Альфредс Футтеркисте Мария Андерс Обере, ул.57 Берлин 12209 Германия
2 Ana Trujillo Emparedados y helados Ана Трухильо Avda. de la Constitución 2222 México D.F. 05021 Мексика
3 Антонио Морено Такерия Антонио Морено Матадерос 2312 México D.F. 05023 Мексика
4 Вокруг Рога Томас Харди 120 Ганновер пл. Лондон WA1 1DP Великобритания
5 Berglunds snabbköp Кристина Берглунд Berguvsvägen 8 Лулео С-958 22 Швеция


Пример SQL DELETE

Следующий оператор SQL удаляет клиента «Alfreds Futterkiste» из Таблица «Покупатели»:

Пример

УДАЛИТЬ ОТ клиентов ГДЕ CustomerName = ‘Альфред Футтеркисте’;

Попробуй сам »

Таблица «Клиенты» теперь будет выглядеть так:

Идентификатор клиента Имя клиента ContactName Адрес Город Почтовый индекс Страна
2 Ana Trujillo Emparedados y helados Ана Трухильо Avda.de la Constitución 2222 México D.F. 05021 Мексика
3 Антонио Морено Такерия Антонио Морено Матадерос 2312 México D.F. 05023 Мексика
4 Вокруг Рога Томас Харди 120 Ганновер пл. Лондон WA1 1DP Великобритания
5 Berglunds snabbköp Кристина Берглунд Berguvsvägen 8 Лулео С-958 22 Швеция

Удалить все записи

Можно удалить все строки в таблице, не удаляя таблицу.Этот означает, что структура таблицы, атрибуты и индексы останутся без изменений:

Следующий оператор SQL удаляет все строки в таблице «Клиенты», без удаления таблицы:




SQL Server DELETE — удаление одной или нескольких строк из таблицы

Сводка : в этом руководстве вы узнаете, как использовать оператор SQL Server DELETE для удаления одной или нескольких строк из таблицы.

Введение в SQL Server

Оператор DELETE

Чтобы полностью удалить одну или несколько строк из таблицы, используйте оператор DELETE .Следующее иллюстрирует его синтаксис:

 

DELETE [TOP (выражение) [PERCENT]] FROM table_name [WHERE search_condition];

Язык кода: SQL (язык структурированных запросов) (sql)

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

Например, следующий оператор удалит все строки из target_table :

 

DELETE FROM target_table;

Язык кода: SQL (язык структурированных запросов) (sql)

Во-вторых, чтобы указать количество или процент случайных строк, которые будут удалены, вы используете предложение TOP .

Например, следующий оператор DELETE удаляет 10 случайных строк из target_table :

 

DELETE TOP 10 FROM target_table;

Язык кода: SQL (язык структурированных запросов) (sql)

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

Точно так же вы можете удалить 10 процентов случайных строк, используя следующий оператор DELETE :

 

DELETE TOP 10 PERCENT FROM target_table;

Язык кода: SQL (язык структурированных запросов) (sql)

В-третьих, практически говоря, вы редко удаляете все строки из таблицы, а только одну или несколько строк.В этом случае вам необходимо указать search_condition в предложении WHERE , чтобы ограничить количество удаляемых строк.

Строки, из-за которых search_condition оценивается как истинное, будут удалены.

Предложение WHERE является необязательным. Если вы его пропустите, оператор DELETE удалит все строки из таблицы.

SQL Server

DELETE примеры операторов

Давайте создадим новую таблицу для демонстрации.

Следующий оператор создает таблицу с именем production.product_history с данными, скопированными из таблицы production.products :

 

SELECT * INTO production.product_history ОТ production.products;

Язык кода: SQL (язык структурированных запросов) (sql)

Следующий запрос возвращает все строки из таблицы product_history :

 

SELECT * FROM production.product_history;

Язык кода: SQL (язык структурированных запросов) (sql)

Как ясно видно из выходных данных, всего у нас 321 строка.

1) Удалить количество случайных строк, пример

Следующий оператор DELETE удаляет 21 случайную строку из таблицы product_history :

 

DELETE TOP (21) ИЗ production.product_history;

Язык кода: SQL (язык структурированных запросов) (sql)

Вот сообщение, выданное SQL Server:

 

(затронута 21 строка)

Язык кода: SQL (язык структурированных запросов) (sql)

Это означает, что 21 строка была удалена.

2) Удалить процент случайных строк, пример

Следующий оператор DELETE удаляет 5 процентов случайных строк из таблицы product_history :

 

DELETE TOP (5) PERCENT ИЗ production.product_history;

Язык кода: SQL (язык структурированных запросов) (sql)

SQL Server выдал следующее сообщение, указывающее, что 15 строк (300 x 5% = 15) были удалены.

 

(затронуто 15 рядов)

Язык кода: SQL (язык структурированных запросов) (sql)

3) Удаление некоторых строк с примером условия

Следующий оператор DELETE удаляет все продукты с модельным годом 2017:

 

DELETE ОТ производство.product_history ГДЕ model_year = 2017;

Язык кода: SQL (язык структурированных запросов) (sql)

Вот выходное сообщение:

 

(затронуто 75 строк)

Язык кода: SQL (язык структурированных запросов) (sql)

4) Удалить все строки из примера таблицы

Следующий оператор DELETE удаляет все строки из таблицы product_history :

 

DELETE ОТ ПРОИЗВОДСТВА.product_history;

Язык кода: SQL (язык структурированных запросов) (sql)

Обратите внимание, что если вы хотите удалить все строки из большой таблицы, вы должны использовать оператор TRUNCATE TABLE , который работает быстрее и эффективнее.

В этом руководстве вы узнали, как использовать оператор SQL Server DELETE для удаления одной или нескольких строк из таблицы.

SQL | Оператор DELETE — GeeksforGeeks


Оператор DELETE в SQL используется для удаления существующих записей из таблицы.Мы можем удалить одну запись или несколько записей в зависимости от условия, которое мы указываем в предложении WHERE.

Базовый синтаксис:

Вниманию читателя! Не прекращайте учиться сейчас. Изучите SQL для собеседований с помощью курса SQL от GeeksforGeeks.

 УДАЛИТЬ ИЗ имя_таблицы ГДЕ некоторое_условие;

  table_name : имя таблицы
  some_condition : условие выбора конкретной записи.
 

Примечание: Мы можем удалять как отдельные, так и несколько записей в зависимости от условия, указанного в предложении WHERE.Если мы опустим предложение WHERE, все записи будут удалены, а таблица будет пустой.

Образец таблицы:


Примеры запросов:

  • Удаление отдельной записи : Удалите строки, в которых ИМЯ = «Ram». Это удалит только первую строку.
     УДАЛИТЬ ОТ ученика, ГДЕ ИМЯ = «Баран»;
     

    Вывод:
    Приведенный выше запрос удалит только первую строку, и таблица Студент теперь будет выглядеть так:

    ROLL_NO ИМЯ АДРЕС ТЕЛЕФОН Возраст
    2 RAMESH GURGAON XXXXXXXXXX 18
    3 СУДЖИТ ROHTAK XXXXXXXXXX Дели XXXXXXXXXX 18
    3 СУДЖИТ ROHTAK XXXXXXXXXX 20
    2 RAMESH GURGAON XXXXXXX5 несколько записей : удалить строки из таблицы e Учащийся 20 лет.Это удалит 2 строки (третья строка и пятая строка).
     УДАЛИТЬ ОТ ученика ГДЕ Возраст = 20;
     

    Вывод:
    Приведенный выше запрос удалит две строки (третья строка и пятая строка), и таблица Student теперь будет выглядеть так:

    4
    ROLL_NO NAME ADDRESS ТЕЛЕФОН Возраст
    1 Оперативная память Дели XXXXXXXXX 18
    2 RAMESH GURGAON XXXXXX52
    SURESH Delhi XXXXXXXXXX 18
    2 RAMESH GURGAON XXXXXXXXXX 18
  • Удалить все записи это, как показано ниже,
     query1: «УДАЛИТЬ ОТ ученика»;
    
    query2: «УДАЛИТЬ * ОТ ученика»;
     

    Вывод:
    Все записи в таблице будут удалены, не останется записей для отображения.Стол Студент станет пустым!

  • SQL Quiz

    Эта статья предоставлена ​​ Harsh Agarwal . Если вам нравится GeeksforGeeks и вы хотите внести свой вклад, вы также можете написать статью, используя write.geeksforgeeks.org, или отправить свою статью по адресу [email protected]. Посмотрите, как ваша статья появляется на главной странице GeeksforGeeks, и помогите другим гикам.

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

    SQL DELETE — удаление данных в таблице или нескольких таблицах

    Сводка : в этом руководстве вы узнаете, как использовать оператор SQL DELETE для удаления одной или нескольких строк в таблице.

    Оператор DELETE навсегда удаляет одну или несколько строк в таблице. Синтаксис оператора DELETE следующий:

     

    DELETE FROM table ГДЕ состояние;

    Чтобы удалить одну или несколько строк в таблице:

    • Сначала вы указываете имя таблицы, из которой вы хотите удалить данные, в предложении DELETE FROM .
    • Во-вторых, вы помещаете условие в предложение WHERE, чтобы указать, какие строки следует удалить. Если вы опустите предложение WHERE , оператор удалит все строки в таблице.

    Если вы хотите удалить все строки в большой таблице, вы должны использовать оператор TRUNCATE TABLE, который более эффективен, чем оператор DELETE .

    Примеры SQL DELETE

    Давайте рассмотрим несколько примеров использования оператора DELETE.

    SQL DELETE — удаление одной строки в таблице

    Следующий оператор удаляет сотрудника с идентификатором 3 из таблицы сотрудников :

     

    УДАЛИТЬ ИЗ сотрудников ГДЕ employeeID = 3;

    SQL DELETE — удаление всех строк в таблице

    Чтобы удалить все строки в таблице employee , вы просто выполните следующий запрос: (не рекомендуется и сделайте резервную копию перед этим)

     

    DELETE ОТ сотрудников;

    SQL DELETE — удаление связанных строк в нескольких таблицах

    Это становится более сложным, когда вы хотите удалить строку в таблице, которая связана с другими строками в другой таблице.

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

    При удалении строки в таблице сотрудников необходимо также удалить связанные строки в таблице территорий сотрудников . Для этого необходимо выполнить два оператора DELETE следующим образом:

     

    DELETE FROM сотрудников ГДЕ employeeID = 3;

     

    УДАЛИТЬ С территории сотрудников WHERE employeeID = 3

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

    В случае, если система управления базой данных не поддерживает ограничение внешнего ключа, вы должны выполнить оба оператора DELETE в одной транзакции, чтобы убедиться, что операторы выполняются в режиме «все или ничего».

    В этом руководстве мы показали вам, как использовать оператор SQL DELETE для удаления одной или нескольких строк в таблице.

    Как удалить записи с помощью Delete в SQL

    Управление данными может быть сложной задачей, учитывая огромные объемы данных, с которыми приходится иметь дело. Любой, кто управляет данными, знает, что иногда нам нужно удалить некоторые данные из нашей базы данных из-за изменений в реальном мире. Например, когда магазин прекращает продажу товара, его запись удаляется из базы данных инвентаризации. Это делается с помощью команды SQL Delete. Эта команда является важной и неотъемлемой частью этого языка запросов.

    Что такое удаление в SQL?

    Команда «Удалить» в SQL является частью языка обработки данных, подъязыка SQL, который позволяет изменять данные в базах данных. Эта команда используется для удаления существующих записей из таблицы. Используя это, вы можете удалить определенные записи на основе условия или все записи из таблицы.

    ПРИМЕЧАНИЕ: Крайне важно быть полностью уверенным в использовании этой команды, поскольку она удаляет данные безвозвратно.

    Чтобы начать использовать команду «Удалить», нам необходимо знать ее синтаксис.

    Программа аспирантуры по бизнес-анализу
    В партнерстве с Университетом Пердью

    Синтаксис для использования команды удаления SQL

    УДАЛИТЬ ИЗ имя_таблицы

    ГДЕ [условие];

    • Таблица, из которой мы хотим удалить строки, указывается в параметре table_name оператора DELETE FROM.
    • Существует необязательное предложение WHERE, в котором мы можем указать условие, согласно которому строки должны быть удалены.

    ПРИМЕЧАНИЕ. Следует проявлять особую осторожность с предложением WHERE, поскольку без него все строки из таблицы будут удалены.

    В предложении WHERE можно указать несколько условий с помощью операторов AND и OR.

    Давайте применим концепции, изложенные выше, к строкам таблицы.

    Удаление определенных строк на основе одного условия

    Возьмем образец таблицы «Employee_details»;

    • Из приведенной выше таблицы, чтобы удалить запись сотрудника с «EmployeeID», равным единице, мы воспользуемся следующим запросом:

    • Чтобы проверить результат запроса в таблице выше, мы воспользуемся командой «SELECT *»:

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

    • Из приведенной выше таблицы нам нужно удалить запись сотрудника с именем «Арун»:

    Как мы видим, «Имя» имеет тип данных символьной строки, поэтому указанное значение должно быть заключено в одиночные кавычки, без которых система вернет синтаксическую ошибку.

    Результатом вышеуказанного запроса будет следующее:

    • Мы также можем удалить несколько строк с помощью одного запроса.

    Из приведенной выше таблицы нам нужно удалить все записи сотрудников с окладом менее 60000:

    Это приведет к следующему:

    Как видим, удалены четыре строки.

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

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

    Мы можем использовать операторы AND и OR для объединения нескольких условий в предложении WHERE команды DELETE.

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

    Из нашего образца таблицы «Employee_details», чтобы удалить все записи сотрудников, в которых имя сотрудника — «Аджай» или город — «Ченнаи»:

    Это приведет к следующему:

    Как мы видим, обе строки, удовлетворяющие любому из условий, были удалены.

    • При использовании оператора AND удаляются только строки, удовлетворяющие обоим указанным условиям.

    Из приведенной выше таблицы нам нужно удалить все записи для сотрудников, которые принадлежат «Бангалору» и имеют зарплату менее 50000:

    Это приведет к следующему:

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

    Давайте посмотрим, что произойдет, если мы не будем использовать предложение WHERE.

    Магистерская программа для бизнес-аналитиков
    Получите знания в области инструментов бизнес-аналитикиПросмотрите программу

    Удаление всех записей из таблицы

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

    • Без предложения WHERE все записи таблицы удаляются. Если не сделать это намеренно, это может вызвать множество проблем.

    Чтобы удалить все записи из нашей таблицы «Employee_details», воспользуемся следующим запросом:

    Чтобы проверить, все ли записи удалены, воспользуемся командой SELECT:

    Как мы видим, команда SELECT возвращает пустой набор, поскольку все записи из таблицы «Employee_details» были удалены.

    • Мы также можем использовать команду TRUNCATE для удаления всех записей из таблицы.

    Это часть языка определения данных, подъязыка SQL, который позволяет создавать и изменять объекты базы данных. Синтаксис этой команды:

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

    Чтобы удалить все записи из таблицы «Employee_details»:

    Чтобы проверить, все ли записи удалены:

    Как мы видим, записи были удалены, и таблица возвращает пустой набор.

    Получите знания о новейших инструментах и ​​методах бизнес-аналитики с помощью магистерской программы Business Analyst. Запишитесь сейчас!

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

    Удаление записей из таблиц и баз данных — огромная часть управления данными. Иногда мы вставляем неправильные данные или данные в таблице устаревают и требуют модификации, все это требует помощи Delete в SQL.

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

    Теперь, когда вы знаете, как удалять существующие записи, пора вам начать изучать другие команды SQL, чтобы вы могли начать манипулировать и запрашивать данные и продвигаться вперед в своем пути, чтобы стать экспертом в SQL. Если вам понравилась эта статья, вы должны ознакомиться с нашей магистерской программой для бизнес-аналитиков, поскольку она также охватывает А-Я SQL.

    У вас есть к нам вопросы? Упомяните их в разделе комментариев нашей статьи «Удаление в SQL», и наши специалисты ответят на них за вас.

    Оператор удаления строки SQL — Как удалить данные из таблицы с примерами запросов

    Я не сомневаюсь в том, насколько мне нравится работать с SQL как в моих профессиональных, так и в личных проектах.

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

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

    Хотя я отмечаю его отказоустойчивость (SQL был создан в 1974 году с первоначальной версией 1986 года) в сообществе разработчиков, я также знаю, что при работе с данными может казаться, что даже основы могут вызывать стресс и пугать.

    Я здесь, чтобы (надеюсь) пролить свет на один из основных принципов работы с данными: удаление всей строки данных.

    Хотя мы не собираемся подробно описывать процесс создания таблицы в SQL или заполнения этой таблицы данными / обновления этих данных, я связал эти другие статьи на случай, если вы хотите узнать больше или просто нуждаетесь в освежить.

    Хорошо, теперь самое интересное — приступим к удалению данных из таблицы!

    Обзор строки удаления SQL

    Вот таблица с метким названием Cute_Doggos , которую мы будем использовать в качестве примера для начала удаления данных из:

    Имя Цвет Порода Возраст Вес Высота Fav_Food Игрушка Fav_Toy Дизлайки Аллергия
    ромашка красный Такса стандартная 1 год 14 6 Кусок со вкусом лосося скрипучий мяч птицы летают над двором кошки, бани, чистота
    Уинстон черный / коричневый ротвейлер 3 года 41 17 буквально все, что угодно буксир не вставать с дивана слушает, ведет себя, не слюнявит на всем
    Сэмми светлый мед золотистый ретривер 9 лет 46 19 Кусочки со вкусом говядины ее кровать безрадостных щенков неизвестно
    пенелопа серый и белый хаски 9 месяцев 16 12 старые туфли снаружи питомник неизвестно

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

    Как и в большинстве случаев технического характера, не помешает также проверить официальную документацию. Если вы хотите это сделать, у Microsoft есть отличная подробная информация об операторе SQL Delete.

    В основе статьи — удаление данных. Действие так же просто, как само имя, и вот его базовый синтаксис:

    УДАЛИТЬ ИЗ имя_таблицы

    *** С помощью этого синтаксиса вы удалите все строки данных во всей таблице. ***

    Итак, для В приведенной выше таблице в качестве примера запрос будет выглядеть следующим образом:

    DELETE FROM Cute_Doggos

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

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

    В качестве примечания: если ваша предполагаемая цель — удалить все строки в таблице, более быстрым подходом будет использование оператора TRUNCATE TABLE, поскольку он использует гораздо меньше системных ресурсов.

    Пример запросов на удаление

    В подавляющем большинстве случаев, когда вы используете функцию удаления, вы захотите, чтобы ваш подход был более целенаправленным.Для этого мы добавим условие, и синтаксис будет выглядеть так:

    УДАЛИТЬ ИЗ name_of_table WHERE conditions_exist

    Используя нашу таблицу собак выше, наш запрос будет выглядеть так:

    DELETE FROM Cute_Doggos WHERE dbo.Cute_Doggos.Height> 18

    Это приведет к удалению всех записей из нашей таблицы, которые соответствуют нашему условию, когда высота больше 18 . А если вы используете Microsoft SQL Server Manager, вы получите следующий оператор возврата:

    (затронута 1 строка)

    Если вы хотите увидеть строки данных, которые были удалены (для целей ведения журнала) , визуальные указания для пользователей и т. д.), мы можем использовать оператор OUTPUT , чтобы сделать именно это.

    Теперь наша таблица будет выглядеть так:

    Имя Цвет Порода Возраст Вес Высота Fav_Food Игрушка Fav_Toy Дизлайки Аллергия
    ромашка красный Такса стандартная 1 год 14 6 Кусок со вкусом лосося скрипучий мяч птицы летают над двором кошки, бани, чистота
    Уинстон черный / коричневый ротвейлер 3 года 41 17 буквально все, что угодно буксир не вставать с дивана слушает, ведет себя, не слюнявит на всем
    пенелопа серый и белый хаски 9 месяцев 16 12 старые туфли снаружи питомник неизвестно

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

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

    DELETE TOP 2 FROM Cute_Doggos

    Вы могли подумать, что этот запрос удалит самые первые две записи в вашей таблице — и вы не так уж и далеко. Единственная проблема заключается в том, что поскольку SQL хранит записи в случайном порядке, этот синтаксис удалит из таблицы 2 RANDOM записей.

    Если вы хотите удалить процент записей, SQL также может это сделать:

    УДАЛИТЬ 25 ПРОЦЕНТОВ ВЕРХНИХ ИЗ Cute_Doggos

    Опять же, этот запрос удалит RANDOM записей.В нашем примере, поскольку у нас есть 4 записи, этот запрос удалит 1 случайную запись (4 * 0,25 = 1).

    В качестве последнего примечания, при использовании ключевого слова TOP мы не можем использовать предложение ORDER BY из-за случайности хранения записей.

    Завершение

    Теперь, когда вы увидели оператор DELETE в действии, вы готовы выйти на улицу и извлечь все данные из всех таблиц! Может быть, не делайте этого, так как это продлится долгие выходные восстановления из резервных копий 🙂

    В любом случае, теперь вы готовы начать использовать его с пользой.

    Если вы нашли эту статью полезной, загляните в мой блог (в настоящее время я перестраиваю его в Gatsby / WordPress, так что ждите статьи об этом), где я часто публикую статьи о веб-разработке, жизни и обучении.

    Пока вы там, почему бы не подписаться на мою рассылку новостей? Вы можете сделать это в правом верхнем углу главной страницы блога. Мне нравится присылать интересные статьи (свои и другие), ресурсы и инструменты для разработчиков время от времени.

    Если у вас есть вопросы по этой статье или просто дайте мне знать — приходите поздороваться в Twitter или в любой из моих других социальных сетей, которые вы можете найти под рассылкой новостей, подпишитесь на главной странице моего блога или в моем профиле здесь, на freeCodeCamp 🙂

    Хорошего дня! Удачного обучения и удачного программирования, друг.

    Операторы SQL DELETE, TRUNCATE, DROP

    Оператор DELETE используется для удаления строк из таблицы.

    Синтаксис оператора SQL DELETE

    УДАЛИТЬ ИЗ имя_таблицы [условие ГДЕ];

    • table_name — имя таблицы, которую необходимо обновить.

    ПРИМЕЧАНИЕ. Предложение WHERE в команде sql delete является необязательным и определяет строки в столбце, который удаляется.Если вы не включили предложение WHERE, все строки в таблице будут удалены, поэтому будьте осторожны при написании запроса DELETE без предложения WHERE.

    Пример SQL DELETE

    Чтобы удалить сотрудника с идентификатором 100 из таблицы сотрудников, запрос на удаление sql будет иметь вид

    УДАЛИТЬ ОТ сотрудника, ГДЕ id = 100;

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

    УДАЛИТЬ ОТ сотрудника;

    Команда SQL TRUNCATE используется для удаления всех строк из таблицы и освобождения пространства, содержащего таблицу.

    Синтаксис TRUNCATE таблицы:

    TRUNCATE TABLE имя_таблицы;

    Пример инструкции SQL TRUNCATE

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

    Сотрудник TRUNCATE TABLE;

    Разница между операторами DELETE и TRUNCATE:

    Оператор DELETE: Эта команда удаляет только строки из таблицы на основе условия, указанного в предложении where, или удаляет все строки из таблицы, если условие не указано.Но это не освобождает пространство, в котором находится стол.

    Оператор TRUNCATE: Эта команда используется для удаления всех строк из таблицы и освобождения пространства, содержащего таблицу.

    Команда SQL DROP используется для удаления объекта из базы данных. Если вы отбрасываете таблицу, все строки в таблице удаляются, а структура таблицы удаляется из базы данных. После удаления таблицы мы не сможем ее вернуть, поэтому будьте осторожны при использовании команды DROP. Когда таблица удаляется, все ссылки на нее становятся недействительными.

    Синтаксис для удаления структуры таблицы sql:

    DROP TABLE имя_таблицы;

    Пример инструкции SQL DROP

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

    Сотрудник DROP TABLE;

    Разница между операторами DROP и TRUNCATE:

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

    Оставить комментарий

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

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

    © 2019 Штирлиц Сеть печатных салонов в Перми

    Цифровая печать, цветное и черно-белое копирование документов, сканирование документов, ризография в Перми.