Bienvenida conceptos b谩sicos y contexto hist贸rico de las Bases de Datos

1

Bienvenida conceptos b谩sicos y contexto hist贸rico de las Bases de Datos

Introducci贸n a las bases de datos relacionales

2

Historia de las bases de datos relacionales

3

Qu茅 son entidades y atributos

4

Entidades de Platzi Blog

5

Relaciones

6

M煤ltiples muchos

7

Diagrama ER

8

Diagrama F铆sico: tipos de datos y constraints

9

Diagrama F铆sico: normalizaci贸n

10

Formas normales en Bases de Datos relacionales

11

Diagrama F铆sico: normalizando Platziblog

RDBMS (MySQL) o c贸mo hacer lo anterior de manera pr谩ctica

12

Instalaci贸n local de un RDBMS (Windows)

13

驴Qu茅 es RDB y RDBMS?

14

Instalaci贸n local de un RDBMS (Mac)

15

Instalaci贸n local de un RDBMS (Ubuntu)

16

Clientes gr谩ficos

17

Servicios administrados

SQL hasta en la sopa

18

Historia de SQL

19

DDL create

20

CREATE VIEW y DDL ALTER

21

DDL drop

22

DML

23

驴Qu茅 tan standard es SQL?

24

Creando Platziblog: tablas independientes

25

Creando Platziblog: tablas dependientes

26

Creando Platziblog: tablas transitivas

Consultas a una base de datos

27

驴Por qu茅 las consultas son tan importantes?

28

Estructura b谩sica de un Query

29

SELECT

30

Playground: SELECT en SQL

31

FROM y SQL JOINs

32

Utilizando la sentencia FROM

33

WHERE

34

Utilizando la sentencia WHERE nulo y no nulo

35

GROUP BY

36

ORDER BY y HAVING

37

El interminable agujero de conejo (Nested queries)

38

驴C贸mo convertir una pregunta en un query SQL?

39

Pregunt谩ndole a la base de datos

40

Consultando PlatziBlog

Introducci贸n a la bases de datos NO relacionales

41

驴Qu茅 son y cu谩les son los tipos de bases de datos no relacionales?

42

Servicios administrados y jerarqu铆a de datos

Manejo de modelos de datos en bases de datos no relacionales

43

Top level collection con Firebase

44

Creando y borrando documentos en Firestore

45

Colecciones vs subcolecciones

46

Recreando Platziblog

47

Construyendo Platziblog en Firestore

48

Proyecto final: transformando tu proyecto en una db no relacional

Bases de datos en la vida real

49

Bases de datos en la vida real

50

Big Data

51

Data warehouse

52

Data mining

53

ETL

54

Business intelligence

55

Machine Learning

56

Data Science

57

驴Por qu茅 aprender bases de datos hoy?

Bonus

58

Bases de datos relacionales vs no relacionales

59

Elegir una base de datos

No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Aprende todo un fin de semana sin pagar una suscripci贸n 馃敟

Reg铆strate

Comienza en:

1D
4H
57M
11S

DML

22/59
Recursos

DML trata del contenido de la base de datos. Son las siglas de Data Manipulation Language y sus comandos son:

  • Insert: Inserta o agrega nuevos registros a la tabla.
  • Update: Actualiza o modifica los datos que ya existen.
  • Delete: Esta sentencia es riesgosa porque puede borrar el contenido de una tabla.
  • Select: Trae informaci贸n de la base de datos.

Aportes 392

Preguntas 110

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Como curiosidad imagine que si pod铆a agregar varios datos a mi tabla y si se pod铆a, tal vez sea algo obvio para muchos pero si reci茅n est谩s empezando en esto cr茅eme que te emociona hacer estas simples cosas.
adjunto imagen:


el profe viendo como hago un delete sin where

Donde se te olvide el WHERE en un update o delete tu estado de empleado ser谩 actualizado a cliente :v

Resumen de esta clase y las tres anteriores

DDL -> Data Definition Language
Ayuda a crear la estructura de una BD.

  • Create
    * Database
    * Table
    * View
  • Alter
  • Drop

DML -> Data Manipulation Language
Ayuda a la manipulacion del contenido

  • Insert
  • Update
  • Delete
  • Select

Y yo que elimin茅 las tablas por la clase pasada #VivaYo.

Por si alguien quiere copiar y pegarlo

INSERT INTO people (last_name, first_name, address, city) 
  VALUES ('Hern谩ndez', 'Laura', 'Calle 21', 'Monterrey');

La cara de todos los que eliminamos nuestra tabla en la clase anterior .-.

