PostgreSQL

Cómo configurar la clave principal de incremento automático de PostgreSQL?

Cómo configurar la clave principal de incremento automático de PostgreSQL?
Puede haber ocasiones en las que cree y mantenga tablas en PostgreSQL cuando desee valores particulares para una columna que se genera a pedido. Esto sería particularmente cierto para las columnas "id" que actúan como la clave principal de la tabla. Afortunadamente, el pseudo-tipo SERIAL permite hacer que una serie de enteros autoincrementados sea conveniente. Una serie es un tipo de objeto de base de datos en PostgreSQL que produce una serie de índices o enteros. Una secuencia de PostgreSQL produce una cadena de enteros distintos, lo que la hace adecuada para ser utilizada como clave primaria al generar una nueva tabla. Le demostraremos qué menas de incremento automático en PostgreSQL y usaremos el pseudo-tipo SERIAL a lo largo de esta guía.

Sintaxis:

La sintaxis general para crear la clave primaria de incremento automático es la siguiente:

>> CREAR TABLA table_name (id SERIAL);

Echemos ahora un vistazo a la declaración CREATE TABLE con más detalle:

Para obtener el concepto de incremento automático, asegúrese de que PostgreSQL esté montado y configurado en su sistema antes de continuar con las ilustraciones de esta guía. Abra el shell de la línea de comandos de PostgreSQL desde el escritorio. Agregue el nombre de su servidor en el que desea trabajar; de lo contrario, déjelo en el valor predeterminado. Escriba el nombre de la base de datos que se encuentra en su servidor en el que desea trabajar. Si no desea cambiarlo, déjelo como predeterminado. Usaremos la base de datos de "prueba", por eso la hemos agregado. También puede trabajar en el puerto predeterminado 5432, pero también puede cambiarlo. Al final, debe proporcionar el nombre de usuario para la base de datos que elija. Déjelo por defecto si no quiere cambiarlo. Escriba su contraseña para el nombre de usuario seleccionado y presione "Enter" en el teclado para comenzar a usar el shell de comandos.

Uso de la palabra clave SERIAL como tipo de datos:

Cuando creamos una tabla, generalmente no agregamos la palabra clave SERIAL en el campo de la columna principal. Esto significa que tenemos que agregar los valores a la columna de clave principal mientras usamos la instrucción INSERT. Pero cuando usamos la palabra clave SERIAL en nuestra consulta mientras creamos una tabla, no deberíamos necesitar agregar valores de columna primaria al insertar los valores. Echémosle un vistazo.

Ejemplo 01:

Cree una tabla "Prueba" con dos columnas "id" y "nombre". La columna "id" se ha definido como la columna de clave principal ya que su tipo de datos es SERIAL. Por otro lado, la columna "nombre" se define como el tipo de datos TEXT NOT NULL. Pruebe el siguiente comando para crear una tabla y la tabla se creará de manera eficiente como se ve en la imagen a continuación.

>> CREAR TABLA Prueba (id SERIAL PRIMARY KEY, nombre TEXT NOT NULL);

Insertemos algunos valores en la columna "nombre" de la tabla recién creada "PRUEBA". No agregaremos ningún valor a la columna "id". Puede ver que los valores se han insertado correctamente utilizando el comando INSERT como se indica a continuación.

>> INSERT INTO Test (nombre) VALUES ('Aqsa'), ('Rimsha'), ('Khan');

Es hora de comprobar los registros de la tabla 'Prueba'. Pruebe la siguiente instrucción SELECT en el shell de comandos.

>> SELECCIONAR * DE Prueba;

En el resultado a continuación, puede observar que la columna "id" tiene automáticamente algunos valores aunque no hemos agregado ningún valor del comando INSERT debido al tipo de datos SERIAL que hemos especificado para la columna "id". Así es como funciona el tipo de datos SERIAL por sí solo.

Ejemplo 02:

Otra forma de verificar el valor de la columna de tipo de datos SERIAL es usando la palabra clave RETURNING en el comando INSERT. La siguiente declaración crea una nueva línea en la tabla "Prueba" y produce el valor del campo "id":

>> INSERT INTO Test (nombre) VALUES ('Hassam') RETURNING id;

Al verificar los registros de la tabla "Prueba" usando la consulta SELECT, obtuvimos la siguiente salida como se muestra en la imagen. El quinto registro se ha agregado eficientemente a la tabla.

>> SELECCIONAR * DE Prueba;

Ejemplo 03:

La versión alternativa de la consulta de inserción anterior utiliza la palabra clave DEFAULT. Usaremos el nombre de la columna "id" en el comando INSERT, y en la sección VALUES, le daremos la palabra clave DEFAULT como su valor. La consulta a continuación funcionará de la misma manera después de la ejecución.

>> INSERT INTO Test (id, name) VALUES (DEFAULT, 'Raza');

Revisemos la tabla nuevamente usando la consulta SELECT de la siguiente manera:

>> SELECCIONAR * DE Prueba;

Puede ver en la salida a continuación, el nuevo valor se ha agregado mientras que la columna "id" se ha incrementado de forma predeterminada.

Ejemplo 04:

El número de secuencia del campo de la columna SERIAL se puede encontrar en una tabla en PostgreSQL. El método pg_get_serial_sequence () se usa para lograr esto. Tenemos que usar la función currval () junto con el método pg_get_serial_sequence (). En esta consulta, proporcionaremos el nombre de la tabla y su nombre de columna SERIAL en los parámetros de la función pg_get_serial_sequence (). Como puede ver, hemos especificado la tabla "Prueba" y la columna "id". Este método se utiliza en el siguiente ejemplo de consulta:

>> SELECT currval (pg_get_serial_sequence ('Prueba', 'id'));

Vale la pena señalar que nuestra función currval () nos ayuda a extraer el valor más reciente de la secuencia, que es "5". La siguiente imagen es una ilustración de cómo podría verse la actuación.

Conclusión:

En este tutorial de guía, hemos demostrado cómo usar el pseudo-tipo SERIAL para auto-incrementar en PostgreSQL. Usando una serie en PostgreSQL, es simple construir un conjunto de números que se incrementan automáticamente. Con suerte, podrá aplicar el campo SERIAL a las descripciones de la tabla utilizando nuestras ilustraciones como referencia.

Las 5 mejores cartas de captura de juegos
Todos hemos visto y amado la transmisión de juegos en YouTube. PewDiePie, Jakesepticye y Markiplier son solo algunos de los mejores jugadores que han ...
Cómo desarrollar un juego en Linux
Hace una década, no muchos usuarios de Linux predecían que su sistema operativo favorito algún día sería una plataforma de juegos popular para videoju...
Puertos de código abierto de motores de juegos comerciales
Las recreaciones gratuitas, de código abierto y de motores de juegos multiplataforma se pueden usar para jugar títulos de juegos antiguos y también al...