¡Hola, bienvenidos y bienvenidas! Dando continuidad al curso MySQL 8, hoy veremos cómo insertar registros en MySQL.
Hay dos maneras de insertar datos a una base de datos; una de forma visual con herramientas como MySQL Workbench o phpMyadmin y otra por consultas SQL.
¡Empecemos!
Insertar registros con una herramienta visual
Lo primero que debemos hacer es iniciar la herramienta de MySQL Workbench. Para ejemplificar, utilizaremos la base de datos de la “clínica-veterinaria” que creamos en una clase anterior.

Insertar registros en la tabla Clientes
En nuestra base de datos buscamos la tabla “Clientes”, hacemos clic derecho en la tabla y seleccionamos la opción “Select Rows – Limit 1000”. Se abrirá una nueva pestaña, en la parte de la grilla donde se muestran los campos de la tabla llenamos los siguientes datos como ejemplo.
- Cliente 1: Daniel, Osin, Zona Central, América #333, 656888890
- Cliente 2: Mariana, Valdez Rodriguez, Zona Rosales, México #1112, 765560001
En el campo Id no se registra ningún dato, ya que el campo se irá completando automáticamente. Debido a que se declaró a este campo como llave primaria y autoincremental.
Una vez completados los datos, hacemos clic en el botón “Apply”.

Se abrirá una ventana con el detalle de la consulta SQL, hacemos clic en el botón “Apply” para insertar los datos en la tabla “Clientes”.

Insertar registros en la tabla Mascotas
Del mismo modo, iremos registrando los siguientes datos en la tabla “Mascotas“:
- Mascota 1: Dogo, 6, Perro, Café claro, Macho, 1
- Mascota 2: Malaquin, 2, Perro, Blanco con negro, Macho, 1
- Mascota 3: Nala, 5, Gato, Negro, Hembra, 2
Los últimos datos de cada mascota corresponden al campo ”Id” de la tabla “Clientes” a quien pertenece la mascota. Una vez completados los datos, hacemos clic en el botón “Apply” para registrar la información.

Insertar registros desde consultas SQL
Una de las formas más frecuentes y prácticas para insertar registros en una base de datos es a través de consultas estructuradas en SQL. Aprender este lenguaje de consultas será sumamente útil al momento de acceder y consultar la información de una base de datos desde una aplicación.
Insertar registros en la tabla Doctores
Para llenar de datos la tabla de “Doctores”, escribiremos las siguientes consultas SQL en la pestaña de consultas de MySQL Workbench:
INSERT INTO clinica_veterinaria.doctores(`nombre_apellido`, `cargo`, `direccion`, `telefono`)values('Javier Gomez', 'Doctor', 'America #112', '767776688'); INSERT INTO clinica_veterinaria.doctores(`nombre_apellido`, `cargo`, `direccion`, `telefono`)values('Daniel Alba', 'Doctor', 'Libertador #144', '7677222233'); INSERT INTO clinica_veterinaria.doctores(`nombre_apellido`, `cargo`, `direccion`, `telefono`)values('Vera Duman', 'Asistente', 'Rosas #112', '45444444222');
Una vez escritas las sentencias SQL, hacemos clic en el botón “Execute” para generar los datos en la tabla “Doctores”.

Insertar registros en la tabla Servicios
De la misma forma, creamos la consulta para generar los datos en la tabla “Servicios”.
INSERT INTO clinica_veterinaria.servicios(`nombre`, `costo`, `detalle`)values('Peluqueria', 150.00, 'Corte y cepillado de pelo'); INSERT INTO clinica_veterinaria.servicios(`nombre`, `costo`, `detalle`)values('Desparasitación', 180.50, 'La primera desparasitación de un perro entre 21 y 30 días después de nacer'); INSERT INTO clinica_veterinaria.servicios(`nombre`, `costo`, `detalle`)values('Hotel o pensión', 49.00, 'Un hotel o pensión canina es un lugar con las instalaciones y el personal adecuado para que tu mascota se sienta como en casa'); INSERT INTO clinica_veterinaria.servicios(`nombre`, `costo`, `detalle`)values('Lavado y cepillado', 120.00, 'Lavado y cepillado de pelo'); INSERT INTO clinica_veterinaria.servicios(`nombre`, `costo`, `detalle`)values('Vacuna antirrabica', 20.50, 'Vacunas');
Insertar registros en la tabla Kardexs
Por último, creamos la consulta para generar los datos en la tabla “Kardexs”.
INSERT INTO clinica_veterinaria.kardexs(`codigo`, `detalle`, `mascota_id`)values('M0201001', 'Ser muy afectuosos con las personas', 1); INSERT INTO clinica_veterinaria.kardexs(`codigo`, `detalle`, `mascota_id`)values('M0201002', 'Jugueton, grande', 2); INSERT INTO clinica_veterinaria.kardexs(`codigo`, `enfermedades`, `detalle`, `mascota_id`)values('M0202003', 'Infeccion de piel', 'Tiene un tratamiento constante de la piel, se cae mucho el pelo', 3);
Insertar registros en la tabla pivot Doctor-Servicio
Para llenar los datos en las tabla Pivot (tercera tabla) generada de una relación muchos a muchos, se procede de manera similar a la creación de las tablas regulares, registrando los “Ids” de cada tabla involucrada.
Llenamos los datos en la tabla “doctor-servicio”.
INSERT INTO clinica_veterinaria.`doctor-servicio` (`doctor_id` , `servicio_id`) values (3, 1); INSERT INTO clinica_veterinaria.`doctor-servicio` (`doctor_id` , `servicio_id`) values (3, 3); INSERT INTO clinica_veterinaria.`doctor-servicio` (`doctor_id` , `servicio_id`) values (2, 2);
Insertar registros en la tabla Pivot Mascota-Servicio
Del mismo modo, llenamos los datos de la tabla “mascota-servicios” con la diferencia de que en esta tabla llenamos los datos fecha y detalle del servicio.
INSERT INTO clinica_veterinaria.`mascota-servicio` (`fecha`, `detalle`, `mascota_id` , `servicio_id`) values ('2022/03/15', 'corte con lavado de pelo', 1, 1); INSERT INTO clinica_veterinaria.`mascota-servicio` (`fecha`, `detalle`, `mascota_id`, `servicio_id`) values ('2022/03/16', 'Lavado de pelo', 2, 1); INSERT INTO clinica_veterinaria.`mascota-servicio` (`fecha`, `detalle`, `mascota_id`, `servicio_id`) values ('2022/03/17', 'desparacitacion de pulgas', 3, 2);
Así concluimos la clase insertar registros en MySQL. Si tienes alguna duda o consulta déjanos un mensaje.
En la siguiente clase veremos cómo actualizar y eliminar registros en MySQL.
¡Te espero en la próxima clase!
Saludos y éxitos.

Victor Peña
Desarrollador de software Backend Developer, experto en Laravel Framework, PHP, JavaScript y MySQL. Creador de contenidos de emprendimiento y desarrollo de software.
Pingback: Claves primarias, foráneas y relaciones entre tablas en MySQL - Norvic Software