Para evitar borrar cualquier dato sin querer por ejemplo borrar todos los datos de una tabla es importante hacer uso de BEGIN TRAN NOMBRE_DE_LA_TRANSACCION

La sentencia que se utiliza para indicar el comienzo de una transacci贸n es BEGIN TRAN. Si alguna de las operaciones de una transacci贸n falla hay que deshacer la transacci贸n en su totalidad para volver al estado inicial en el que estaba la base de datos antes de empezar. Esto se consigue con la sentencia ROLLBACK TRAN

Si todas las operaciones de una transacci贸n se completan con 茅xito hay que marcar el fin de una transacci贸n para que la base de datos vuelva a estar en un estado consistente con la sentencia COMMIT TRAN

En vez de ejecutar DELETE FROM CLIENTES que borra todos los registros de la Tabla CLIENTES puedes ejecutar BEGIN TRAN TRANCLIENTE DELETE FROM CLIENTES que hace lo mismo pero no asegura los cambios en la base de datos. Si al realizar una consulta de verificaci贸n y darte cuenta que eliminaste todos los datos de la tabla puedes deshacer la operaci贸n con ROLLBACK TRAN TRANCLIENTE o si quieres confirmar que el DELETE fue realizado correctamente usas COMMIT TRAN TRANCLIENTE para confimar los datos y asentar los cambios en la base de datos.

Cerrar el motor de base de datos (en mi caso SQL SERVER) elimina las transacciones en memoria que no se hayan confirmado (lo mismo que ROLLBACK TRAN).

Puedes hacer varias transacciones al tiempo, lo 煤nico que necesitas es definir nombres de transacciones diferentes.

Me parece bueno tener visualizado este diagrama (obtenido del enlace del profesor)

Yo se que borraste tu tabla xD. Dejare esto por aqu铆鈥

CREATE TABLE people (
	person_id int AUTO_INCREMENT,
    last_name varchar(225),
    first_name varchar(255),
    address varchar(255), 
    city varchar(255),
		PRIMARY KEY (person_id)
);
INSERT INTO people(last_name,first_name,address,city)
VALUES('V谩zquez', 'Israel','Calle Famosa Num 1','M茅xico'),
('Hern谩ndez','M贸nica','Reforma 222','M茅xico'),
('Alanis','Edgar','Central 1', 'Monterrey');
SELECT * FROM people;

Buen dia platzinautas, aqu铆 dejo unos conceptos que pueden ayudar a reforzar el tema:
DML: Data Manipulation Language
Por su traducci贸n lenguaje de manipulaci贸n de datos nos proporciona comandos para llevar acabo tareas de consulta o manipulaci贸n de datos
Comandos DML:
Select (Seleccionar): Este comando nos permite consultar los datos almacenados en una tabla de la base de datos. Select cuenta con los siguientes subcomandos:

  • ALL: Indica que queremos seleccionar todos los valores.
  • DISTINCT: Indica que queremos seleccionar s贸lo los valores distintos
  • FROM: Indica la tabla (o tablas) desde la que queremos recuperar los datos.
  • WHERE: Especifica una condici贸n que debe cumplirse para que los datos sean devueltos por la consulta. Admite los operadores l贸gicos AND y OR.
  • GROUP BY: Especifica la agrupaci贸n que se da a los datos.
  • ORDER BY: Presenta el resultado ordenado por las columnas indicadas.
    Insert (Insertar): Este comando agrega uno o m谩s registros a una (y s贸lo una) tabla en una base de datos relacional.
    Update (Actualizar): Este comando es utilizado para modificar los valores de un conjunto de registros existentes en una tabla.
    Delete (Borrar): Este comando borra uno o m谩s registros existentes en una tabla.
    Espero les ayude amigos, saludos. 馃槂

Las sentencias SQL se dividen en dos categor铆as; Lenguaje de definici贸n de datos; data definition language (DDL) y Lenguaje de manipulaci贸n de datos ;data manipulation language (DML).

Lenguaje de definici贸n de datos (DDL)
Las sentencias DDL se utilizan para crear y modificar la estructura de las tablas as铆 como otros objetos de la base de datos.

CREATE - para crear objetos en la base de datos.
ALTER - modifica la estructura de la base de datos.
DROP - borra objetos de la base de datos.
TRUNCATE - elimina todos los registros de la tabla, incluyendo todos los espacios asignados a los registros.
Lenguaje de manipulaci贸n de datos (DML)
Las sentencias de lenguaje de manipulaci贸n de datos (DML) son utilizadas para gestionar datos dentro de los schemas. Algunos ejemplos:

