SQL Manipulación de datos

-- CRUD Create Read Update Delete

-- Sentencias sql para manipular los datos
-- Crear, modificar y borrar

-- Crear, insertar datos en una tabla
-- INSERT INTO nombre_tabla (campo1,campo2,...) VALUES (valor1,valor2,...)
-- Comillas simples para las cadenas, escape para comilla

INSERT INTO paciente (codigo,nombre,apellidos,direccion,telefono,fecha_nacimiento)
VALUES ('PA001','Juan','Perez','Agla 6','66699966','2000-1-1');
INSERT INTO paciente (codigo,nombre,apellidos,direccion,telefono,fecha_nacimiento)
VALUES ('PA001','Juan','Perez','L\'orizon','66699966','2000-1-1');

-- Puedo poner varios valores después de values
INSERT INTO paciente (codigo,nombre,apellidos,direccion,telefono,fecha_nacimiento)
VALUES 
('PA006','Juan','Perez','L\'orizon','66699966','2000-1-1'),
('PA007','Juan','Perez','L\'orizon','66699966','2000-1-1'),
('PA008','Juan','Perez','L\'orizon','66699966','2000-1-1'),
('PA009','Juan','Perez','L\'orizon','66699966','2000-1-1');

-- No hace falta poner todos los campos, solo aquellos que quiero rellenar
-- Aquí no pongo código y no pasa nada, solo que ese campo no tenddrá valor
INSERT INTO Medico (nombre, apellidos, telefono, especialidad)
VALUES 
('Pedro', 'López', '911234567', 'Cardiología'),
('Elena', 'Rodríguez', '912345678', 'Neurología'),
('Miguel', 'Hernández', '913456789', 'Pediatría'),
('Laura', 'García', '914567890', 'Dermatología'),
('Alberto', 'Ruiz', '915678901', 'Oncología');

-- A veces si tenemos el id dentro del insert y no queremos poner valor
-- Lo ponemos NULL

INSERT INTO ingreso (idingreso,idpaciente,idmedico,habitacion,cama,fecha)
VALUES (NULL,1,1,20,2,'2024-1-1');

-- Modificar (update)
-- UPDATE nombre_tabla SET campo1=valor1, campo2=valor2... [WHERE condicion]

-- Modifica el nombre del paciente a 'Juanito' del paciente con id=1
UPDATE paciente SET nombre='Juanito' WHERE idpaciente=1;

-- Modificamos todos los registros porque no pongo condición
UPDATE ingreso SET cama=1;

-- Podemos usar el valor anterior del campo para hacer la modificación
-- A todos los registros súmale 10 al número de la habitación
UPDATE INGRESO set habitacion=habitacion+10;

-- Puedo modificar más de  un campo a la vez
UPDATE paciente SET nombre='Juanito', apellidos='Pi', 
direccion='diputacio 23', telefono='89898989'
WHERE idpaciente=1;

-- Eliminar registros DELETE
-- DELETE FROM nombre_tabla [WHERE condicion]

-- Eliminando todos los datos de los ingresos ¡Ojo!
DELETE FROM ingreso;

-- ELimino un registro concreto
DELETE FROM paciente where idpaciente=19;

-- Elimino los registros que cumplan una condicion
DELETE FROM paciente where nombre='Juan';


Publicado por

Juan Pablo Fuentes

Formador de programación y bases de datos