Introducción

1

¬ŅCu√°l es la diferencia entre MySQL y MariaDB?

2

Proyecto del curso: metro de CDMX

Diagramas Entidad Relación

3

Diagramas conceptuales vs. diagramas físicos

4

Diagrama conceptual: estableciendo relaciones

5

Diagrama físico: detalles en las tablas

6

Reto: relaciones en el diagrama físico

Instalando nuestras herramientas

7

Instalación de MariaDB en Windows

8

Instalación de MariaDB en Linux

9

Instalación de MariaDB en macOS

Sentencias b√°sicas

10

Archivos SQL: CREATE DATABASE

11

Manejo de usuarios para la base de datos

12

CREATE TABLE

13

Modificando tablas con ALTER TABLE

14

Playground: Manejo de Tablas con SQL

15

Insertando información en la base de datos

16

Actualizando información: UPDATE

17

Borrando datos: DELETE

18

Playground: INSERT, UPDATE y DELETE en SQL

19

Listando datos: SELECT

20

Playground: Metro de CDMX en SQL

Consultas anidadas

21

¬ŅQu√© son las consultas anidadas?

22

Creando nuestra primer consulta anidada

23

Playground: Metro de Bogot√° en SQL

Geolocalización

24

¬ŅC√≥mo funciona la geolocalizaci√≥n?

25

Creando nuestras consultas de geolocalización

26

Reto: geolocalización con consultas anidadas

Stored Procedures

27

¬ŅQu√© son los Stored Procedures?

28

Crea tus primeras Stored Procedures

29

Prepared statements

Triggers

30

¬ŅQu√© son los triggers?

31

Crea tus primeros triggers

32

Triggers compuestos

Bonus

33

Confesión personal: phpMyAdmin es superior

Próximos pasos

34

Cómo seguir aprendiendo SQL

No tienes acceso a esta clase

¬°Contin√ļa aprendiendo! √önete y comienza a potenciar tu carrera

Curso de Bases de Datos con MySQL y MariaDB

Curso de Bases de Datos con MySQL y MariaDB

Carlos Eduardo Gómez García

Carlos Eduardo Gómez García

Borrando datos: DELETE

17/34
Recursos

Aportes 22

Preguntas 5

Ordenar por:

¬ŅQuieres ver m√°s aportes, preguntas y respuestas de la comunidad?

Clasico

Leyendo el manual de MySQL, encontré la siguiente expresión que nos ayudaría a probar sin miedo a cargarnos nuestros datos. La expresión se llama TRANSACTION y nos permite realizar nuestras acciones y sólo aplicarlas si llamamos COMMIT o devolvernos si llamamos ROLLBACK.

Ejemplo:

-- Iniciamos una transacción
START TRANSACTION;

-- Oops!
DELETE FROM `stations`;

-- Empezamos a sudar
SELECT * FROM `stations`;

-- No nos preocupemos, le hacemos ROLLBACK y volvemos al estado inicial antes de comenzar la transacción.
ROLLBACK;

-- ūüéČ
SELECT * FROM `stations`;

Si estamos seguros que nuestros cambios est√°n correctos, en lugar de hacer ROLLBACK hacemos COMMIT.

PUEDES HACER PARA CREAR UNA TABLA IGUAL A stations APLICANDO ESTE COMANDO:

CREATE TABLE stations_delete SELECT * FROM stations;

Un profe EXCELENTE. Super explicado, cero dudas, bueno, tal vez un par pero espero despejarme un poco mas en clases posteriores.

USE metro_cdmx;

DROP TABLE stations_delete

he trabajado con sql server en proyectos reales, y una buena practica para evitar el problema de borrar toda la bd, es sacar backup antes de hacer cualquier modificacion.

Para eliminar una vez identificado todos los id también podríamos utilizar el siguiente query:

DELETE FROM `stations` WHERE id IN (164,165,166)

Para Workbench en las ultimas versiones existe el modo seguro que se puede activar o desactivar para evitar esos casos con DELETE:

delete from metro_mx.stations Error Code: 1175. You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column. To disable safe mode, toggle the option in Preferences -> SQL Editor and reconnect. 0.000 sec

Una buena practica a tener en cuenta es realizar inicialmente el select de lo que deseamos borrar, esto filtrando los registros, hasta es bueno hacer un backup y luego modificamos la consulta adicionando la clausula Update

TRUNCATE TABLE para reiniciar los id’s

Les dejo este tema cl√°sico sobre dl DELETE FROM <https://youtu.be/i_cVJgIz_Cs> ūü§£
En el Core financiero de la empresa donde trabajo realizamos borrado lógico en las tablas transaccionales y Delete solo aplicamos a tablas temporales que requieren limpieza anualmente.
Genial e importante esta clase.... ![](https://static.platzi.com/media/user_upload/image-74567f3d-e818-4c3d-873b-4b4c668479bd.jpg)
Otra manera de hacer el ejercicio que realizó el profe: ``````txt DELETE FROM `stations` WHERE id BETWEEN 164 AND 166; `````DELETE FROM `stations` WHERE id BETWEEN 164 AND 166;`` ``````

estoy impresionado, muy buen profesor

delete from `lines` where id=12;

NUNCA VOY A ESCRIBIR UN DELETE SIN EL WHERE!

Hasta existe una canción en youtube: No te olvides el where en el delete from.

Una manera de saber los IDs de m√°s de un record en SQL es usando IN

SELECT name, id FROM stations WHERE name IN("Merced", "L√°zaro de Guerrero")

.
Tambien otro tip es que cuando estamos estamos haciendo un DELETE, hay que ponerle un LIMIT 1, ya que para ciertas condiciones, se pueden borrar m√°s de uno.

DELETE FROM stations
WHERE id = 164
LIMIT 1;

Para los que intentaron hacer la prueba de ejecutar TRUNCATE en la tabla original y les salió el error debido a que la tabla tiene una referencia con otra tabla.

La solución para elimnar todo y reiniciar los id sería:

Hacer el DELETE FROM stations;
y luego realizar un ALTER TABLE stations AUTO_INCREMENT = 1

REFERENCIA: https://es.stackoverflow.com/questions/11331/como-reiniciar-el-auto-increment-de-mysql

ERROR

Cannot truncate a table referenced in a foreign key constraint (`metro_cdmx`.`locations`, CONSTRAINT `locations_station_id_foreing` FOREIGN KEY (`station_id`) REFERENCES `metro_cdmx`.`stations` (`id`))