SELECT - para obtener datos de una base de datos.
INSERT - para insertar datos a una tabla.
UPDATE - para modificar datos existentes dentro de una tabla.
DELETE - elimina todos los registros de la tabla; no borra los espacios asignados a los registros.

Las palabras reservadas pueden escribirse tanto en mayuscula como en minuscula. Sin embargo, la convencion(y buena practica) es usarlas por completo en mayusculas.

Un truco que uso con los UPDATE es en vez de ejecutarlo directamente, cambio el UPDATE por SELECT y veo si los datos que me regresa son los que quiero actualizar.

Hace unos d铆as me llamo la atenci贸n un comentario que hace referencia al termino de error de capa 8. Un d铆a completo me gener贸 esa inquietud de saber a que se refer铆a, hoy que tuve tiempo, me entero que el error de capa 8 es un t茅rmino utilizado para indicar que el error es causado por la ineptitud del usuario.

dddsf

Insert: 

	INSERT INTO 		`Nombre_de_la_Base_de_Datos`.`Nombre_de_la_tabla`
		(`Columna1`,`Columna3`,`ColumnaN`) VALUES ('ValorCol1','ValorCol3','ValorColN');
	
Update:
	UPDATE Nombre_de_la_tabla
	SET ColumnaAModificar1=Nuevo_valor, ColumnaAModificar2='Nuevo_valor'
	WHERE ColumnaGuia= 'ValorGu铆a'; // Fila en la que afectara
	
Delete:
	DELETE FROM Nombre_de_la_tabla
	WHERE ColumnaGuia = 'ValorGu铆a'; // Fila en la que afectara
	
Select:
	SELECT Columnas_a_mostrar FROM Nombre_de_la_tabla
	WHERE ColumnaGuia = 'ValorGu铆a';

Borre mi base, ahora tengo que volver hacerla XD

UPDATE: cambiar registro.
SET: par谩metros a cambiar:
WHERE: especifica el registro a cambiar.
INSERT: agregar registro.
INTO: tabla a agregar los registros.
VALUES: valores a agregar.
DELETE: eliminar registro.
FROM: especifica la tabla.
WHERE: especifica el registro a eliminar.

Si ves esto DELETE FROM clients; en tu consola, huye lo m谩s lejo posible 馃槂.

La instrucci贸n WHERE es muy importante utilizar en nuestros DELETEs, UPDATEs.

DELETE FROM clients WHERE client_id = 1;

DML: DATA MANIPULATION LANGUAGE

  • Se utiliza prinicipalmente para la manipulacion de la base de datos.
  • Operaciones principales: INSERT, UPDATE, DELETE, SELECT.
  • Las operaciones arriba mencionadas se utilizan a lo largo de todo el desarrollo del proyecto.
  • INSERT
    • Agrega un nuevo registro o tupla a nuestra database.
    • Se utiliza de la siguiente manera:
      • INSERT INTO (nombreDeLaTabla) (listaDeNombresDeAtributos)
      • values (listaDeValoresDeAtributos);
  • UPDATE
    • Actualiza o modifica los datos que ya existen.
    • No inserta un dato si este no existe.
    • Se utiliza de la siguiente manera:
      • UPDATE people (para actualizar la tabla con ese nombre)
      • SET lastName = 鈥楥havez鈥, city = 鈥楳erida鈥 (actualizar los datos como se especifico en el set)
      • WHERE personID = 1; (donde el ID sea igual a 1).
      • Sino se usa el WHERE, el cambio se realiza sobre toda la base de datos.
      • Mas ejemplos en el minuto 08:10.
  • DELETE
    • RIESGOSO!
    • Esta sentencia borra permanentemente uno o varios resgistros de una tabla. Si es mal utilizada (por ejemplo, sin utilizar WHERE, borra la tabla entera).
    • Se utiliza de la siguiente manera:
      • DELETE FROM people (borrar de la tabla de nombre 鈥減eople鈥)
      • WHERE personID = 1 (donde el ID es 1)
      • (borra de la tabla la persona de ID 1).
  • SELECT
    • Nos trae informacion de la base de datos.
    • Se utiliza de la siguiente manera:
      • SELECT (campo o campos a traer de la base)
      • FROM (nombreDeLaTabla)
      • WHERE; (opcional, para restringir o filtrar los datos)

DDL=Define la estructura
DML = Manipula datos o informaci贸n

Yo al ver que el profe inserta datos en la tabla que borre en la clase anterior.

Si queremos usar el WHERE con doble condicional, es decir que dado el caso de que tengamos valores repetidos y necesitemos dos o m脿s valores para poder identificar una columna(sin usar el primary key)
utilizamos el 'and鈥
EJEMPLO :
UPDATE people
SET last_name = 'Solanito鈥
WHERE first_name = 鈥業srael鈥 and address = 鈥楥alle famosa鈥;

