Tutorial de matrices de PostgreSQL

Tutorial de matrices de PostgreSQL
Las matrices unidimensionales o multidimensionales de longitud variable se pueden definir como un campo de una tabla en la base de datos PostgreSQL. Los tipos de datos incorporados, definidos por el usuario, enum y compuestos son compatibles con PostgreSQL Array. Los campos de matriz se declaran mediante el uso de soportes cuadrados como otras declaraciones de matriz. Por ejemplo, las matrices de enteros pueden declararse como entero[], Las matrices de texto pueden declararse como texto[] etc. Cómo puede usar matrices PostgreSQL con Crear, Seleccionar, Insertar, Actualizar y Eliminar consultas se muestran en estos tutoriales.

Ejemplo-1: Crear tabla con campo de matriz

Crea una tabla usando el campo de matriz. En este ejemplo, una tabla nombrada usuarios se crea con campos, Nombre de usuario, nombre completo, género, correo electrónico, teléfono y Intereses. Intereses el campo se define como TEXTO [] Array que puede aceptar múltiples valores en este campo.

Crear usuarios de tabla (
Nombre de usuario Varchar (15) Clave principal,
FullName Varchar (100),
Varchar de género (6),
Envíe un correo electrónico a Varchar (20),
Teléfono Varchar (20),
Texto de intereses []);

Ejemplo-2: inserte datos en el campo de matriz de la tabla

Puede insertar uno o más valores en el campo de matriz. En los campos de matriz, los valores múltiples están separados por comas y usan el segundo soporte para establecer los valores. Ejecute las siguientes tres declaraciones de inserción para insertar tres filas en usuarios mesa.

Insertar en los usuarios (nombre de usuario, nombre completo, género, correo electrónico, teléfono, intereses)
Valores ('John99', 'Jonathan Bing', 'masculino', '[email protected] ',' +2455676677 ',
'"Jardinería", "cricket", "ciclismo", "viajar"');
Insertar en los usuarios (nombre de usuario, nombre completo, género, correo electrónico, teléfono, intereses)
Valores ('maria_hd', 'Maria Hossain', 'femenino', '[email protected] ',' +9234455454 ',
'"Viajar", "tenis"');
Insertar en los usuarios (nombre de usuario, nombre completo, género, correo electrónico, teléfono, intereses)
Valores ('fahmidabd', 'fahmida', 'femenino', '[email protected] ',' +88017348456 ',
'"Programación", "música"');

Ejecute la siguiente declaración de selección para mostrar todos los registros de la tabla de usuarios.

Seleccionar * de los usuarios;

Ejemplo-3: seleccione datos utilizando el campo de matriz de la tabla

a) recuperar un valor de matriz particular

Si desea recuperar un valor particular de la matriz, debe especificar el valor de índice con el campo de matriz. La siguiente consulta de selección se utiliza para recuperar Nombre completo, teléfono e interés valor del segundo índice de la tabla de usuarios de todos los usuarios masculinos.

Seleccione FullName, teléfono, intereses [2]
De los usuarios
Donde género = 'masculino';

Si el valor del índice no está disponible en el campo de la matriz, entonces devolverá nulo como salida. En la siguiente declaración, el quinto índice no existe en ningún campo de intereses.

Seleccione FullName, correo electrónico, intereses [5]
De los usuarios
Donde género = 'mujer';

b) recuperar registros basados ​​en un valor de matriz específico

Puedes usar cualquier función para buscar valores de matriz particulares en todos los registros del campo de matriz. La siguiente declaración de selección recuperará Nombre completo, correo electrónico y Teléfono de todos los usuarios cuyos Intereses el campo contiene 'De viaje" valor.

Seleccione FullName, correo electrónico, teléfono
De los usuarios
Donde 'viajar' = cualquier (interés);

c) recuperar registros utilizando la función inneces

Unnest () La función se utiliza para recuperar cada valor de matriz en fila separada. La siguiente instrucción Seleccionar recuperará los registros por separado para cada valor de Intereses campo.

Seleccione FullName, Unnest (intereses)
De los usuarios;

Ejemplo-4: Actualice datos utilizando el campo de matriz de la tabla

a) Actualizar el índice de matriz particular

La siguiente consulta de actualización actualizará el segundo valor de índice de los intereses en los que los registros contienen el nombre de usuario "John99".

Actualizar usuarios
Establezca intereses [1] = 'Fútbol'
Donde username = 'John99';

Ejecute la siguiente consulta de selección para mostrar el efecto de la consulta de actualización.

Seleccionar nombre de usuario, intereses de los usuarios;

b) actualizar todos los valores de un campo de matriz particular

Puede actualizar el contenido completo del campo de matriz de dos maneras. La primera forma es usar una forma convencional normal que se muestra en el ejemplo anterior y la segunda manera es usar la expresión de matriz. Ambas formas se muestran a continuación para actualizar el registro. Puede ejecutar cualquiera de las siguientes consultas para actualizar el campo de matriz. La siguiente declaración de actualización reemplazará los valores anteriores con dos valores nuevos que contiene el nombre de usuario ','maria_db '.

Actualizar usuarios
Establecer intereses = '"jardinería", "hockey"'
Donde username = 'maria_hd';

O,

Actualizar usuarios
Establecer intereses = array ['jardinería', 'hockey']
Donde username = 'maria_hd';

Ejecute la siguiente consulta de selección para mostrar el efecto de la consulta de actualización.

Seleccionar nombre de usuario, intereses de los usuarios;

Ejemplo-5: Eliminar datos basados ​​en el campo de matriz de la tabla

Puede ejecutar la consulta Eliminar coincidiendo con valores de matriz particulares. En el siguiente ejemplo, los usuarios que tienen "programación" como el valor en el primer índice del campo de los intereses se eliminarán de la tabla.

Eliminar de los usuarios
Donde los intereses [1] = 'Programación';

Ejecute la siguiente consulta de selección para mostrar el efecto de la consulta de eliminación.

Seleccionar nombre de usuario, intereses de los usuarios;

Todos los ejemplos anteriores de este tutorial muestran el uso de una matriz unidimensional en PostgreSQL. El uso de una matriz multidimensional es un poco complicado que la matriz unidimensional. Como principiante, puede practicar este tutorial para obtener el conocimiento básico del uso de la matriz PostgreSQL.