Tutorial SQL

INICIO SQL Introducción a SQL Sintaxis SQL Seleccionar SQL SQL Seleccionar Distinto SQL donde SQL y, o no Orden SQL por Insertar SQL en Valores nulos de SQL Actualización SQL Eliminar SQL SQL Seleccionar parte superior SQL mínimo y máximo Recuento de SQL, Promedio, Suma SQL como Comodines de SQL SQL en SQL entre Alias ​​SQL Uniones SQL Combinación interna de SQL Unión izquierda de SQL Unión derecha de SQL Unión completa de SQL Unión automática de SQL Unión SQL Grupo SQL por SQL teniendo SQL existe SQL Cualquiera, Todo SQL Seleccionar en Insertar SQL en Seleccionar Caso SQL Funciones nulas de SQL Procedimientos almacenados de SQL Comentarios SQL Operadores SQL

Base de datos SQL

SQL Crear base de datos Base de datos de caída de SQL Base de datos de copia de seguridad de SQL Crear tabla SQL Tabla desplegable de SQL Tabla de modificación de SQL Restricciones SQL SQL no nulo SQL único Clave principal de SQL Clave foránea de SQL Comprobación SQL Valor predeterminado de SQL Índice SQL Incremento automático de SQL Fechas SQL Vistas SQL Inyección SQL Alojamiento SQL Tipos de datos SQL

Referencias SQL

Palabras clave de SQL Funciones MySQL Funciones del servidor SQL Funciones de MS Access Referencia rápida de SQL

Ejemplos SQL

Ejemplos SQL Cuestionario de SQL Ejercicios SQL Certificado SQL

Campo de INCREMENTO AUTOMÁTICO SQL


Campo INCREMENTO AUTOMÁTICO

El incremento automático permite generar automáticamente un número único cuando se inserta un nuevo registro en una tabla.

A menudo, este es el campo de clave principal que nos gustaría que se creara automáticamente cada vez que se inserta un nuevo registro.


Sintaxis para MySQL

La siguiente instrucción SQL define la columna "Personid" para que sea un campo de clave principal de incremento automático en la tabla "Personas":

CREATE TABLE Persons (
    Personid int NOT NULL AUTO_INCREMENT,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int,
    PRIMARY KEY (Personid)
);

MySQL usa la AUTO_INCREMENTpalabra clave para realizar una función de incremento automático.

De forma predeterminada, el valor inicial para AUTO_INCREMENTes 1 y se incrementará en 1 para cada nuevo registro.

Para permitir que la AUTO_INCREMENTsecuencia comience con otro valor, use la siguiente instrucción SQL:

ALTER TABLE Persons AUTO_INCREMENT=100;

Para insertar un nuevo registro en la tabla "Personas", NO tendremos que especificar un valor para la columna "Personid" (se agregará automáticamente un valor único):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');

La instrucción SQL anterior insertaría un nuevo registro en la tabla "Personas". A la columna "Personid" se le asignaría un valor único. La columna "Nombre" se establecería en "Lars" y la columna "Apellido" se establecería en "Monsen".


Sintaxis para SQL Server

La siguiente instrucción SQL define la columna "Personid" para que sea un campo de clave principal de incremento automático en la tabla "Personas":

CREATE TABLE Persons (
    Personid int IDENTITY(1,1) PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

MS SQL Server utiliza la IDENTITYpalabra clave para realizar una función de incremento automático.

En el ejemplo anterior, el valor inicial de IDENTITYes 1 y se incrementará en 1 por cada nuevo registro.

Sugerencia: para especificar que la columna "Personid" debe comenzar en el valor 10 y aumentar en 5, cámbiela a IDENTITY(10,5).

Para insertar un nuevo registro en la tabla "Personas", NO tendremos que especificar un valor para la columna "Personid" (se agregará automáticamente un valor único):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');

La instrucción SQL anterior insertaría un nuevo registro en la tabla "Personas". A la columna "Personid" se le asignaría un valor único. La columna "Nombre" se establecería en "Lars" y la columna "Apellido" se establecería en "Monsen".



Sintaxis para el acceso

La siguiente instrucción SQL define la columna "Personid" para que sea un campo de clave principal de incremento automático en la tabla "Personas":

CREATE TABLE Persons (
    Personid AUTOINCREMENT PRIMARY KEY,
    LastName varchar(255) NOT NULL,
    FirstName varchar(255),
    Age int
);

MS Access utiliza la AUTOINCREMENTpalabra clave para realizar una función de incremento automático.

De forma predeterminada, el valor inicial para AUTOINCREMENTes 1 y se incrementará en 1 para cada nuevo registro.

Sugerencia: para especificar que la columna "Personid" debe comenzar en el valor 10 e incrementarse en 5, cambie el incremento automático a AUTOINCREMENT(10,5).

Para insertar un nuevo registro en la tabla "Personas", NO tendremos que especificar un valor para la columna "Personid" (se agregará automáticamente un valor único):

INSERT INTO Persons (FirstName,LastName)
VALUES ('Lars','Monsen');

La instrucción SQL anterior insertaría un nuevo registro en la tabla "Personas". A la columna "Personid" se le asignaría un valor único. La columna "Nombre" se establecería en "Lars" y la columna "Apellido" se establecería en "Monsen".


Sintaxis para Oracle

En Oracle, el código es un poco más complicado.

Deberá crear un campo de incremento automático con el objeto de secuencia (este objeto genera una secuencia de números).

Utilice la siguiente CREATE SEQUENCEsintaxis:

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

El código anterior crea un objeto de secuencia llamado seq_person, que comienza con 1 y se incrementará en 1. También almacenará en caché hasta 10 valores para el rendimiento. La opción de caché especifica cuántos valores de secuencia se almacenarán en la memoria para un acceso más rápido.

Para insertar un nuevo registro en la tabla "Personas", tendremos que usar la función nextval (esta función recupera el siguiente valor de la secuencia seq_person):

INSERT INTO Persons (Personid,FirstName,LastName)
VALUES (seq_person.nextval,'Lars','Monsen');

La instrucción SQL anterior insertaría un nuevo registro en la tabla "Personas". A la columna "Personid" se le asignaría el siguiente número de la secuencia seq_person. La columna "Nombre" se establecería en "Lars" y la columna "Apellido" se establecería en "Monsen".