DML (Data Manipulation Language)

  • Insert: insertar datos en tablas
  • Update: actualizar datos
  • Delete: Borra datos de una tabla
  • Select: consultar datos de una tabla

Me siento como ni帽o peque帽o experimentando con las bases de datos, el lenguaje es tan sencillo y con tan pocas l铆neas ves resultados.

Cuando se esta trabajando en producci贸n y necesites hacer un UPDATE o un DELETE de un gran numero de registros al mismo tiempo, es muy recomendable que crees una copia temporal de la tabla que vas a afectar. Escribes el Query que vas a ejecutar y lo aplicas a la tabla temporal, revisas que todo este correcto y de acuerdo a lo deseado y procedes a aplicar el Query a la tabla de producci贸n.

De esta manera jam谩s tendr谩s un mini ataque card铆aco de esos 馃槂

para la ultima version de workbrench(2020) a la hora de practicar la funcion UPDATE, me salia mucho el error," 1175 You are using safe update mode and you tried to update a table without a WHERE that uses a KEY column."
al intentar solucionar como dijo el profe y no solucionar nada, googlee el error y encontre que se puede desactivar de la siguiente manera:
SET SQL_SAFE_UPDATES = 0;
ejecuten este comando antes de hacer los UPDATES.
espero les sea de mucha ayuda

No te olvides de poner el where en el delete from 鈾

Para correr el c贸digo y no usar 鈥渆l rayito鈥, se puede seleccionar el code a ejecutar y en el teclado presionar Ctrl + Enter.

Les comparto algo que muy posiblemente ya saben 馃槂

Para desactivar la opci贸n de actualizaciones seguras (lo que no permite ejecutar la segunda ni la tercera sentencia del UPDATE)
debes ejecutar la siguiente sentencia:

SET SQL_SAFE_UPDATES = 0;

Y si deseas volver a activarla, ejecuta:

SET SQL_SAFE_UPDATES = 1;

Estoy feliz, pude lograr seguir todos los ejemplos del profesor, bravo por los aportes de los compa帽eros que dejan aportes con soluciones.

No existe el ctrl+z en workbench?

El uso de las sentencias INSERT, UPDATE, DELETE y SELECT se le conoce dentro del desarrollo de software como el CRUD (Create: Crear, Read: Leer, Update: Actualizar, Delete: Borrar); el cual pueden consultar en el siguiente link: https://es.wikipedia.org/wiki/CRUD

Este curso esta buenisimo

no se olviden el where 鈥

Un tip muy 煤til al trabajar en Mysql Workbench es que para ejecutar el comando solo de la l铆nea en donde est谩 el cursor pulsas CTRL + ENTER y para ejecutar todos los comandos escritos en el editor pulsas CRTL + SHIFT + ENTER. No necesitas seleccionar todos los comandos como hace el profesor, aunque supongo que por algo lo hace.

No s茅 si a todos les ayude pero, yo no guard茅 la clave de mysql root en mac os, por eso adjunto este peque帽o tutorial de como cambiarla ver aqu铆

Data Model Language
Comandos usados:
- Insert?
鈼 Insert into people (last_name, first_name, adrres, city)?values (鈥榟ernandez鈥, 鈥楲aura鈥, 鈥楥alle 21鈥, 鈥楳onterrey鈥);?
- Update
鈼 UPDATE people?SET last_name = 鈥楥havez鈥, city = 鈥楳erida鈥?WHERE person_id = 1;?
- Delete
鈼 DELETE FROM people?WHERE person_id = 1;?
- Select
鈼 SELECT first_name, last_name?FROM people;

DML
En ingles es el acr贸nimo de Data Manipulation Language, y es un idioma que proporcionan los DBMS y permiten al usuario llevar tareas de consulta o modificaci贸n de datos. El lenguaje de manipulaci贸n de datos mas famoso hoy en dia es SQL, cuyos elementos son: SELECT, INSERT, DELETE y UPDATE.

Me gustan mucho las clases con este profesor, realmente sabe los que hace y lo mas importante, sabe transmitir sus conocimientos a los alumnos.

Com o se crea la nueva pesta帽a cuando ingresa los comandos.
Yo tengo My SQL 8 y me abre solo una pesta帽a

Si como yo, borraste tu base de datos, puedes volver a crearla con los siguientes comandos en Workbench:

Primero necesitamos crear el schema:

CREATE SCHEMA `platzi_test` DEFAULT CHARACTER SET utf8 ;

Despu茅s, la tabla:

CREATE TABLE `platzi_test`.`people` (
  `person_id` INT NOT NULL AUTO_INCREMENT,
  `last_name` VARCHAR(50) NULL,
  `first_name` VARCHAR(50) NULL,
  `adress` VARCHAR(50) NULL,
  `city` VARCHAR(50) NULL,
  PRIMARY KEY (`person_id`));

Recuerda seleccionar la opci贸n 鈥淪et as default schema鈥
Y ahora si, puedes continuar con la clase 馃槈

DML trata del contenido de la base de datos. Son las siglas de Data Manipulation Language y sus comandos son:

Insert: Inserta o agrega nuevos registros a la tabla.
Update: Actualiza o modifica los datos que ya existen.
Delete: Esta sentencia es riesgosa porque puede borrar el contenido de una tabla.
Select: Trae informaci贸n de la base de datos.

Comparto la practica de inserci贸n de datos en el ejercicio practico que estoy realizando.

  • Los scripts de la clase:

Insert

INSERT INTO people (last_name,
first_name, address, city)
VALUES ('Hern谩ndez', 'Laura',
'Calle 21', 'Monterrey');

Update

	UPDATE people
  SET last_name = 'Ch谩vez', city= 'M茅rida'
  WHERE person_id = 1;

  UPDATE people
  SET first_name = 'Juan'
  WHERE city = 'M茅rida';

  UPDATE people
  SET first_name = 'Juan';

Delete

DELETE FROM people
WHERE person_id = 1;

Select

SELECT fist_name, last_name
FROM people;

Por si usan la versi贸n 8 de MySQL en Windows y les sale el error 1046:

UPDATE platziblog.people
SET last_name =鈥楥havez鈥 , city = 'Merida鈥
WHERE id_persom = 1;

insert into books(title, author, publication_year)
VALUES ("The Death and Life of the great American School System", 
"Diane Ravitch", "2010"),
("Powerful Teaching", "Pooja K Agarwal", "2019"),
("Math Fact Fluency", "Gina Kling", "2019"),
("Research Methods in Education", "Louis Cohen", "2017"),
("Why don't students like school?", "Daniel T. Willingham", "2009");
INSERT INTO `platzi_test`.`people` (`person_id`, `last_name`, `first_name`, `address`, `city`) 
VALUES ('1', 'V谩squez', 'Israel', 'Calle Famosa Num 1', 'M茅xico'),
	       ('2', 'Hern谩ndez', 'M贸nica', 'Reforma 222', 'M茅xico'),
	       ('3', 'Alanis', 'Edgar', 'Central 1', 'Monterrey');

INSERT INTO people (last_name, first_name, address, city) 
  VALUES ('Hern谩ndez', 'Laura', 'Calle 21', 'Monterrey');

En 谩lgebra relacional conocemos como proyecci贸n lo siguiente SELECT first_name, last_name FROM people;

Se clasifican en dos grandes grupos:

lenguajes de consulta procedimentales
Lenguajes procedimentales. En este tipo de lenguaje el usuario da instrucciones al sistema para que realice una serie de procedimientos u operaciones en la base de datos para calcular un resultado final.

lenguajes de consulta no procedimentales
En los lenguajes no procedimentales el usuario describe la informaci贸n deseada sin un procedimiento espec铆fico para obtener esa informaci贸n

DML: trata del contenido de la base de datos. Son las siglas de Data Manipulation Language y sus comandos son:

  • Insert: Inserta o agrega nuevos registros a la tabla.
    INSERT INTO platziblog.people(last_name, first_name, address, city)
    VALUES (鈥楬ernandez鈥, 鈥楲aura鈥, 鈥楥alle 21鈥,鈥楳onterrey鈥);
    .
  • Update: Actualiza o modifica los datos que ya existen.
    UPDATE people
    SET last_name = 鈥楥hav猫z鈥, CITY = 'Merida鈥
    WHERE person_id = 1;
    .
  • Delete: Esta sentencia es riesgosa porque puede borrar el contenido de una tabla.
    Delete FROM people
    WHERE person_id = 1;
    .
  • Select: Trae informaci贸n de la base de datos.
    SELECT first_name, last_name
    FROM people;

A mi me funcion贸 indicando primero el nombre de la base de datos y luego el nombre de la tabla, separandolos solo con un punto (lo hice en windows)

INSERT INTO platziblog.people (last_name, first_name, address, city)
VALUES ('V谩zquez', 'Israel', 'Calle Famosa Num 1', 'M茅xico'),
('Hern谩ndez', 'M贸nica', 'Reforma 222', 'M茅xico'),
('Alanis', 'Edgar', 'Cental 1', 'Monterrey');

