Insertar fila si los valores aún no existen en Postgresl

Insert Row If Values Don T Already Exist Postgresl



Conocer y manipular los sistemas de gestión de bases de datos nos ha familiarizado con las alteraciones de las bases de datos. Lo que normalmente implica la creación, inserción, actualización y eliminación de funciones aplicadas en tablas específicas. En el artículo actual, veremos cómo se gestionan los datos mediante el método de inserción. Debemos tener que crear una tabla en la que queramos inserción. La instrucción Insert se utiliza para agregar nuevos datos en filas de tablas. La declaración de inserciones de PostgreSQL cubre algunas reglas para la ejecución exitosa de una consulta. Primero tenemos que mencionar el nombre de la tabla seguido de los nombres de las columnas (atributos) donde queremos insertar filas. En segundo lugar, debemos ingresar los valores, separados por una coma después de la cláusula VALUE. Finalmente, cada valor debe estar en el mismo orden en que se proporciona la secuencia de listas de atributos al crear una tabla en particular.

Sintaxis

>> INSERTAR DENTRONOMBRE DE LA TABLA(column1,columna) VALORES ('Valor1', 'valor2');

Aquí, una columna son los atributos de la tabla. La palabra clave VALOR se usa para ingresar valores. 'Valor' son los datos de las tablas que se deben ingresar.







Insertar funciones de fila en el shell de PostgreSQL (psql)

Después de la instalación exitosa de postgresql, ingresaremos el nombre de la base de datos, el número de puerto y la contraseña. Se iniciará Psql. Luego realizaremos consultas respectivamente.





Ejemplo 1: uso de INSERT para agregar nuevos registros a las tablas
Siguiendo la sintaxis, crearemos la siguiente consulta. Para insertar una fila en la tabla, crearemos una tabla llamada cliente. La tabla respectiva contiene 3 columnas. Se debe mencionar el tipo de datos de columnas particulares para ingresar datos en esa columna y evitar la redundancia. La consulta para crear una tabla es:





>> crear mesacliente(identificaciónEn t,nombre varchar (40), paísvarchar (40));

Después de crear la tabla, ahora ingresaremos datos insertando filas manualmente en consultas separadas. En primer lugar, mencionamos el nombre de la columna para mantener la precisión de los datos en columnas particulares con respecto a los atributos. Y luego, se ingresarán los valores. Los valores están codificados por comas simples, ya que deben insertarse sin ninguna alteración.



>> insertar dentrocliente(identificación,nombre, país) valores ('1','Alia', 'Pakistán');

Después de cada inserción exitosa, la salida será 0 1, lo que significa que se inserta 1 fila a la vez. En la consulta, como se mencionó anteriormente, hemos insertado datos 4 veces. Para ver los resultados, usaremos la siguiente consulta:

>> Seleccione*decliente;

Ejemplo 2: uso de la instrucción INSERT para agregar varias filas en una sola consulta
El mismo enfoque se utiliza para insertar datos pero no para introducir declaraciones de inserción muchas veces. Ingresaremos datos de una vez mediante una consulta determinada; todos los valores de una fila están separados por Al usar la siguiente consulta, obtendremos el resultado requerido

Ejemplo 3: INSERTAR varias filas en una tabla según los números de otra tabla
Este ejemplo se relaciona con la inserción de datos de una tabla a otra. Considere dos tablas, ay b. La tabla a tiene 2 atributos, es decir, nombre y clase. Al aplicar una consulta CREATE, introduciremos una tabla. Después de la creación de la tabla, los datos se ingresarán mediante una consulta de inserción.

>> crear mesaa(nombre varchar (30),clase varchar (40));
>> Insertar dentroavalores ('Amna',1),('bhishma', '2),('Javed', '3),('Abajo',4);

Se insertan cuatro valores en la tabla utilizando la teoría excedente. Podemos verificar usando declaraciones de selección.

De manera similar, crearemos la tabla b, con atributos de todos los nombres y temas. Se aplicarán las mismas 2 consultas para insertar y recuperar el registro de la tabla correspondiente.

