PostgreSQL tiene un tipo especial de generador de objetos de base de datos llamado SERIAL. Se utiliza para generar una secuencia de números enteros que a menudo se utilizan como clave principal de una tabla.
Syntax: variable_name SERIAL
Al crear una tabla, esta secuencia de enteros se puede crear de la siguiente manera:
CREATE TABLE table_name( id SERIAL );
Al asignar el SERIAL a la columna id, PostgreSQL realiza lo siguiente:
- El paso inicial genera secuencias de números enteros, donde el siguiente valor predeterminado depende del valor de la columna.
- Como SERIAL siempre genera una secuencia de números enteros, es importante establecer que no se agregue ningún valor nulo como ID a ninguna columna. Esto se hace agregando la restricción NOT NULL.
- Finalmente, es necesario establecer el propietario de la secuencia para la columna ID. Estos ID se eliminan automáticamente si se elimina la columna o la tabla.
PostgreSQL admite 3 pseudotipos seriales, a saber, SMALLSERIAL, SERIAL y BIGSERIAL, que tienen las siguientes características:
Nombre | Tamaño de almacenamiento | Rango |
---|---|---|
SERIE PEQUEÑA | 2 bytes | 1 a 32, 767 |
DE SERIE | 4 bytes | 1 a 2, 147, 483, 647 |
SERIE GRANDE | 8 bytes | 1 a 9, 223, 372, 036, 854, 775, 807 |
Ejemplo 1:
Primero, crearemos una tabla de animales con la columna id como la columna SERIAL como se muestra a continuación:
CREATE TABLE animals( id SERIAL PRIMARY KEY, name VARCHAR NOT NULL );
Ahora, al insertar los valores en la tabla, se puede usar cualquiera de los siguientes comandos:
INSERT INTO animals(name) VALUES('Dog');
o,
INSERT INTO animals(id, name) VALUES(DEFAULT, 'Dog');
Así que agreguemos algunas filas a nuestra tabla de animales usando el siguiente comando:
INSERT INTO animals(name) VALUES ('Dog'), ('Cat'), ('Cow'), ('Tiger'), ('Snake'), ('Bull');
Ahora verifique si las identificaciones se asignan automáticamente a cada fila usando el siguiente comando:
SELECT * FROM animals;
Producción:
Ejemplo 2:
Primero, crearemos una tabla de frutas con la columna id como la columna SERIAL como se muestra a continuación:
CREATE TABLE fruits( id SERIAL PRIMARY KEY, name VARCHAR NOT NULL );
Ahora, al insertar los valores en la tabla, se puede usar cualquiera de los siguientes comandos:
INSERT INTO fruits(name) VALUES('Apple');
o,
INSERT INTO fruits(id, name) VALUES(DEFAULT, 'Apple');
Así que agreguemos algunas filas a nuestra tabla de frutas usando el siguiente comando:
INSERT INTO fruits(name) VALUES ('Apple'), ('Banana'), ('Cherry'), ('Mango'), ('Grapes'), ('Orange');
Ahora verifique si las identificaciones se asignan automáticamente a cada fila usando el siguiente comando:
SELECT * FROM fruits;
Producción:
Publicación traducida automáticamente
Artículo escrito por RajuKumar19 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA