Incremento automático de SQL

A veces, al crear una tabla, no tenemos un identificador único dentro de la tabla, por lo que enfrentamos dificultades para elegir la clave principal. para resolver este problema, tenemos que proporcionar manualmente claves únicas para cada registro, pero a menudo también es una tarea tediosa. Por lo tanto, podemos usar la función de incremento automático que genera automáticamente un valor numérico de clave principal para cada nuevo registro insertado.

La función de incremento automático es compatible con todas las bases de datos de las que vamos a hablar sobre el campo de incremento automático para el DBMS posterior:

  1. servidor SQL
  2. mysql
  3. postgresql
  4. MS Access
  5. Oráculo

1. Incremento automático de SQL Server:
en SQL Server, IDENTIDAD (valor_inicial, valor_incremento) se utiliza para la función de incremento automático.
Aquí,

  • valor_inicial:
    menciona el valor inicial que nos gustaría usar.
  • increment_value:
    mencione el valor por el cual nos gustaría incrementar la clave para el registro posterior.

Ejemplo:
Crearemos una tabla de Estudiantes con los campos Student_ID, First_Name, Last_Name, generaremos automáticamente Student_ID mediante el uso de incremento automático y lo convertiremos en Clave principal para la tabla. Deje que el valor inicial de IDENTIDAD sea 101 e incrementaremos la clave generada automáticamente en 1 para cada nuevo registro.

CREATE TABLE Students(
Student_ID int IDENTITY(101, 1) PRIMARY KEY, 
First_Name varchar(255),
Last_Name varchar(255)
);

Para insertar un nuevo registro en la tabla de estudiantes, no especificaremos el valor de Student_ID ya que se agregará automáticamente.

INSERT INTO Students(First_Name, Last_Name ) 
VALUES ('Deeksha', 'Jain');

INSERT INTO Students(First_Name, Last_Name ) 
VALUES ('Kavisha', 'Parikh'); 

Producción:

2. Incremento automático de MySQL:
en MySQL, la palabra clave AUTO_INCREMENT se emplea para la función de incremento automático. Por defecto, AUTO_INCREMENT comienza con 1 y aumenta en 1.

Ejemplo:
Crearemos una tabla de Estudiantes con los campos Student_ID, First_Name, Last_Name, generaremos automáticamente Student_ID mediante el uso de incremento automático y lo convertiremos en Clave principal para la tabla.

CREATE TABLE Students(
Student_ID int AUTO_INCREMENT PRIMARY KEY, 
First_Name varchar(255),
Last_Name varchar(255)
); 

Para insertar un nuevo registro en la tabla de estudiantes, no especificaremos el valor de Student_ID ya que se agregará automáticamente y el primer registro tendrá una clave como 1 y la clave para cada registro subsiguiente aumentará en 1.

INSERT INTO Students(First_Name, Last_Name ) 
VALUES ('Anish', 'Jain');

INSERT INTO Students(First_Name, Last_Name ) 
VALUES ('Akshita', 'Sharma');

INSERT INTO Students(First_Name, Last_Name ) 
VALUES ('Shruti', 'Sogani'); 

Producción:

Para cambiar el valor inicial predeterminado, podemos usar el comando ALTER TABLE de la siguiente manera:

ALTER TABLE Students AUTO_INCREMENT = new_value; 

Aquí new_value es el valor inicial que nos gustaría usar.

Para cambiar el valor del intervalo AUTO_INCREMENT a un número diferente de 1, asignamos un nuevo valor de intervalo a la variable auto_increment_increment de MySQL Server .

mysql>
SET @@ auto_increment_increment=new_interval_value; 

Aquí new_interval_value es el valor de intervalo que nos gustaría usar.

3. Incremento automático de PostgreSQL:
en PostgreSQL, la palabra clave SERIAL se usa para la función de incremento automático.

Ejemplo:
Crearemos una tabla de Estudiantes con los campos Student_ID, First_Name, Last_Name, generaremos automáticamente Student_ID mediante el uso de incremento automático y lo convertiremos en Clave principal para la tabla.

CREATE TABLE Students(
Student_ID int SERIAL PRIMARY KEY, 
First_Name varchar(255),
Last_Name varchar(255)
); 

Para insertar un nuevo registro en la tabla de estudiantes, no especificaremos el valor de Student_ID ya que se agregará automáticamente.

INSERT INTO Students(First_Name, Last_Name ) 
VALUES ('Anish', 'Jain');

INSERT INTO Students(First_Name, Last_Name ) 
VALUES ('Akshita', 'Sharma');

INSERT INTO Students(First_Name, Last_Name ) 
VALUES ('Shruti', 'Sogani'); 

Producción:

4. Incremento automático de MS Access:
en MS Access, la palabra clave AUTOINCREMENTO se utiliza para realizar una función de incremento automático. De forma predeterminada, AUTOINCREMENT comienza con 1 y aumenta en 1.

Ejemplo:
Crearemos una tabla de Estudiantes con los campos Student_ID, First_Name, Last_Name, generaremos automáticamente Student_ID mediante el uso de incremento automático y lo convertiremos en Clave principal para la tabla.

CREATE TABLE Students(
Student_ID int AUTOINCREMENT PRIMARY KEY, 
First_Name varchar(255),
Last_Name varchar(255)
); 

Para insertar un nuevo registro en la tabla de estudiantes, no especificaremos el valor de Student_ID ya que se agregará automáticamente y el primer registro tendrá una clave como 1 y la clave para cada registro subsiguiente aumentará en 1.

INSERT INTO Students(First_Name, Last_Name ) 
VALUES ('Anish', 'Jain');

INSERT INTO Students(First_Name, Last_Name ) 
VALUES ('Akshita', 'Sharma');

INSERT INTO Students(First_Name, Last_Name ) 
VALUES ('Shruti', 'Sogani'); 

Producción:

Para cambiar el valor de inicio predeterminado y el valor de incremento, podemos usar la función AUTOINCREMENTO de la siguiente manera:

AUTOINCREMENT(starting_value, increment_value) 

Aquí el valor_inicial es el valor inicial que nos gustaría usar y el valor_incremento es el valor por el cual nos gustaría incrementar la clave para el registro subsiguiente.

5. Incremento automático de Oracle:
en Oracle, para usar la función de incremento automático, tenemos que hacer el campo de incremento automático con el objeto de secuencia que genera sucesivamente una secuencia numérica.

Sintaxis:

CREATE SEQUENCE sequence_name
MINVALUE 1
START WITH 1
INCREMENT BY 1
CACHE 10; 

En la sintaxis anterior,

  • nombre_secuencia:
    se refiere al nombre del objeto de secuencia que nos gustaría producir.
  • COMENZAR CON:
    seguido del valor inicial que nos gustaría usar. Aquí proporcionamos 1 como valor inicial.
  • INCREMENT BY:
    seguido del valor por el que desea incrementar. Aquí queremos aumentar las claves posteriores en 1.
  • CACHE:
    seguido del número máximo de valores que se almacenarán para un acceso más rápido.

Ejemplo:
el siguiente código crea un objeto de secuencia llamado seq_students, que comienza con 101 y puede incrementarse en 1. También almacenará en caché hasta 20 valores para el rendimiento.

CREATE SEQUENCE seq_students
MINVALUE 1
START WITH 101
INCREMENT BY 1
CACHE 20; 

Para insertar un nuevo registro en la tabla «Estudiantes», tendremos que usar la función nextval que recupera el siguiente valor de la secuencia seq_students:

INSERT INTO Students(Student_ID, First_Name, Last_Name)
VALUES (seq_students.nextval, 'Deeksha', 'Jain');

INSERT INTO Students(Student_ID, First_Name, Last_Name)
VALUES (seq_students.nextval, 'Kavisha', 'Parikh'); 

Producción:

Publicación traducida automáticamente

Artículo escrito por deekshajaindodya y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *