¿Qué es la inserción de datos?
Imagina que acabas de abrir una universidad. Tienes una base de datos con tablas, por ejemplo, students para guardar info sobre los estudiantes. Es hora de anunciar quiénes han ingresado y añadir sus datos a la tabla. En SQL para esto se usa el comando INSERT INTO. Te permite añadir una nueva fila a la tabla — como si rellenaras una nueva fila en Excel a mano, pero más rápido, más potente y con código!
Añadir datos no es solo para tareas básicas. Se usa en todas partes — desde guardar pedidos en una tienda online hasta almacenar info sobre transacciones en un banco. Y en el caso de las universidades — son listas de estudiantes, profes y hasta el horario.
Sintaxis básica del comando INSERT INTO
En SQL el comando INSERT INTO es una forma sencilla de añadir una nueva fila a una tabla. Vamos a ver la sintaxis básica:
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
Explicación de los componentes:
table_name— el nombre de la tabla donde vas a añadir los datos.(column1, column2, column3, ...)— la lista de columnas para las que indicas valores.VALUES (value1, value2, value3, ...)— la lista de valores que quieres insertar en las columnas correspondientes.
Ejemplo: vamos a añadir un nuevo estudiante a la tabla students. Supón que tenemos esta tabla:
| id | name | age | course |
|---|---|---|---|
| 1 | Otto Song | 18 | Matemáticas |
Ahora vamos a añadir un segundo estudiante usando INSERT INTO:
INSERT INTO students (id, name, age, course)
VALUES (2, 'Anna Lin', 19, 'Informática');
Después de ejecutar la consulta la tabla se verá así:
| id | name | age | course |
|---|---|---|---|
| 1 | Otto Song | 18 | Matemáticas |
| 2 | Anna Lin | 19 | Informática |
Insertar datos en todas las columnas
Si quieres insertar valores para todas las columnas de la tabla, puedes omitir los nombres de las columnas en el comando INSERT INTO. Esto solo es posible si indicas valores para cada columna en el orden correcto.
Sintaxis:
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
Ejemplo: supón que añades otro estudiante a la tabla students:
INSERT INTO students
VALUES (3, 'Dan Sim', 20, 'Física');
Resultado:
| id | name | age | course |
|---|---|---|---|
| 1 | Otto Song | 18 | Matemáticas |
| 2 | Anna Lin | 19 | Informática |
| 3 | Dan Sim | 20 | Física |
Pero este método puede ser arriesgado si la estructura de la tabla cambia. Por eso se recomienda siempre indicar la lista de columnas para evitar errores.
Aplicación práctica: añadir un estudiante
Vamos a probar a añadir un nuevo estudiante a nuestra tabla students, usando todo el potencial del comando INSERT INTO.
Paso 1: Comprobar los datos actuales
Antes de empezar, es útil ver qué datos ya hay en la tabla. Usamos el comando SELECT:
SELECT * FROM students;
Paso 2: Añadir un nuevo estudiante
Ahora vamos a añadir al estudiante Peter Chi, que estudia "Biología" y tiene 21 años:
INSERT INTO students (id, name, age, course)
VALUES (4, 'Peter Chi', 21, 'Biología');
Paso 3: Comprobar que los datos se han añadido
Volvemos a hacer una consulta para ver todos los datos:
SELECT * FROM students;
Resultado:
| id | name | age | course |
|---|---|---|---|
| 1 | Otto Song | 18 | Matemáticas |
| 2 | Anna Lin | 19 | Informática |
| 3 | Dan Sim | 20 | Física |
| 4 | Peter Chi | 21 | Biología |
Guay, ¿verdad? Ahora Peter está añadido a nuestra universidad.
Errores típicos al usar INSERT INTO
No coinciden la lista de columnas y los valores. Si indicas, por ejemplo, 4 columnas pero intentas insertar solo 3 valores, SQL te dará un error:
INSERT INTO students (id, name, age)
VALUES (5, 'Eva Green', 22, 'Química');
Error: el número de columnas no coincide con el número de valores.
Violación de restricciones. Si una columna requiere ser única (UNIQUE) o es obligatoria NOT NULL, saltarse estas reglas hará que falle.
Tipos de datos.
Si intentas insertar texto en un campo numérico, PostgreSQL tampoco estará contento:
INSERT INTO students (id, name, age, course)
VALUES (5, 'Axel Linz', 'veinte', 'Química');
¿Para qué sirve esto en proyectos reales?
Saber usar el comando INSERT INTO es una habilidad que te va a servir en casi todas las apps que trabajen con bases de datos. En la vida real vas a usar este comando para:
- Registrar nuevos usuarios en el sistema.
- Añadir pedidos en tiendas online.
- Guardar datos de pagos en sistemas de pago.
- Actualizar datos diarios sobre estudiantes, asistencias y notas en sistemas educativos.
Cada vez que tus apps interactúan con usuarios o fuentes externas de datos, el comando INSERT INTO es la herramienta principal para guardar esos datos en la base.
Si trabajas con apps backend o planeas crear APIs para procesar datos, saber insertar datos con SQL es una habilidad básica pero súper importante!
GO TO FULL VERSION