Está en la página 1de 7

Procedimientos Almacenados (Stored procedure) en MySQL Nivel Básico

https://www.youtube.com/playlist?list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh

https://abelosh.com/procedimientos-almacenados-en-mysql/

Canal: Abel OS: https://www.youtube.com/@AbelOS

Servidores

Descripción Usuario Password Observaciones


AppServ
Laragon
Xampp root
WampServer

Carpeta: ProcedAlmPHPMySQL

Bases de Datos

Se crea la BD “nombre_base_de_datos” y se elije utf8_spanish2_ci

Código en SQL : CREATE DATABASE [Nombre de la BD];

Importar: se selecciona el archivo Recurso que contenga la BD, es formato *.sql y se deselecciona Habilite la revisión de
las claves foráneas

Descripción Usuario Password Observaciones


procedalmacmsql Root

Código en SQL (https://dev.mysql.com/doc/)


Descripción Código
Creación de la BD CREATE DATABASE procedalmacmsql;
Entrar a la BD USE procedalmacmsql;
Crear Tabla USE procedalmacmsql;
Persona
CREATE TABLE `persona` (
`idpersona` bigint(20) NOT NULL AUTO_INCREMENT,
`nombre` varchar(100) NOT NULL,
`apellido` varchar(100) NOT NULL,
`telefono` bigint(20) NOT NULL,
`email` varchar(100) NOT NULL,
`datecreate` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`status` varchar(20) NOT NULL,
PRIMARY KEY (`idpersona`)
) ENGINE=InnoDB;
Crear Tabla Tarea USE procedalmacmsql;

CREATE TABLE `tarea` (


`idtarea` bigint(20) NOT NULL AUTO_INCREMENT,
`nombretarea` varchar(100) NOT NULL,
`descripcion` text NOT NULL,
`fecha_inicio` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
`fecha_fin` datetime DEFAULT NULL,
`personaid` bigint(20) NOT NULL,
`status` varchar(20) NOT NULL,
PRIMARY KEY (`idtarea`)
) ENGINE=InnoDB
Crear Relación USE procedalmacmsql;

ALTER TABLE tarea ADD CONSTRAINT `tarea_persona_fk` FOREIGN KEY(`personaid`) REFERENCES persona(`idpersona`) ON DELETE CASCADE ON UPDATE
CASCADE;
Eliminar una ALTER TABLE nombre_tabla DROP FOREIGN KEY nombre_restriccion
relación
USE procedalmacmsql;
ALTER TABLE tarea DROP FOREIGN KEY tarea_persona_fk;
Modificar una USE procedalmacmsql;
columna ALTER TABLE persona MODIFY COLUMN status int(1) ; //cambia el tipo de la columna
Modificar el USE procedalmacmsql;
contenido de una ALTER TABLE persona ALTER COLUMN status SET DEFAULT 1;//por defecto pone 1
columna
Modificar nombre USE procedalmacmsql;
de un campo ALTER TABLE persona CHANGE telefono peso DECIMAL(10,2);//cambia el nombre y tipo de dato del campo telefono por peso con tipo decimal
Para devolverlo:
ALTER TABLE persona CHANGE peso teléfono BIGINT(20) NOT NULL ;//
Cambiar el RENAME TABLE tarea TO actividad
nombre a una
tabla
Eliminar una base https://www.youtube.com/watch?v=ImVovAMH-nU
de datos MySQL DROP DATABASE [Nombre de la BD];
de PHPMyAdmin DROP DATABASE procedalmacmsql;
en Windows
Las sentencias "DROP DATABASE" están desactivadas.: https://www.youtube.com/watch?v=mZuAlWc32qM
phpmyadmin habilitar declaración de base de datos de eliminación, se ingresa al siguiente archivo
C:\xampp\phpMyAdmin\config.inc.php
Se adiciona a lo ultimo la siguiente línea:
$cfg['AllowUserDropDatabase'] = TRUE;

Insertar datos a INSERT INTO persona (nombre,apellido,telefono,email) VALUES


una tabla ('Franklin', 'Garcia', 3152589698, 'fg@gmail.com');
INSERT INTO persona (nombre,apellido,telefono,email) VALUES
('Miller', 'Pérez', 345897869, 'mp@gmail.com');

INSERT INTO `persona` (`idpersona`, `nombre`, `apellido`, `telefono`, `email`, `datecreate`, `status`) VALUES (NULL, 'JUAN', 'MERCADO', '32569878',
'jm@gmail.com', current_timestamp(), 'Activo');

Insertar mas de un registro


INSERT INTO persona (nombre,apellido,telefono,email) VALUES
('Juan', 'Pérez', 345897869, 'jp@gmail.com'),
('Andres', 'Juarez', 321589694, 'aj@gmail.com'),
('Merlina', 'Cagua', 523689, 'mc@gmail.com'),
('Miller', 'Buitrago', 458963, 'mb@gmail.com');

INSERT INTO tarea (nombretarea, descripcion, fecha_inicio,personaid,status) VALUES


('Maquetar WEB', 'Maquetar con HTML y CSS', '2023-06-02', 1, 'Activo');
INSERT INTO tarea (nombretarea, descripcion, fecha_inicio,personaid,status) VALUES
('Programar WEB', 'Programar con PHP', '2023-06-03', 2,'Activo');

INSERT INTO `tarea` (`idtarea`, `nombretarea`, `descripcion`, `fecha_inicio`, `fecha_fin`, `personaid`, `status`) VALUES (NULL, 'Programar Formulario', 'Programar
Formulario en PHP', current_timestamp(), NULL, '3', 'Activo');
Mostrar Registros SELECT * FROM `persona`
insertados SELECT * FROM ` tarea `//muestra el contenido de todos los campos de la tabla
SELECT idpersona,nombre,apellido,teléfono,email FROM ` tarea `//muestra el contenido de los campos escritos de la tabla
Mostrar Registros SELECT * FROM `persona` WHERE idpersona = 1; //se condiciona a que se muestren los registros que cumplan la condición
insertados SELECT * FROM `persona` WHERE apellido = ‘Pérez’;
condicionados
(WHERE)
Contar Registros SELECT COUNT(*) FROM `persona`
(COUNT)
SELECT COUNT(*)AS Total FROM persona //devuelve el conteo con el campo Total

SELECT COUNT(*)AS Total FROM persona WHERE apellido = “Pérez” //devuelve el conteo con el campo Total según la condición
Ordenar Registros SELECT * FROM persona ORDER BY idpersona
(ORDER BY) (ASC SELECT * FROM persona ORDER BY nombre DESC
o DESC) SELECT * FROM persona WHERE status=“Activo” ORDER BY nombre DESC
OPERADOR SELECT * FROM persona WHERE status != 'Activo';
DIFERENTE DE (!=)
OPERADOR SELECT * FROM persona WHERE datecreate > '2023-06-05';
MAYOR QUE >, SELECT * FROM persona WHERE datecreate = '2023-06-05'; -- SI EL TIPO DE DATO ES FECHA FUNCIONA, PERO SI ES FECHA Y HORA NO
BETWEEN Y LIKE
LOS 2 SIGUIENTES DAN EL MISMO RESULTADO EN UN RANGO
SELECT * FROM persona WHERE datecreate >= '2023-06-03' AND datecreate <'2023-06-04';
SELECT * FROM persona WHERE datecreate BETWEEN '2023-06-03' AND '2023-06-04';

PARA BUSCAR TODO LO DE UNA DIA (BUSCA LA CADENA ANTERIOR A %)


SELECT * FROM persona WHERE datecreate LIKE '2023-06-03%'

OTRA MANERA DE BUSCAR EN UN SOLO DÍA SIN IMPORTAR EL MES


SELECT * FROM persona WHERE DAY(datecreate )=03

OTRA MANERA DE BUSCAR EN UN SOLO DÍA ESPECIFICANDO EL MES


SELECT * FROM persona WHERE DAY(datecreate )=03 AND MONTH(datecreate )=06

OTRA MANERA DE BUSCAR EN UN SOLO DÍA ESPECIFICANDO EL MES Y EL AÑO


SELECT * FROM persona WHERE DAY(datecreate )=03 AND MONTH(datecreate )=06 AND YEAR(datecreate )=2023

OTRA MANERA DE BUSCAR EN UN SOLO DÍA ESPECIFICANDO EL AÑO


SELECT * FROM persona WHERE DAY(datecreate )=03 AND YEAR(datecreate )=2023
OPERADOR OR SELECT * FROM persona WHERE APELLIDO = 'Pérez' OR telefono=465656;
OPERADOR IS SELECT * FROM `tarea` WHERE fecha_fin IS NULL;
NULL SELECT * FROM `tarea` WHERE fecha_fin IS NOT NULL;
OPERADOR LIKE SELECT * FROM tarea WHERE nombretarea LIKE 'programar%'
SELECT * FROM tarea WHERE nombretarea LIKE '%form%'
SELECT * FROM persona WHERE apellido LIKE '%mar%' OR telefono LIKE '%12%'
OPERADOR IN SELECT * FROM `persona` WHERE apellido IN('Perez', 'Marquez');
OPERADOR LIMIT SELECT * FROM `persona` LIMIT 2;
SELECT * FROM `persona` WHERE status != 'Inactivo' LIMIT 2;
SELECT * FROM `persona` WHERE status != 'Inactivo' ORDER BY idpersona DESC LIMIT 2;
SELECT * FROM `persona` LIMIT 0,5;//muestra los registros 0, 1,2,3,4, sirve para paginación
SELECT * FROM `persona` LIMIT 5,5;//muestra los registros 5,6,7,8,9
SELECT * FROM `persona` WHERE status != 'Inactivo' ORDER BY idpersona DESC LIMIT 0,5;//últimos registros
OPERADOR INNER //extraer registros de diferentes tablas
SELECT pr.idpersona, pr.nombre, pr.apellido, pr.telefono, tr.idtarea,tr.nombretarea, tr.fecha_inicio FROM per
JOIN
sona pr INNER JOIN tarea tr ON pr.idpersona = tr.personaid;

SELECT pr.idpersona, pr.nombre, pr.apellido, pr.telefono, tr.idtarea,tr.nombretarea, tr.fecha_inicio, tr.stat


us FROM persona pr INNER JOIN tarea tr ON pr.idpersona = tr.personaid WHERE tr.status='Activo';
UPDATE ATENCIÓN: Usar siempre WHERE

//Actualización uno a uno


UPDATE persona SET nombre="Carlos", apellido="Sanchez" WHERE idpersona=6;

// Actualización masiva
UPDATE persona SET status="Pendiente" WHERE idpersona IN(4,6,8);

DELETE ATENCIÓN: Usar siempre WHERE o sino pueden ser eliminados todos los registros de la tabla. No es una buena
práctica eliminar registros, es mejor desactivarlos.

DELETE FROM persona WHERE idpersona=17;

DELETE FROM persona WHERE teléfono IN(7894562);//elimina los registros donde aparezca ese numero telefónico
PROCEDIMIENTO //Estructura
ALMACENADO DELIMITER $$ (pueden ser también // en vez de $$)
CREATE PROCEDURE [nombre]()
BEGIN (apertura del procedimiento)

END; $$
DELIMITER ;

//Ejecutar el procedimiento almacenado


CALL [nombre]()

//Ejercicio 1. extraer todos los registros que cumplan la condición


DELIMITER $$
CREATE PROCEDURE select_personas()
BEGIN
SELECT idpersona, nombre,apellido,telefono,email FROM persona WHERE status !='Inactivo' ORDER BY
idpersona DESC;
END;$$
DELIMITER ;

CALL select_personas()

//Ejercicio 2. Extraer un registro en particular


DELIMITER $$
CREATE PROCEDURE select_persona(id BIGINT)
BEGIN
SELECT idpersona, nombre,apellido,telefono,email FROM persona WHERE idpersona = id AND status !
='Inactivo' ;
END; $$
DELIMITER ;

CALL select_persona([numero_registro])

//Ejercicio 3. Extraer un registros de acuerdo a una búsqueda.


DELIMITER $$
CREATE PROCEDURE search_persona(busqueda VARCHAR(100))
BEGIN
SELECT idpersona,nombre,apellido,telefono,email FROM persona WHERE (nombre LIKE
CONCAT('%',busqueda,'%') OR
apellido LIKE CONCAT('%',busqueda,'%')OR telefono LIKE CONCAT('%',busqueda,'%') OR email LIKE
CONCAT('%',busqueda,'%')) AND status !='Inactivo';
END; $$
DELIMITER ;

CALL select_persona([texto_busqueda])

//Ejercicio 4. Insertar Registros


DELIMITER $$
CREATE PROCEDURE insert_persona(nom VARCHAR(100), ape VARCHAR(100),tel BIGINT, emailp VARCHAR(100))
BEGIN
DECLARE existe_persona INT;
DECLARE id INT;
SET existe_persona = (SELECT COUNT(*) FROM persona WHERE email=emailp);
IF existe_persona = 0 THEN
INSERT INTO persona(nombre, apellido, telefono, email) VALUES(nom, ape, tel, emailp);
SET id = LAST_INSERT_ID();
ELSE
SET id = 0;
END IF;
SELECT id;
END; $$
DELIMITER ;

CALL insert_persona ([nombre, apellido, telefono, email])

//Ejercicio 5. Modificar Registros


DELIMITER $$
CREATE PROCEDURE update_persona(id BIGINT, nom VARCHAR(100), ape VARCHAR(100),tel BIGINT, emailp
VARCHAR(100))
BEGIN
DECLARE existe_persona INT;
DECLARE existe_email INT;
DECLARE idp INT;
SET existe_persona = (SELECT COUNT(*) FROM persona WHERE idpersona= id);
IF existe_persona > 0 THEN
SET existe_email = (SELECT COUNT(*) FROM persona WHERE email=emailp AND idpersona != id);
IF existe_email = 0 THEN
UPDATE persona SET nombre = nom, apellido=ape, telefono=tel, email= emailp WHERE
idpersona = id;
SET idp=id;
ELSE
SET idp = 0;
END IF;
ELSE
SET idp = 0;
END IF;
SELECT idp;
END; $$
DELIMITER ;

CALL delete_persona([id, nombre, apellido, telefono, email])

//Ejercicio 6. Eliminar Registros (No recomendado)


DELIMITER $$
CREATE PROCEDURE delete_persona(personaid BIGINT)
BEGIN
DECLARE existe_persona INT;
DECLARE id INT;
SET existe_persona = (SELECT COUNT(*) FROM persona WHERE idpersona= personaid);
IF existe_persona > 0 THEN
DELETE FROM persona WHERE idpersona= personaid;
SET id=1;
ELSE
SET id = 0;
END IF;
SELECT id;
END; $$
DELIMITER ;

CALL delete_persona([personaid])

CAMBIAR DROP PROCEDURE `select_persona`; CREATE DEFINER=`root`@`localhost` PROCEDURE


`select_personas`() NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER BEGIN SELECT idpersona, nombre,apelli
NOMBRE AL
do,telefono,email FROM persona WHERE status !='Inactivo' ORDER BY idpersona DESC; END
PROCEDIMIENTO
ALMACENADO

Usuarios

Descripción Usuario Password Observaciones

Descripción Enlace
https://www.youtube.com/watch?v=iyalJj3l1d4&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=1
Procedimientos Almacenados (Stored procedure) - Clase 1
1 - ¿Qué es un Procedimiento Almacenado?
2 - Su estructura.
3 - Ventajas y Desventajas.
4 - Cuando programarlos.
5 - Aplicación desarrollada con Procedimientos Almacenados.
https://www.youtube.com/watch?v=2kSvZZlZMoA&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=2
Crear Base de Datos y Tabla en MySQL - Clase 2
1 - Especificaciones del Servidor Local
2 - Conexión al Servidor con SQLyog
3 - Crear Base de datos en MySQL.
4 - Crear Tablas en Base de Datos MySQL.
https://www.youtube.com/watch?v=KciQDXo-VAg&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=3
Relacionar Tablas en MySQL - Clase 3
1 - Crear tablas con Instrucciones SQL
2 - Relacionar Tablas en MySQL (Llave Primaria y Llave Foránea)
3 - Modificar Campos en una Tabla con Instrucciones SQL.
https://www.youtube.com/watch?v=ID90_6-IneI&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=4
Instrucción ALTER Y DROP - Modificar y Eliminar Tablas y Campos en MySQL - Clase 4
1 - Instrucción Alter
2 - Instrucción Drop
https://www.youtube.com/watch?v=QTP4oV1Snr4&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=5
Insertar Datos en Tabla Relacional MySQL (Instrucción INSERT) - Clase 5
1 - Instrucción INSERT en MySQL
2 - Registrar Datos en una Tabla Relacional
https://www.youtube.com/watch?v=zHpvj9LV8SA&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=6
Buscar registros en MYSQL - WHERE, COUNT, AS, ORDER, ASC y DESC - Clase 6
1 - Instrucción SELECT en MySQL
2 - Clausula WHERE
3 - Sentencia COUNT (Contar registros)
4 - Sentencia ORDER (Ordenar registros)
5 - Ordenar de forma Ascendente y Descendente una consulta.
6 - Operador diferente de.
https://www.youtube.com/watch?v=ZivrOUjLMvc&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=7
Buscar Registros en MYSQL - WHERE, AND, BETWEEN, LIKE - Clase 7
1 - Instrucción SELECT en MySQL
2 - Clausula WHERE
3 - Operador AND
4 - Criterio de selección BETWEEN
5 - Criterio de selección LIKE
https://www.youtube.com/watch?v=6h0-_7cX0bg&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=8
Buscar Registros en MYSQL - WHERE, OR, NULL, LIKE, IN - Clase 8
1 - Instrucción SELECT en MySQL
2 - Clausula WHERE
3 - Operador OR
4 - Clausula NULL
5 - Clausula LIKE.
6 - Clausula IN.
https://www.youtube.com/watch?v=RCNMACRVTzY&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=9
Extraer Registros Con INNER JOIN y LIMIT en MySQL (Simular Paginación) - Clase 9
1 - Instrucción SELECT en MySQL
2 - Clausula WHERE
3 - LIMIT (Simular una paginación)
4 - INNER JOIN
https://www.youtube.com/watch?v=So0mVnUDMV8&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=10
Actualizar y Eliminar Registros en MySQL (UPDATE Y DELETE) - Clase 10
1 - Instrucción UPDATE en MySQL
2 - Instrucción DELETE en MYSQL
https://www.youtube.com/watch?v=jqla8nOnhmw&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=11
Stored Procedure de MySQL (Extraer Registros) - Clase 11
1 - Crear Stored Procedure
2 - Extraer registros con Stored Procedure
https://www.youtube.com/watch?v=8fqI_xljYtg&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=12
Stored Procedure de MySQL (Extraer Un Registros) - Clase 12
1 - Crear Stored Procedure
2 - Extraer un registros con Stored Procedure
3 - Clausula WHERE
https://www.youtube.com/watch?v=vMAXPCDtTL8&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=13
Stored Procedure en MySQL (Buscar Registros) - Clase 13
1 - Crear Stored Procedure
2 - Buscar registros registros con Stored Procedure
3 - Clausula LIKE
https://www.youtube.com/watch?v=tgi7pIpqUI8&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=14
Stored Precedure en MySQL (Insertar Registros) - Clase 14
1 - Crear Stored Procedure
2 - Buscar registro por email
3 - Insertar registros en MySQL
https://www.youtube.com/watch?v=GFuZsscCO6I&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=15
Stored Precedure en MySQL (Actualizar Registros) - Clase 15
1 - Crear Stored Procedure
2 - Validar registro
3 - Actualizar registros en MySQL
https://www.youtube.com/watch?v=kN_pFDsDspI&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=16
Stored Precedure en MySQL (Eliminar Registros) - Clase 16
1 - Crear Stored Procedure
2 - Validar registro
3 - Eliminar registros en MySQL
https://www.youtube.com/watch?v=jYQ9Ah_UnYs&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=17
Conectar PHP con MySQL MVC y POO - Clase 17
En este vídeo se explican la conexión de una base de datos en MySQL con PHP
implementando la arquitectura Modelo Vista Controlador y Programación Orientada a
Objetos.
https://www.youtube.com/watch?v=boSO6cAIS9Y&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=18
Integrar Bootstrap 5 en PHP, MVC y POO - Clase 18 https://getbootstrap.com/docs/5.3/getting-started/download/
En este vídeo se muestra como integrar Bootstrap 5 con PHP implementando la
arquitectura Modelo Vista Controlador y Programación Orientada a Objetos.
https://www.youtube.com/watch?v=958CtKaMr9g&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=19
Configurar Template HTML en PHP, MVC y POO - Clase 19 https://cdnjs.com/libraries/font-awesome
En este vídeo se muestra como configurar el Template con PHP implementando la https://fontawesome.com/

arquitectura Modelo Vista Controlador y Programación Orientada a Objetos.


https://www.youtube.com/watch?v=LYx41HaZ2S0&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=20
Formulario HTML en PHP, MVC y POO - Clase 20
En este vídeo se muestra como configurar el formularios de Bootstrap 5 con PHP
implementando la arquitectura Modelo Vista Controlador y Programación Orientada a
Objetos.
https://www.youtube.com/watch?v=ps6UtO5xAs0&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=21
Alert Personalizado en Javascript con PHP, MVC y POO - Clase 21 https://sweetalert.js.org/
En este vídeo se muestra como configurar el formularios de Bootstrap 5 con PHP
implementando la arquitectura Modelo Vista Controlador y Programación Orientada a
Objetos.
https://www.youtube.com/watch?v=Bul1z6XTWJE&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=22
Configurar Controladores y Modelos MVC, PHP y MySQL - Clase 22
En este vídeo se muestra como configurar los controladores y modelos aplicando MVC en
PHP con MySQL
https://www.youtube.com/watch?v=7igKOgSfG9E&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=23
Ejecutar Procedimiento Almacenado de MySQL con PHP, MVC y POO - Clase 23 https://jsonformatter.curiousconcept.com/
En este vídeo se muestra como ejecutar procedimientos almacenados programado en
MySQL con PHP, MVC y POO
https://www.youtube.com/watch?v=602aYMbfyTo&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=24
Extraer Información por AJAX con Async/Await con JavaScript, PHP, MVC y POO - Clase 24
En este vídeo se muestra como hacer peticiones AJAX con JavaScript haciendo uso de
Async/Await con JavaScript puro con PHP, MVC, POO y MySQL
https://www.youtube.com/watch?v=Dz48R084Zlk&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=25
Botones de Acción con JavaScript, PHP, MVC y POO - Clase 25
En este vídeo se muestra como configurar botones de acción en una tabla para proceso de
información de personas con JavaScript puro, PHP, MVC, POO y MySQL
https://www.youtube.com/watch?v=ZIVOE4CF6rg&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=26
Enviar Datos por AJAX con JavaScript desde Formulario HTML - Clase 26
En este vídeo se muestra como enviar datos por AJAX con JavaScript puro implementando
AWAIT con una función asincrona (Async)
https://www.youtube.com/watch?v=85Rok_dw-dA&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=27
Guardar Datos con Procedimiento Almacenado en MySQL y PHP - Clase 27
En este vídeo se muestra como enviar guardar datos enviados por AJAX con JavaScript
puro implementando AWAIT con una función asincrona (Async)
https://www.youtube.com/watch?v=FX8Twyd1oOE&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=28
Extraer Datos por AJAX y Mostrar en un Formulario HTML - Clase 28
En este vídeo se muestra como extraer datos con AJAX implementando JavaScript puro
con Async Await
https://www.youtube.com/watch?v=ucdVWCLD8h8&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=29
Actualizar Datos con Procedimiento Almacenado en MySQL y PHP - Clase 29
En este vídeo se muestra como enviar datos por AJAX implementando JavaScript puro con
Async Await, ejecutando un procedimiento almacenado desde PHP en MySQL con POO y
MVC
https://www.youtube.com/watch?v=qUNuNffZZIA&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=30
Eliminar Registros con Procedimiento Almacenado en MySQL y PHP - Clase 30
En este vídeo se muestra como eliminar registros de una base de datos con un
Procedimiento Almacenado ejecutado desde PHP con MVC y POO

https://www.youtube.com/watch?v=7WJq08guVqg&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=31
Buscador con AJAX, PHP, MVC y MySQL - Parte 1 - Clase 31
En este video se muestra como enviar datos por AJAX desde el evento Keyup de un input
de tipo text para filtrar datos de una base de datos con un procedimiento almacenado en
MySQL.
https://www.youtube.com/watch?v=s7HkjM_-mCE&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=32
Buscador con AJAX, PHP, MVC y MySQL - Parte 2 - Clase 32
En este video se muestra como enviar datos por AJAX desde el evento Keyup de un input
de tipo text para filtrar datos de una base de datos con un procedimiento almacenado en
MySQL.
https://www.youtube.com/watch?v=u91TUAH4UPE&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=33
Buscador con AJAX, PHP, MVC y MySQL - Parte3 - Clase 33
En este vídeo se muestra como integrar botones de acción con JavaScript puro.
https://www.youtube.com/watch?v=whSKB4opTKA&list=PL3b9xmg86NTKNgQ7_JUbQJ1hERNx61tLh&index=34
Exportar e Importar Base de Datos en MySQL - Clase 34
En este vídeo se muestra como exportar e importar una base de datos MySQL
configurando procedimientos almacenados

-- Para que no haya error cunado se suba a la nube la BD, en los Procedimientos borrar en
cada procedimiento
--
CREATE DEFINER=`root`@`localhost` PROCEDURE `delete_persona` (`personaid` BIGINT)
BEGIN

Insertar Código PHP <?php ?>


<?php ;?>
Insertar Código PHP (2) <?= ?>
Comentar en Html: <!-- -->
Comentar en Php: 1 línea //
Comentar en Php: 1 linea y multilinea /* */
Comentar en Css: /* */
Comentar en Javascript: <!-- --> // /* */
En VS Code, al presionar ctrl + k + s abres los “Keyboard Por defecto para comentar es: ctrl + k + c.
Shortcuts”. Ahí puedes ver que combinación de teclas se Descomentar: ctrl + k + u
usan para cualquier cosa.
Símbolo para colocar la tilde invertida en JavaScript ( ` ) Alt + 96
Teoría

Error: MySQL shutdown unexpectedly.

This may be due to a blocked port, missing dependencies, improper privileges, a crash, or a shutdown by another
method.

Press the Logs button to view error logs and check the Windows Event Viewer for more clues. If you need more help,
copy and post this entire log window on the fórums

Solución al error de MySql (Error: MySQL shutdown unexpectedly)

https://www.youtube.com/watch?v=5cCT1ThLqqU

https://www.youtube.com/watch?v=84IOtc05TuA

También podría gustarte