Si sale ese error del UPDATE 驴hay forma de ignorarlo? se me ocurre que pueden haber casos donde si necesitemos hacer algo as铆 y por lo que veo en la explicaci贸n no dejo avanzar.

Si quieren borrar algun campo o en un rango pueden hacer

DELETE FROM people 
WHERE id < 0 AND id > 10 

Asi podrias borrar en rango o multiples registros, al menos esta fue una forma que descubri en stackoverflow

Yo crei que el lenguaje m谩s f谩cil para aprender era python, pero aparentemente MYSQL es demasiado f谩cil

Pregunta de examen: 驴En qu茅 fase de un proyecto se utiliza m谩s fuertemente el lenguaje DML?

El profe nos hizo borrarla para despues volver a usarla鈥 me toco hacer todo de nuevo!

yo en el minuto 11,volvi茅ndome loco por no saber por que no se ejecuta el UPDATE, 馃槀馃槀, excelente clase profesor!

https://www.youtube.com/watch?v=JPKHHw6o6Iw
A qui esta el v铆deo para desactivar el modo seguro
Error: 1175

Me gust贸 mucho esta clase, la verdad muy buena. Buen profesor!

Si quieres ejecutar el segundo Update del ejercicio sigue los siguientes pasos:

  1. Ve a la pesta帽a Edit y selecciona la opci贸n Preferences
  2. Selecciona la opci贸n SQL Editor y luego quitale el chulito a la opci贸n que dice Safe Updates (鈥) y dale OK.
  3. Ve luego a la pesta帽a Query y da click en la opci贸n Reconnect to Server
  4. Ejecuta nuevamente el Update con Ctrl + Enter. 馃槃

Esta es una opcion En MySQL
Es la base de datos con la que he estudiado.

El cliente de MySQL trae por defecto dentro de las utiler铆as, un comando que nos sirve para realizar respaldos de datos en el servidor MySQL. Dicho comando es mysqldump.

El comando mysqldump se utiliza desde la terminal y recibe una serie de par谩metros en los cuales podemos definir el realizar un respaldo completo del servidor, de una base de datos espec铆fica 贸 tablas espec铆ficas dentro de una base de datos. Esto es muy 煤til cuando tenemos informaci贸n cr铆tica y deseamos implementar una tarea autom谩tica de respaldos.

As铆 como con el cliente de MySQL, el comando mysqldump necesita de un usuario que tenga los privilegios necesarios para extraer la informaci贸n de la base de datos a respaldar.

La sint谩xis b谩sica del comando mysqldump es:

mysqldump -u [usuario] -p [base de datos] > [archivo de respaldo].sql
Rutinas b谩sicas con el comando mysqldump
Dentro de las rutinas b谩sicas de respaldo podemos encontrar las siguientes:

Respaldo completo de una base de datos
mysqldump -u [usuario] -p [base de datos] > [archivo de respaldo].sql
Respaldo parcial de una base de datos
mysqldump -u [usuario] -p [base de datos] [tabla1] [tabla2] > [archivo de respaldo].sql
Respaldo parcial de una base de datos, s贸lo estructura (sin datos)
mysqldump -u [usuario] -p [base de datos] [tabla1] [tabla2] --no-data > [archivo de respaldo].sql
Respaldo completo de todas las bases de datos
mysqldump -u [usuario] -p --all-databases > [archivo de respaldo].sql
Respaldo parcial de una tabla a formato CSV
mysqldump -u [usuario] -p --tab /tmp --fields-enclosed-by=" --fields-terminated-by=, [base de datos] [tabla1] [tabla2]
Este 煤ltimo comando va a crear dos archivos para cada tabla, uno en formato .txt con la informaci贸n y otro en formato .sql con la estructura de la tabla.

Enlace https://www.nanotutoriales.com/como-crear-un-respaldo-en-una-base-de-datos-mysql

gracias por dictar el curso con tanta claridad, la verdad los acercamientos que he tenido a bases de datos en la universidad me hab铆an hecho tenerles miedo pero est谩 siendo muy ameno el curso.

Insert, como su nombre indica, agrega un nuevo registro a nuestra tabla en la base de datos. Es decir insertar registro o renglones en la estructura b谩sica. Primeramente va en el comando: 鈥淪ELECT INTO鈥 y, luego va: 鈥淰ALUES鈥, value, significa los valores que se van a colocar en los select, que se escogieron anteriormente. Es importante conocer que los campos que est茅n, 鈥渧acios鈥, se coloquen con el valor default, que decidimos poner. Recomendaciones: (i)ES IMPORTANTE MANTENER EL ORDEN, de los campos que se pusieron arriba. hay que tener cuidado con ver el orden y, los datos Default en la configuraci贸n de los 鈥渙bjetos鈥

