Как удалить определенную строку в PostgreSQL?

PostgreSQL с использованием данных База данных

Когда мы говорим о хранении данных любого веб-сайта или приложения, на ум приходит postgresql. Эта база данных поддерживает запросы как JSON, так и SQL. Postgresql настраивается, и вы можете добавить множество сервисов и плагинов, которых, по вашему мнению, нет в postgresql, и они вам понадобятся для вашего проекта. Если вы хотите выбрать определенные строки для удаления, postgresql позволяет вам использовать команду с оператором Delete с командой «where». Здесь мы также привели последовательность примеров в psql и pgAdmin.

Синтаксис

DELETE FROM tablename WHERE condition;

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

Пример 1

Чтобы удалить данные из таблицы, у вас должна быть уже созданная таблица. Позже в статье мы обсудили метод создания и вставки значений в таблицу в соответствующем примере. В любом случае, пока что рассмотрим пример, в котором мы создали фиктивную таблицу с именем software. Это содержит все атрибуты программного обеспечения. Чтобы отобразить значения в таблице, вам потребуется команда выбора со знаком «*». Этот символ обозначает все данные.

>> select * from software;

Поскольку показано, что общее количество строк в таблице равно 6, мы удалим одну строку с ограничением. Идентификатор с 6 числами будет удален, если мы укажем это в запросе после «где». Это ключевое слово используется для применения условия к определенной строке или строкам таблицы. Теперь примените запрос.

>> Delete from software where id=6;

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

Чтобы проверить положение таблицы после удаления

Пример 2

Прежде чем перейти к какой-то сложной концепции. Вот несколько примерных ситуаций для создания таблицы, вставки значений и последующего применения команды удаления, имеющей два условия. Таблица с именем «sample1» создана. Имя каждого столбца дается с типом данных, который он будет использовать для получения значений. Посмотрим, как это работает.

>> create table sample1 (“id” int, “name” char(10), “age” int);

Таблица будет создана. После этого нам нужно добавить данные в таблицу через команду вставки. Эта команда содержит сразу все значения. Вы также можете использовать отдельные команды для ввода данных. В предыдущем примере мы удалили строку, используя одно условие, но предложение where содержит два условия. Строка указана, где id — 6, а возраст — 23.

>> delete from sample1 where id=6 AND age= 23;

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

Читайте также:  Агрегатные функции SQL: полное руководство

Пример 3

Вы должны быть знакомы с соотношением между двумя таблицами. Если не! Затем этот пример расширит вашу концепцию использования двух таблиц вместе в одном запросе. Вы увидите причастность к заявлению «СУЩЕСТВУЕТ». Этот оператор усложняет команду удаления. Иногда встречаются такие ситуации, когда нужно удалить запись в одной таблице в зависимости от другой таблицы. Вы узнаете, что условия «FROM» для этой цели недостаточно.

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

Данные обеих таблиц отображаются с помощью оператора выбора

Теперь применим команду удаления к программному обеспечению таблицы, потому что из таблицы «программное обеспечение» будет удалена строка, относящаяся к таблице «система».

>>DELETE FROM software where exists (select 1 from system where system.id = software.id AND system.name = software.name );

Первая позиция команды предназначена для «программной» таблицы, которая должна удалить строку из программного обеспечения. В то время как после части «существует» это для программного обеспечения стола. Этот запрос просит систему выбрать одну запись, в которой обе IDS таблиц совпадают с общим именем. Теперь вернитесь к таблицам, и вы обнаружите, что в программных и системных таблицах две строки имеют одинаковый идентификатор. Теперь есть еще одно ограничение, ограничение имени. Для одного и того же идентификатора существует два значения. Таким образом, система сопоставит имя с именем, указанным в «системной» таблице. Когда мы выполняем команду, она показывает, что 2 записи удалены.

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

Это означает, что «системная» таблица используется только для справки

Пример 4

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

>> delete from system where id = 9 Returning *;

Вы можете видеть, что строка с 9 идентификаторами удаляется и отображается как результат запроса. Точно так же у нас есть другой пример, в котором выбраны две строки. Эти строки записываются в одной команде в скобках. Синтаксис немного отличается, поскольку он включает добавление «IN» в команду. Команда записывается как.

>>Delete from system where id IN(2,3) Returning *;

Результат будет отображаться с двумя идентификаторами.

Читайте также:  SQL CREATE TABLE: Практическое руководство

Пример 5

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

>> delete from sample1

Другой способ удалить таблицу — использовать слово «drop» в названии таблицы.

Через pgAdmin

Панель управления postgresql — это pgAdmin. Мы также можем применить те же запросы к pgAdmin. После ввода пароля перейдите к левой панели навигации, выберите имя базы данных и перейдите к «инструменту запроса». Здесь вы можете написать запрос. Показать данные фиктивной таблицы ’sample’ с помощью команды select.

В выходной части страницы отображается результат.

В выходной части страницы отображается результат

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

Вместо того, чтобы писать весь запрос

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

Это отобразит сообщение о том, что команда выполнена

Точно так же вы можете добавить команду выбора для той же таблицы.

Точно так же вы можете добавить команду выбора для той же таблицы

Заключение

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

Оцените статью
bestprogrammer.ru
Добавить комментарий