>> crear mesab(todos los nombres varchar(30), sujeto varchar(70));

Obtenga el registro por teoría seleccionada.

>> Seleccione*deb;

Para insertar valores de tabla b en la tabla, usaremos la siguiente consulta. Esta consulta funcionará de tal manera que todos los nombres en la tabla b se insertará en la tabla a con el conteo de números que muestran el número de ocurrencias de un número particular en la columna respectiva de la tabla b . b.allnames representa la función del objeto para especificar la tabla. La función Count (b.allnames) funciona para contar la ocurrencia total. Como todos los nombres aparecen a la vez, la columna resultante tendrá 1 número.

>> Insertar dentroa(nombre,clase) Seleccioneb. todos los nombres, recuento(b.todos los nombres) debgrupo porb.todos los nombres;

Ejemplo 4: INSERTAR datos en filas si no existen
Esta consulta se utiliza para ingresar filas si no está presente. En primer lugar, la consulta proporcionada comprueba si la fila ya está presente o no. Si ya existe, no se agregan datos. Y si los datos no están presentes en una fila, se mantendrá la nueva inserción. Aquí tmp es una variable temporal que se utiliza para almacenar datos durante algún tiempo.

>> insertar dentrob(todos los nombres, tema) Seleccione*de (Seleccione'Kinza'comotodos los nombres, 'islamiat'comotema) comotmpdónde no existe ( Seleccionetodos los nombresdebdóndetodos los nombres='Sundus'límite 1);

Ejemplo 5: PostgreSQL Upsert usando la instrucción INSERT
Esta función tiene dos variedades:

  • Actualización: si ocurre un conflicto, si el registro coincide con los datos existentes en la tabla, se actualiza con datos nuevos.
  • Si ocurre un conflicto, no haga nada : Si un registro coincide con los datos existentes en la tabla, omite el registro, o si se encuentra un error, también se ignora.

Inicialmente, formaremos una tabla con algunos datos de muestra.

>> CREAR MESAtbl2(IDENTIFICACIÓNEN T PRIMARIO LLAVE,Nombre CARÁCTER VARIANTE);

Después de crear la tabla, insertaremos datos en tbl2 usando query:

>> INSERTAR DENTROtbl2VALORES (1,'uzma'),(2,'abdul'),(3,'Hamna'),(4,'fatima'),(5,'shiza'),(6,'javeria’);

Si ocurre un conflicto, actualice:

>>INSERTAR DENTROtbl2VALORES (8,'Paseo') SOBRECONFLICTO(IDENTIFICACIÓN) HACER ACTUALIZAR COLOCAR Nombre=Excluido.Nombre;

Al principio, ingresaremos datos usando la consulta de conflicto de id 8 y el nombre Rida. Se utilizará la misma consulta siguiendo el mismo id; se cambiará el nombre. Ahora notará cómo se cambiarán los nombres en la misma identificación en la tabla.

>> INSERTAR DENTROtbl2VALORES (8,'Trabaja') SOBRECONFLICTO(IDENTIFICACIÓN) HACER ACTUALIZAR COLOCAR Nombre =Excluido.Nombre;

Descubrimos que hubo un conflicto en la identificación 8, por lo que se actualiza la fila especificada.

Si ocurre un conflicto, no haga nada

>> INSERTAR DENTROtbl2VALORES (9,'Hira') SOBRECONFLICTO(IDENTIFICACIÓN) HACER NADA;

Con esta consulta, se inserta una nueva fila. Después de eso, usaremos si la misma consulta para ver el conflicto que ocurrió.

>>INSERTAR DENTROtbl2VALORES (9,'Hira') SOBRECONFLICTO(IDENTIFICACIÓN) HACER NADA;

De acuerdo con la imagen de arriba, verá que luego de la ejecución de la consulta INSERT 0 0 muestra que no se ingresaron datos.

Conclusión

Hemos echado un vistazo al concepto de comprensión de insertar filas en tablas donde los datos no están presentes o la inserción no se completa, si se encuentra algún registro, para reducir la redundancia en las relaciones de la base de datos.