Insert: Inserta o agrega nuevos registros a la tabla.
Update: Actualiza o modifica los datos que ya existen.
Delete: Esta sentencia es riesgosa porque puede borrar el contenido de una tabla.
Select: Trae informaci贸n de la base de datos.

Insert agrega registros a una tabla
Se puede ingresar todos los campos, o se dejan vac铆os algunos, ah铆 es donde entra el valor por defecto de la tabla.
Insertar a una tabla estos valores.

Recuerden siempre poner el where miren lo que le paso a gitlab que de suerte se salvo o si no hoy no existiria gitlab
https://www.youtube.com/watch?v=3gzyy9UMRvg&t=1s

隆Hola!
Comparto queries para que realices los ejercicios 馃槂

Insert
INSERT INTO people (last_name, first_name, address, city)
VALUES (鈥楬ern谩ndez鈥, 鈥楲aura鈥, 鈥楥alle 21鈥, 鈥楳onterrey鈥);

Update
UPDATE people
SET last_name = 鈥楥h谩vez鈥, city= 'M茅rida鈥
WHERE person_id = 1;

UPDATE people
SET first_name = 'Juan鈥
WHERE city = 鈥楳茅rida鈥;

Para los que no lo conozcan y se quieran reir un rato, busquen en youtube 鈥淣o te olvides de poner el where en el delete from鈥 馃槢

No es necesario poner las letras may煤sculas a las palabras reservadas, de cualquier manera funcionan, es mas una buena practica

Cada vez mejor se pone el curso, me esta encantando el mundo de las bases de datos y eso que reci茅n comienza

Este articulo se ve interesante:
link

No te olvides de poner el WHERE en DELETE FROM... https://youtu.be/i_cVJgIz_Cs

Facil 馃槂

DLL= Data Definition Languages (CREATE, DROP, ALTER)
-Para crear la estructura de la Base de datos
DML=Data Manipulation Language (INSERT, UPDATE, DELETE)
-Para manipular la data

Por lo que veo MySQL no conoce a nuestro amigo Ctrl + z

Habia trabajado con DB varias veces y hasta ahora aprendo que existe DDL y DML. Buena clase.

Para las personas que realizaron la practica anterior de eliminar la bases de datos. Aqu铆 les dejo nuevamente los datos de la tabla people.

INSERT INTO platzi_test.people (person_id,last_name, first_name, address, city)
VALUES (1,鈥榁谩zquez鈥, 鈥業srael鈥, 鈥楻eforma 222鈥, 鈥楳exico鈥);

INSERT INTO platzi_test.people (person_id,last_name, first_name, address, city)
VALUES (2,鈥楢lan铆s鈥, 鈥楨dgar鈥, 鈥楢venida siempreviva鈥, 鈥楳orelia鈥);

INSERT INTO platzi_test.people (person_id,last_name, first_name, address, city)
VALUES (3,鈥楬ern谩ndez鈥, 鈥楳贸nica鈥, 鈥楶ensilvania 1600鈥, 鈥楢guascalientes鈥);

INSERT INTO platzi_test.people (person_id,last_name, first_name, address, city)
VALUES (4,鈥楬ern谩ndez鈥, 鈥楲aura鈥, 鈥楥alle 21鈥, 鈥楳onterrey鈥);

primer codigo

INSERT INTO people (last_name, first_name, address, city)
VALUES ("Hernandez", "Laura", "Calle 12", "Monterey");

segundo

UPDATE people
SET last_name='Chavez', city='Merida'
WHERE person_id=1;

tercero

UPDATE people
SET first_name='Juan'
WHERE city='Merida';

soy el unico que toma la clase en velocidad 1.5x jajajsj

El profesor dijo que el update con un where muy general (o sin el) no se podia hacer debido al modo seguro de MySQL.
Aqu铆 un tutorial para desactivar ese modo seguro
https://www.geeksengine.com/database/manage-table/safe-update.php#:~:text=SET SQL_SAFE_UPDATES%3D0%3B,Query -> Reconnect to Server.

鈥楧ML es sobre el contenido de la base de datos鈥, esto nunca me lo explicaron as铆 en la Universidad.

Donde se te olvide el WHERE en un update o delete tu estado de empleado ser谩 actualizado a cliente :v

por si la borraron u.u , lo ejecutan en el Query

