Вставить строку, если значения уже не существуют в Postgresl

Insert Row If Values Don T Already Exist Postgresl



Знание систем управления базами данных и управление ими познакомило нас с изменениями в базах данных. Что обычно включает в себя создание, вставку, обновление и удаление функций, применяемых к определенным таблицам. В текущей статье мы увидим, как данные обрабатываются методом вставки. Нам необходимо создать таблицу, в которую мы хотим вставить. Оператор Insert используется для добавления новых данных в строки таблиц. Оператор вставки PostgreSQL описывает некоторые правила успешного выполнения запроса. Во-первых, мы должны указать имя таблицы, а затем имена столбцов (атрибутов), в которые мы хотим вставить строки. Во-вторых, мы должны ввести значения через запятую после предложения VALUE. Наконец, каждое значение должно быть в том же порядке, что и последовательность списков атрибутов, указанная при создании конкретной таблицы.

Синтаксис

>> ВСТАВЛЯТЬ ВTABLENAME(column1,столбец) ЦЕННОСТИ («Значение1», «значение2»);

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







Вставка строковых функций в оболочку PostgreSQL (psql)

После успешной установки postgresql мы введем имя базы данных, номер порта и пароль. Psql будет запущен. Затем мы будем выполнять запросы соответственно.





Пример 1: Использование INSERT для добавления новых записей в таблицы
Следуя синтаксису, мы создадим следующий запрос. Чтобы вставить строку в таблицу, мы создадим таблицу с именем customer. Соответствующая таблица содержит 3 столбца. Следует указать тип данных конкретных столбцов, чтобы ввести данные в этот столбец и избежать избыточности. Запрос на создание таблицы:





>> Создайте столпокупатель(я быint,имя варчар (40), странаварчар (40));

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



>> вставлять впокупатель(я бы,имя, страна) ценности ('1',«Алия», «Пакистан»);

После каждой успешной вставки на выходе будет 0 1, что означает, что за раз вставляется 1 строка. В запрос, как упоминалось ранее, мы вставляли данные 4 раза. Для просмотра результатов воспользуемся следующим запросом:

>> Выбрать*изпокупатель;

Пример 2: Использование оператора INSERT для добавления нескольких строк в один запрос
Тот же подход используется при вставке данных, но без многократного введения операторов вставки. Введем данные сразу по определенному запросу; все значения одной строки разделены. Используя следующий запрос, мы получим требуемый результат

Пример 3: ВСТАВИТЬ несколько строк в одну таблицу на основе чисел в другой таблице
Этот пример относится к вставке данных из одной таблицы в другую. Рассмотрим две таблицы, а и б. Таблица a имеет 2 атрибута, то есть имя и класс. Применяя запрос CREATE, мы представим таблицу. После создания таблицы данные будут введены с помощью запроса на вставку.

>> Создайте столк(имя варчар (30),класс варчар (40));
>> Вставлять вкценности («Амна»,1),('бхишма', '2'),(‘Javed’, ’3'),('Вниз',4');

Четыре значения вставлены в таблицу с использованием теории превышения. Мы можем проверить, используя операторы select.

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

>> Создайте столб(все имена varchar(30), тема varchar(70));

Получите запись по теории выбора.

>> Выбрать*изб;

Чтобы вставить значения таблицы б в таблице мы будем использовать следующий запрос. Этот запрос будет работать таким образом, что все имена в таблице б будет вставлен в таблицу к с подсчетом чисел, которые показывают количество появлений определенного числа в соответствующем столбце таблицы б . b.allnames представляет функцию объекта для определения таблицы. Функция Count (b.allnames) работает для подсчета общего количества случаев. Поскольку каждое имя встречается сразу, результирующий столбец будет иметь 1 номер.

>> Вставлять вк(имя,класс) Выбратьб. имена, количество(б. имена) избгруппа кб. имена;

Пример 4: ВСТАВИТЬ данные в строки, если они не существуют
Этот запрос используется для ввода строк, если его нет. Сначала предоставленный запрос проверяет, присутствует ли строка уже или нет. Если он уже существует, данные не добавляются. И если данных нет в строке, новая вставка будет задержана. Здесь tmp - временная переменная, используемая для хранения данных в течение некоторого времени.

>> вставлять вб(все имена, тема) Выбрать*из (Выбрать«Кинза»в качествевсе имена, 'ислам'в качестветема) в качествеtmpкуда нет существуют ( Выбратьвсе именаизбкудавсе именазнак равно«Сундус»предел 1);

Пример 5: Обновление PostgreSQL с использованием инструкции INSERT
У этой функции есть две разновидности:

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

Изначально сформируем таблицу с некоторыми выборочными данными.

>> СОЗДАЙТЕ СТОЛтаблица 2(Я БЫINT НАЧАЛЬНЫЙ КЛЮЧ,Имя ХАРАКТЕР РАЗЛИЧНЫЙ);

После создания таблицы мы вставим данные в tbl2 с помощью запроса:

>> ВСТАВЛЯТЬ Втаблица 2ЦЕННОСТИ (1,'узма'),(2,'Абдул'),(3,'Хамна'),(4,'фатима'),(5,'шиза'),(6,'javeria');

Если возникает конфликт, Обновите:

>>ВСТАВЛЯТЬ Втаблица 2ЦЕННОСТИ (8,'Поездка') НАКОНФЛИКТ(Я БЫ) ДЕЛАТЬ ОБНОВИТЬ УСТАНОВЛЕННЫЙ Имязнак равноИсключенный.Имя;

Сначала мы введем данные, используя конфликтный запрос идентификатора 8 и имени Rida. Тот же запрос будет использоваться после того же идентификатора; имя будет изменено. Теперь вы заметите, как имена будут изменены с одним и тем же идентификатором в таблице.

>> ВСТАВЛЯТЬ Втаблица 2ЦЕННОСТИ (8,'Работа') НАКОНФЛИКТ(Я БЫ) ДЕЛАТЬ ОБНОВИТЬ УСТАНОВЛЕННЫЙ Имя знак равноИсключенный.Имя;

Мы обнаружили конфликт на идентификаторе 8, поэтому указанная строка обновлена.

Если возник конфликт, ничего не делайте

>> ВСТАВЛЯТЬ Втаблица 2ЦЕННОСТИ (9,'Хира') НАКОНФЛИКТ(Я БЫ) ДЕЛАТЬ НИЧЕГО ТАКОГО;

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

>>ВСТАВЛЯТЬ Втаблица 2ЦЕННОСТИ (9,'Хира') НАКОНФЛИКТ(Я БЫ) ДЕЛАТЬ НИЧЕГО ТАКОГО;

Согласно изображению выше, вы увидите, что после выполнения запроса INSERT 0 0 показывает, что данные не введены.

Заключение

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