Tutorial 17: Insertar datos en una tabla (Operación CREATE)

 


Objetivo: Aprender a utilizar el comando INSERT INTO para añadir registros (filas) a nuestras tablas. Poblaremos nuestra tabla usuarios con datos de ejemplo y entenderemos cómo funciona la propiedad AUTO_INCREMENT en la práctica.

Hola, ¡bienvenido de nuevo!

Ya tenemos nuestra base de datos blog_db y la tabla usuarios creada. Pero una tabla sin datos es como una biblioteca sin libros. En esta lección, vamos a darle vida insertando nuestros primeros registros usando el comando INSERT INTO.

1. La Sentencia INSERT INTO

Para añadir datos a una tabla, utilizamos el comando INSERT INTO. Vamos a hacerlo directamente en el editor de consultas (Query Editor) de MySQL Workbench.

Sintaxis básica:

sql
INSERT INTO nombre_tabla (columna1, columna2, columna3)
VALUES (valor1, valor2, valor3);

2. Insertando nuestro primer usuario

Como ya tenemos la tabla usuarios abierta (o puedes abrir una nueva pestaña de consulta haciendo clic en el icono del archivo en blanco junto a la palabra "Query"), vamos a escribir nuestra primera sentencia.

  1. Selecciona la base de datos activa: Antes de ejecutar, asegúrate de que la base de datos blog_db esté seleccionada. Puedes escribir al principio del script:

    sql
    USE blog_db;

    O hacer doble clic en blog_db en el panel de Schemas (se pondrá en negrita).

  2. Escribe la sentencia INSERT:

    sql
    INSERT INTO usuarios (nombre, email, fecha_registro)
    VALUES ('Juan', 'honesto_ejemplo@hotmail.com', '2024-06-01');

    Explicación detallada:

    • INSERT INTO usuarios: Le decimos a MySQL en qué tabla vamos a insertar.

    • (nombre, email, fecha_registro): Especificamos explícitamente las columnas para las cuales vamos a proporcionar valores. El orden aquí debe coincidir con el orden de los valores.

    • VALUES: La palabra clave que introduce la lista de valores.

    • ('Juan', 'honesto_ejemplo@hotmail.com', '2024-06-01'): Los valores reales.

      • Las cadenas de texto (como nombres y emails) van entre comillas simples ''.

      • Las fechas también van entre comillas simples, en formato 'AAAA-MM-DD'.

  3. Ejecuta la consulta: Haz clic en el botón del rayo (Execute) o presiona Cmd + Shift + Enter.

Verás un mensaje en la sección "Output" que dice algo como: "1 row(s) affected" (1 fila afectada). ¡Felicidades, acabas de insertar tu primer registro!

3. ¿Qué pasó con user_id?

Habrás notado que no incluimos la columna user_id en nuestra lista. Esto es porque durante la creación de la tabla, marcamos user_id como AUTO_INCREMENT.

  • El poder del AUTO_INCREMENT: MySQL detecta que no le dimos un valor para user_id, así que automáticamente:

    1. Revisa cuál es el valor más alto de user_id en la tabla actual (como está vacía, asume 0).

    2. Le suma 1.

    3. Asigna ese número (en este caso, 1) al nuevo registro.

Para comprobarlo, vamos a consultar los datos.

4. Consultando los datos con SELECT

La sentencia SELECT es la forma de leer o visualizar datos en SQL. Es la "lupa" de la base de datos.

  1. En la misma pestaña o en una nueva, escribe:

    sql
    SELECT * FROM usuarios;
    • SELECT *: El asterisco (*) es un comodín que significa "todas las columnas". Le decimos a MySQL: "muéstrame todo lo que hay".

    • FROM usuarios: Le indicamos de qué tabla queremos sacar la información.

  2. Ejecuta la consulta.

En la cuadrícula de resultados (parte inferior), verás algo así:

user_idnombreemailfecha_registro
1Juanhonesto_ejemplo@hotmail.com2024-06-01

¡Ahí está! El user_id se generó automáticamente con el valor 1, tal como esperábamos.

5. Insertando Múltiples Registros (Bonus)

SQL nos permite insertar varias filas de una sola vez, lo cual es mucho más eficiente. Simplemente separamos los grupos de valores con comas.

sql
INSERT INTO usuarios (nombre, email, fecha_registro)
VALUES
    ('María', 'maria.garcia@gmail.com', '2024-06-02'),
    ('Carlos', 'carlos.rodriguez@yahoo.com', '2024-06-02'),
    ('Ana', 'ana.perez@outlook.com', '2024-06-03');

Ejecuta esta consulta. Ahora, si vuelves a ejecutar SELECT * FROM usuarios;, verás que tienes 4 filas, con user_id del 1 al 4 asignados automáticamente.

6. Buenas Prácticas y Errores Comunes

  • Las comillas son sagradas: Siempre usa comillas simples '' para texto y fechas. Los números (como INT) no llevan comillas.

  • Orden de valores: El orden en la lista de VALUES debe coincidir exactamente con el orden de las columnas que especificaste entre paréntesis.

  • Evita errores de integridad: Dado que marcamos las columnas como NOT NULL, si intentas insertar un registro sin proporcionar, por ejemplo, un nombre, MySQL te dará un error. Esto es bueno, porque protege tus datos de quedar incompletos.

Resumen de la Lección

Hoy hemos aprendido a:

  1. Usar el comando INSERT INTO para añadir datos a una tabla.

  2. Confirmar que la propiedad AUTO_INCREMENT funciona, asignando IDs únicos de forma automática.

  3. Usar el comando SELECT * FROM para visualizar los datos que hemos insertado.

  4. Insertar múltiples filas en una sola operación para ser más eficientes.

Si llegaste hasta aquí, ¡te doy mis felicitaciones! Ya sabes crear bases de datos, tablas e insertar datos. En las próximas lecciones, seguiremos avanzando para aprender a modificar y eliminar datos, y a hacer consultas más complejas.

¡Nos vemos en la próxima lección!

Comentarios

Entradas más populares de este blog

1-3-¿Qué es SQL?

6-8-Proyecto del Día 1

5-7. MySQL y MySQL Workbench