CREATE DATABASE IF NOT EXISTS platziblog;
-- SHOW DATABASES; ver bases de datos
USE platziblog;
CREATE TABLE IF NOT EXISTS people (
person_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, 
last_name VARCHAR(255) NULL,
first_name VARCHAR(255) NULL,
address VARCHAR(255) NULL, 
city VARCHAR(255) NULL
);
-- SHOW TABLES ; ver tablas
DESCRIBE people; -- ver la estructura de la tabla

por si alguien le paso de que les marca el siguiente error:

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

Tienen que ir a Edit>Preferences

el la ventana ir a sql editor y en la parte inferior desmarcar la opci贸n de 鈥淪afe Updates鈥

y solo reiniciar la conexi贸n, listo con ello podr谩s realizar cambios:

Estoy muy feliz aprendiendo todo esto!
![](

Gracias 鉂わ笍

Pr谩ctica de la clase 馃懆鈥嶐煉

# DML INSERT: Agregandon registros a nuestra tabla people de la base de datos platziblog

INSERT INTO platziblog.people (last_name, first_name, address, city)
VALUE ("FRAGOZO", "NARENN", "Carrera 123 calle 14", "Santa Marta");



# DML SELECT: Seleccionando registros
SELECT * FROM people ;
SELECT  city, first_name  FROM platziblog.people  WHERE  city="Mexico";


# DML UPDATE: Actualizando nuestros registros
UPDATE platziblog.people SET  first_name="Naren", last_name="Fragozo" WHERE persona_id=4; 


# DML DELETE: Eliminadno algunos registros
DELETE FROM people WHERE persona_id=4 ;

En caso de que les salga el siguiente error MySQL error code: 1175 during UPDATE in MySQL Workbench aqui les dejo el link con el que solucione el problema.

https://stackoverflow.com/questions/11448068/mysql-error-code-1175-during-update-in-mysql-workbench

yo hice varias columnas y realice el ejercicio no solo de borrar un dato de un id si no de varios, me fue genial este profesor explica muy bien y me gustan las clases practicas ya que deja la monotonia de solo explicar sin aplicar en la vida real

Sinceramente creo quela forma de explicar es sencilla y acertada, ya que siento que aunque los ejemplo son basicos avanzo a montones, me gusta que al profe le vayan saliendo errores que practicamente nos saldrian a todos y que los soluciona de inmediato

SELECT * FROM world 
WHERE "someone" 
LIKE "%you%";

Este video necesitaba estar 2 videos antes, los 煤ltimos dos no pude hacer nada sin saber como meter valores.

Algunos conceptos fundamentales:
https://www.w3schools.in/mysql/ddl-dml-dcl/

Buenas realice las diferencias sentencias y las comente.

#Insertar datos
insert into people (last_name,first_name,
address,city)
values ('Hernandez','Laura','Calle 21','Monterrey');
#Actualizar datos
update people 
set last_name= 'Chavez', city = 'Merida'
where person_id = 4;

#Eliminar una sola columna
delete from people
where person_id = 5;

#Trae la informacion de la base de datos segun  la fila seleccionada
select first_name,last_name from people;

DML

INSERT INTO people (last_name, first_name, address, city)
VALUES ('Hern谩ndez', 'Laura', 'Calle 21', 'Monterey'); -- Insertar un regsitro

INSERT INTO people (last_name,first_name,address,city)
VALUES ('V谩zquez', 'Israel','Calle Famosa Num 1','M茅xico'),
('Hern谩ndez','M贸nica','Reforma 222','M茅xico'),
('Alanis','Edgar','Central 1', 'Monterrey'); -- Intertar varios registros

UPDATE people 
SET last_name = 'Ch谩vez', city = 'M茅rida'
WHERE people_id = 1; -- Actualiza datos de un registro d贸nde el id es 1

UPDATE people 
SET first_name = 'Juan'
WHERE city = 'M茅rida'; -- Actualiza todos los nombres que ciudad M茅rida

DELETE FROM people 
WHERE people_id = 1; -- Borra los datos de un registro d贸nde el id es 1

DELETE FROM people; -- Borra los datos de toda la tabla

SELECT last_name, first_name
FROM people -- Consulta sencilla de campos que necesitamos en una tabla

Hola compa帽eros.
Tratando de ingresar como dato una fecha de nacimiento, tipo de dato 鈥淒ATE鈥, luego de tantos intentos y buscar en la web, el formato aceptado fue el siguiente:
** DATE 鈥1997-05-06鈥**
Por si a alguien le sucede lo mismo.

Si eres avispado ya te habr谩s dado cuenta鈥 Y yo todo despistado jajaja