SQL Server

Cómo usar INSERT INTO en SQL Server (ejemplos prácticos y errores comunes)

Publicado por J. Panduro hace 5 meses

Cómo usar INSERT INTO en SQL Server (ejemplos prácticos y errores comunes)

Una vez que ya sabes crear tablas, el siguiente paso es insertar datos. Aquí es donde realmente empiezas a trabajar con información dentro de SQL Server.


En este artículo aprenderás:


  1. Cómo usar INSERT INTO
  2. Insertar uno o varios registros
  3. Cómo trabajar con IDENTITY
  4. Errores comunes
  5. Ejercicios prácticos


¿Qué es INSERT INTO?


INSERT INTO es la instrucción que permite agregar registros a una tabla.


Es una instrucción fundamental de SQL que se utiliza para insertar nuevos registros en una tabla de una base de datos. Gracias a esta sentencia, es posible almacenar información nueva de forma organizada y permanente, permitiendo que los datos estén disponibles para futuras consultas, actualizaciones o análisis.


Esta operación es una de las más utilizadas en el desarrollo de aplicaciones, ya que permite registrar información como clientes, productos, ventas, empleados, usuarios y cualquier otro tipo de dato que el sistema necesite gestionar. Cada vez que se ejecuta una sentencia INSERT INTO, se agrega una nueva fila a la tabla con los valores especificados para cada columna.


Sintaxis básica


INSERT INTO NombreTabla (Columna1, Columna2)
VALUES (Valor1, Valor2);


Ejemplo básico


INSERT INTO Usuarios (Nombre, Email, Activo)
VALUES ('Juan Pérez', 'juan@email.com', 1);


Inserta un nuevo registro en la tabla usuarios.


IMPORTANTE: columnas y valores


Debes respetar:

  1. El orden de columnas
  2. El tipo de datos
  3. Las restricciones (Not Null)


Al usar INSERT INTO, no solo es importante agregar datos, sino también respetar correctamente la estructura de la tabla, ya que cualquier error puede provocar que la consulta falle o que los datos se almacenen de forma incorrecta.


Uno de los puntos más importantes es el orden de las columnas y los valores. Cuando se especifican las columnas en la sentencia, los valores deben seguir exactamente ese mismo orden. Si el orden no coincide, los datos se insertarán en columnas incorrectas, generando inconsistencias en la base de datos.


También se debe respetar el tipo de datos de cada columna. Por ejemplo, no se puede insertar texto en una columna numérica ni valores incorrectos en campos de fecha. SQL validará estos tipos y, si no coinciden, la operación será rechazada.


Insertar datos con IDENTITY


Si tu tabla tiene IDENTITY, NO debes insertar el ID manualmente.


En SQL Server, cuando una tabla tiene una columna definida como IDENTITY, esta se utiliza para generar valores automáticos de forma incremental, normalmente en campos como el ID de una tabla. Esto significa que la base de datos se encarga de asignar automáticamente el número único para cada nuevo registro.


Esto ayuda a evitar duplicados y asegura que cada registro tenga un identificador único sin intervención del usuario o del desarrollador.


Ejemplo

INSERT INTO Usuarios (Nombre, Email, Activo)
VALUES ('Ana López', 'ana@email.com', 1);


SQL Server genera automáticamente el Id.


Insertar múltiples registros

INSERT INTO Usuarios (Nombre, Email, Activo)
VALUES
('Carlos', 'carlos@email.com', 1),
('María', 'maria@email.com', 0),
('Luis', 'luis@email.com', 1);


Muy útil para cargar datos rápido.


Errores comunes


Insertar NULL en NOT NULL


Al trabajar con INSERT INTO, es frecuente cometer algunos errores que pueden provocar que la consulta falle o que los datos se almacenen incorrectamente. Uno de los más comunes es intentar insertar NULL en una columna que tiene la restricción NOT NULL.


Esto sucede cuando una columna es obligatoria en la tabla, es decir, no permite valores vacíos. Si en la sentencia INSERT INTO no se envía un valor para esa columna, o se intenta insertar NULL, la base de datos rechazará la operación y generará un error.


Otro error habitual es no respetar el tipo de dato de las columnas, por ejemplo, insertar texto en campos numéricos o fechas con formato incorrecto. También es común equivocarse en el orden de los valores cuando no se especifican las columnas en el INSERT.



INSERT INTO Usuarios (Nombre)
VALUES (NULL);

Error si la columna es NOT NULL.


Tipos de datos incorrectos

INSERT INTO Usuarios (Activo)
VALUES ('texto');

Error: tipo inválido.


Ejercicio


Inserta 3 productos en la tabla productos:

  1. Laptop, 2500.00
  2. Mouse, 50.00
  3. Teclado, 120.00


Además:

  1. Usa correctamente IDENTITY
  2. No insertes el ID


Solución


Eliminar la tabla si ya existe

IF OBJECT_ID('Productos', 'U') IS NOT NULL
DROP TABLE Productos;


Crear la tabla

CREATE TABLE Productos (
Id INT IDENTITY(1,1) PRIMARY KEY,
Nombre VARCHAR(100) NOT NULL,
Precio DECIMAL(10,2) NOT NULL,
CreatedAt DATETIME NOT NULL DEFAULT GETDATE(),
CreatedBy VARCHAR(50) NOT NULL
);


Insertar datos

INSERT INTO Productos (Nombre, Precio, CreatedBy)
VALUES
('Laptop', 2500.00, 'admin'),
('Mouse', 50.00, 'admin'),
('Teclado', 120.00, 'admin');


Verificar resultados

SELECT * FROM Productos;


Resultado esperado


  1. Registros insertados correctamente
  2. IDs generados automáticamente
  3. Sin errores de tipos o restricciones


CONCLUSIÓN


El uso de INSERT INTO es una parte esencial en el manejo de bases de datos, ya que permite almacenar nueva información de forma organizada y estructurada. Sin embargo, su correcta aplicación requiere atención a detalles importantes como el orden de las columnas, el tipo de datos y las restricciones de la tabla.


Además, es fundamental comprender el funcionamiento de características como IDENTITY, ya que evita errores al momento de insertar valores únicos como los identificadores. También es importante tener presente los errores comunes, como insertar NULL en campos NOT NULL o no respetar la estructura de la tabla.


En conclusión, dominar INSERT INTO no solo consiste en saber escribir la sentencia, sino en entender cómo interactúa con la estructura de la base de datos para garantizar la integridad, consistencia y calidad de los datos.

Sobre el autor

J. Panduro es desarrollador de software y creador de HPanduDigital. Comparte contenido sobre Desarrollo Web, inteligencia artificial, y transformación digital, basado en experiencias reales y proyectos prácticos.

Buscar artículos

Escribe al menos 2 caracteres para buscar.