La instrucción INSERT en SQL se utiliza para agregar nuevas filas a una tabla en una base de datos. Este comando es fundamental para la manipulación de datos y es uno de los primeros que debes aprender al trabajar con SQL.

Sintaxis Básica

La sintaxis básica de la instrucción INSERT es la siguiente:

INSERT INTO nombre_tabla (columna1, columna2, columna3, ...)
VALUES (valor1, valor2, valor3, ...);
  • nombre_tabla: El nombre de la tabla en la que deseas insertar los datos.
  • (columna1, columna2, columna3, ...): Una lista de las columnas en las que deseas insertar datos.
  • VALUES (valor1, valor2, valor3, ...): Los valores que deseas insertar en las columnas correspondientes.

Ejemplo Práctico

Supongamos que tenemos una tabla llamada estudiantes con las siguientes columnas: id, nombre, edad, y grado.

CREATE TABLE estudiantes (
    id INT PRIMARY KEY,
    nombre VARCHAR(50),
    edad INT,
    grado VARCHAR(10)
);

Para insertar un nuevo estudiante en la tabla, usaríamos la siguiente instrucción INSERT:

INSERT INTO estudiantes (id, nombre, edad, grado)
VALUES (1, 'Juan Pérez', 20, 'Segundo');

Explicación del Ejemplo

  • INSERT INTO estudiantes: Especifica la tabla estudiantes en la que se insertarán los datos.
  • (id, nombre, edad, grado): Lista las columnas en las que se insertarán los valores.
  • VALUES (1, 'Juan Pérez', 20, 'Segundo'): Proporciona los valores que se insertarán en las columnas correspondientes.

Insertar Múltiples Filas

También es posible insertar múltiples filas en una sola instrucción INSERT. La sintaxis es similar, pero se proporcionan múltiples conjuntos de valores.

INSERT INTO estudiantes (id, nombre, edad, grado)
VALUES 
(2, 'Ana Gómez', 22, 'Tercero'),
(3, 'Carlos López', 19, 'Primero'),
(4, 'María Rodríguez', 21, 'Segundo');

Explicación del Ejemplo

  • INSERT INTO estudiantes: Especifica la tabla estudiantes.
  • (id, nombre, edad, grado): Lista las columnas en las que se insertarán los valores.
  • VALUES: Proporciona múltiples conjuntos de valores, cada uno representando una fila que se insertará en la tabla.

Ejercicio Práctico

Ejercicio 1

Crea una tabla llamada productos con las siguientes columnas: id, nombre, precio, y cantidad. Luego, inserta tres productos en la tabla.

Solución

  1. Crear la tabla productos:
CREATE TABLE productos (
    id INT PRIMARY KEY,
    nombre VARCHAR(50),
    precio DECIMAL(10, 2),
    cantidad INT
);
  1. Insertar tres productos en la tabla:
INSERT INTO productos (id, nombre, precio, cantidad)
VALUES 
(1, 'Laptop', 999.99, 10),
(2, 'Mouse', 19.99, 50),
(3, 'Teclado', 49.99, 30);

Ejercicio 2

Inserta un nuevo estudiante en la tabla estudiantes con los siguientes datos: id = 5, nombre = 'Luis Martínez', edad = 23, grado = 'Cuarto'.

Solución

INSERT INTO estudiantes (id, nombre, edad, grado)
VALUES (5, 'Luis Martínez', 23, 'Cuarto');

Errores Comunes y Consejos

  1. Omisión de Columnas: Si omites una columna en la lista de columnas, asegúrate de que la columna tenga un valor predeterminado o permita valores nulos.

    INSERT INTO estudiantes (id, nombre)
    VALUES (6, 'Laura Sánchez');  -- Error si 'edad' y 'grado' no permiten valores nulos
    
  2. Tipos de Datos Incorrectos: Asegúrate de que los valores que estás insertando coincidan con los tipos de datos de las columnas.

    INSERT INTO estudiantes (id, nombre, edad, grado)
    VALUES (7, 'Pedro Ruiz', 'veinte', 'Primero');  -- Error: 'veinte' no es un entero
    
  3. Duplicación de Claves Primarias: No intentes insertar una fila con un valor de clave primaria que ya exista en la tabla.

    INSERT INTO estudiantes (id, nombre, edad, grado)
    VALUES (1, 'Juan Pérez', 20, 'Segundo');  -- Error: 'id' 1 ya existe
    

Conclusión

La instrucción INSERT es fundamental para agregar datos a una tabla en SQL. Comprender cómo usar esta instrucción correctamente es esencial para cualquier programador que trabaje con bases de datos. En el próximo tema, aprenderemos sobre la instrucción UPDATE, que se utiliza para modificar datos existentes en una tabla.

Curso de SQL

Módulo 1: Introducción a SQL

Módulo 2: Consultas básicas de SQL

Módulo 3: Trabajando con múltiples tablas

Módulo 4: Filtrado avanzado de datos

Módulo 5: Manipulación de datos

Módulo 6: Funciones avanzadas de SQL

Módulo 7: Subconsultas y consultas anidadas

Módulo 8: Índices y optimización de rendimiento

Módulo 9: Transacciones y concurrencia

Módulo 10: Temas avanzados

Módulo 11: SQL en la práctica

Módulo 12: Proyecto final

© Copyright 2024. Todos los derechos reservados