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:
Bienvenida conceptos básicos y contexto histórico de las Bases de Datos
Bienvenida conceptos básicos y contexto histórico de las Bases de Datos
Playground: tu primera consulta en bases de datos
Introducción a las bases de datos relacionales
Historia de las bases de datos relacionales
Qué son entidades y atributos
Entidades de Platzi Blog
Relaciones
Múltiples muchos
Diagrama ER
Diagrama Físico: tipos de datos y constraints
Diagrama Físico: normalización
Formas normales en Bases de Datos relacionales
Diagrama Físico: normalizando Platziblog
RDBMS (MySQL) o cómo hacer lo anterior de manera práctica
¿Qué es RDB y RDBMS?
Instalación local de un RDBMS (Windows)
Instalación local de un RDBMS (Mac)
Instalación local de un RDBMS (Ubuntu)
Clientes gráficos
Servicios administrados
SQL hasta en la sopa
Historia de SQL
DDL create
Playground: CREATE TABLE
CREATE VIEW y DDL ALTER
DDL drop
Playground: VIEW, ALTER y DROP en SQL
DML
Playground: CRUD con SQL
¿Qué tan standard es SQL?
Creando Platziblog: tablas independientes
Creando Platziblog: tablas dependientes
Creando Platziblog: tablas transitivas
Consultas a una base de datos
¿Por qué las consultas son tan importantes?
Estructura básica de un Query
SELECT
Playground: SELECT en SQL
FROM y SQL JOINs
Utilizando la sentencia FROM
Playground: FROM y LEFT JOIN en SQL
WHERE
Utilizando la sentencia WHERE nulo y no nulo
Playground: Filtrando Datos con WHERE
GROUP BY
ORDER BY y HAVING
Playground: Agrupamiento y Ordenamiento de Datos
El interminable agujero de conejo (Nested queries)
¿Cómo convertir una pregunta en un query SQL?
Preguntándole a la base de datos
Consultando PlatziBlog
Playground: Prueba Final con PlatziBlog
Introducción a la bases de datos NO relacionales
¿Qué son y cuáles son los tipos de bases de datos no relacionales?
Servicios administrados y jerarquía de datos
Manejo de modelos de datos en bases de datos no relacionales
Top level collection con Firebase
Creando y borrando documentos en Firestore
Colecciones vs subcolecciones
Recreando Platziblog
Construyendo Platziblog en Firestore
Proyecto final: transformando tu proyecto en una db no relacional
Bases de datos en la vida real
Bases de datos en la vida real
Big Data
Data warehouse
Data mining
ETL
Business intelligence
Machine Learning
Data Science
¿Por qué aprender bases de datos hoy?
Bonus
Bases de datos relacionales vs no relacionales
Elegir una base de datos
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Israel Vázquez Morales
DML trata del contenido de la base de datos. Son las siglas de Data Manipulation Language y sus comandos son:
Aportes 448
Preguntas 120
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:
Resumen de esta clase y las tres anteriores
DDL -> Data Definition Language
Ayuda a crear la estructura de una BD.
DML -> Data Manipulation Language
Ayuda a la manipulacion del contenido
La cara de todos los que eliminamos nuestra tabla en la clase anterior .-.
Y yo que eliminé las tablas por la clase pasada #VivaYo.
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;
Por si alguien quiere copiar y pegarlo
INSERT INTO people (last_name, first_name, address, city)
VALUES ('Hernández', 'Laura', 'Calle 21', 'Monterrey');
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)
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:
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.
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.
Las palabras reservadas pueden escribirse tanto en mayuscula como en minuscula. Sin embargo, la convencion(y buena practica) es usarlas por completo en mayusculas.
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';
Yo al ver que el profe inserta datos en la tabla que borre en la clase anterior.
Borre mi base, ahora tengo que volver hacerla XD
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
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.
DDL=Define la estructura
DML = Manipula datos o información
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 = ‘Israel’ and address = ‘Calle famosa’;
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
Para correr el código y no usar “el rayito”, se puede seleccionar el code a ejecutar y en el teclado presionar Ctrl + Enter.
Les comparto algo que muy posiblemente ya saben 😃
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.
No te olvides de poner el where en el delete from ♪
DML (Data Manipulation Language)
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 😃
Este curso esta buenisimo
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;
No existe el ctrl+z en workbench?
Estoy feliz, pude lograr seguir todos los ejemplos del profesor, bravo por los aportes de los compañeros que dejan aportes con soluciones.
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
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 (‘hernandez’, ‘Laura’, ‘Calle 21’, ‘Monterrey’);?
- Update
○ UPDATE people?SET last_name = ‘Chavez’, city = ‘Merida’?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.
Modificando valores por ciudad
No es necesario poner las letras mayúsculas a las palabras reservadas, de cualquier manera funcionan, es mas una buena practica
Data Manipulation Language
Insert
INSERT INTO people (last_name, first_name, address, city)
VALUES ('Hernandez', 'Laura', 'Calle 21', 'Monterrey');
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;
DELETE FROM people; --No ejecutar
Select --Se utiliza mucho
--Extrae datos de la bd
SELECT first_name, last_name
FROM people
para los que borraron la tabla
CREATE TABLE `platziblog`.`people` (
`person_id` INT NOT NULL AUTO_INCREMENT,
`last_name` VARCHAR(255) NULL,
`first_name` VARCHAR(255) NULL,
`address` VARCHAR(255) NULL,
`city` VARCHAR(255) NULL,
PRIMARY KEY (`person_id`));
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 “Set 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.
INSERT INTO people (last_name,
first_name, address, city)
VALUES ('Hernández', 'Laura',
'Calle 21', 'Monterrey');
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 FROM people
WHERE person_id = 1;
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 =‘Chavez’ , 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:
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');
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,‘Vázquez’, ‘Israel’, ‘Reforma 222’, ‘Mexico’);
INSERT INTO platzi_test.people (person_id,last_name, first_name, address, city)
VALUES (2,‘Alanís’, ‘Edgar’, ‘Avenida siempreviva’, ‘Morelia’);
INSERT INTO platzi_test.people (person_id,last_name, first_name, address, city)
VALUES (3,‘Hernández’, ‘Mónica’, ‘Pensilvania 1600’, ‘Aguascalientes’);
INSERT INTO platzi_test.people (person_id,last_name, first_name, address, city)
VALUES (4,‘Hernández’, ‘Laura’, ‘Calle 21’, ‘Monterrey’);
Acá les dejo unos tips:
Utiliza siempre una cláusula WHERE al ejecutar un DELETE o un UPDATE, de lo contrario, afectarás a todas las filas de la tabla y podrías causar daños irreparables.
Cuando utilices la operación SELECT, es recomendable que especifiques solamente las columnas que necesitas en lugar de utilizar el asterisco (*). Esto hace que la consulta sea más rápida y reduce el tráfico de red.
Para mejorar el rendimiento de las consultas SELECT, utiliza índices en las columnas que se utilizan con frecuencia en las cláusulas WHERE o en la ordenación.
Asegúrate de que los valores de los campos que utilizas en una cláusula WHERE estén correctamente indexados. Si no lo están, puede haber un impacto significativo en el rendimiento de la consulta.
Cuando utilices la operación INSERT, es recomendable que especifiques explícitamente las columnas que estás insertando. Esto evita errores si la tabla cambia en el futuro y garantiza que la información se inserte en las columnas correctas.
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!
Estimados programadores: No te olvides de poner el Where en el Delete From
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:
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: “SELECT INTO” y, luego va: “VALUES”, 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, “vacios”, 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 “objetos”
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 (‘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’;
Para los que no lo conozcan y se quieran reir un rato, busquen en youtube “No te olvides de poner el where en el delete from” 😛
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
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.
Les dejo un script para agregar 50 usuario ficticios para que puedan hacer sus practicas
INSERT INTO people (last_name, first_name, address, city)
VALUES
('Hernández', 'Juan', '123 Calle Principal', 'Ciudad de México'),
('Gómez', 'María', '456 Avenida Central', 'Guadalajara'),
('Rodríguez', 'José', '789 Callejon de las Flores', 'Monterrey'),
('Martínez', 'Ana', '101 Calle de la Esperanza', 'Puebla'),
('García', 'Luis', '202 Avenida del Sol', 'Tijuana'),
('Fernández', 'Laura', '303 Calle de los Sueños', 'León'),
('López', 'Carlos', '404 Paseo de la Luna', 'Cancún'),
('Díaz', 'Sofía', '505 Calle de las Estrellas', 'Mérida'),
('Pérez', 'Miguel', '606 Avenida del Parque', 'Querétaro'),
('Gutiérrez', 'Paola', '707 Calle de la Luna', 'Guadalupe'),
('Vázquez', 'Francisco', '808 Avenida de los Ángeles', 'Hermosillo'),
('Torres', 'Valentina', '909 Paseo del Bosque', 'Chihuahua'),
('Flores', 'Pedro', '111 Calle de la Montaña', 'Culiacán'),
('Cruz', 'Isabella', '222 Avenida del Mar', 'Acapulco'),
('Ramos', 'Diego', '333 Calle de la Playa', 'Tuxtla Gutiérrez'),
('Sánchez', 'Valeria', '444 Avenida del Coral', 'Mexicali'),
('Mendoza', 'Javier', '555 Calle de la Brisa', 'Aguascalientes'),
('Romero', 'Fernanda', '666 Avenida del Cielo', 'Toluca'),
('Jiménez', 'Jorge', '777 Paseo de las Mariposas', 'Celaya'),
('Herrera', 'Renata', '888 Calle de las Palmeras', 'Durango'),
('Medina', 'Ricardo', '999 Avenida de las Fuentes', 'Cuernavaca'),
('Aguilar', 'Ximena', '121 Calle de los Ríos', 'Morelia'),
('Ortiz', 'Emilio', '232 Avenida del Valle', 'Villahermosa'),
('Castro', 'Daniela', '343 Calle de las Colinas', 'Pachuca'),
('González', 'Adrián', '454 Avenida de los Lagos', 'Torreón'),
('Góngora', 'Camila', '565 Calle de las Lomas', 'Reynosa'),
('Montes', 'Eduardo', '676 Paseo de los Olivos', 'Matamoros'),
('Zamora', 'Alejandra', '787 Avenida de los Cactus', 'Tampico'),
('Martínez', 'Héctor', '898 Calle de los Girasoles', 'Campeche'),
('Guerrero', 'Ariana', '909 Avenida de las Maravillas', 'Playa del Carmen'),
('Lara', 'Bruno', '111 Paseo de las Aves', 'Colima'),
('Navarro', 'Gabriela', '222 Calle de los Pinos', 'Cabo San Lucas'),
('Ríos', 'Oscar', '343 Avenida de las Dunas', 'San Luis Potosí'),
('Guerra', 'Natalia', '454 Calle de los Cerezos', 'Juárez'),
('Juárez', 'Martín', '565 Paseo de las Rosas', 'Irapuato'),
('Carmona', 'Eva', '676 Avenida de los Alamos', 'Tlalnepantla'),
('Delgado', 'Roberto', '787 Calle de las Luciérnagas', 'Piedras Negras'),
('Reyes', 'Ana Sofía', '898 Avenida de los Girasoles', 'Culiacán'),
('Fuentes', 'Leonardo', '909 Paseo de las Violetas', 'Puebla'),
('Santos', 'Brenda', '111 Calle de los Azahares', 'Monterrey'),
('Hidalgo', 'Raúl', '222 Avenida de las Mariposas', 'Cancún'),
('Salazar', 'Melissa', '343 Paseo de las Orquídeas', 'Mérida'),
('Cabrera', 'Ángela', '454 Calle de los Jazmines', 'Tijuana'),
('Valdez', 'Hugo', '565 Avenida de las Amapolas', 'Acapulco'),
('Orozco', 'Diana', '676 Paseo de los Cocos', 'Chihuahua'),
('Vega', 'Fernando', '787 Calle de los Olivos', 'Guadalajara'),
('Molina', 'Monica', '898 Avenida de las Rosas', 'Hermosillo'),
('Cortés', 'Mario', '909 Paseo de las Palmas', 'Tuxtla Gutiérrez'),
('Ochoa', 'Victoria', '111 Calle de las Gardenias', 'Mexicali');
Para cambiar el nombre de una columna:
ALTER TABLE people
CHANGE COLUMN fist_name first_name VARCHAR(255);
Para borrar una fila:
DELETE FROM people WHERE person_id = 1;
En el siguiente enlace puedes generar datos para tus tablas de tu base de datos. https://mockaroo.com/
💯💚
NOOOOOO CHAVEZZ NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
Por lo que entiendo entonces, si queres un UPDATE o un DELETE que sea preciso, el WHERE debera hacer referencia a la Primary Key.
De otra forma, el programa no nos dejara hacerlo, o estaremos haciendo una gran cagada 🤣
Le quiero dar like a la clase, que increíble explicación gracias Israel ❤️
Si quieren practicar con muchos datos, pero no quieren perjudicar sus propias tablas y demas, usen:
https://github.com/dalers/mywind
Pasos:
git clone https://github.com/dalers/mywind
mysql -u {usuario} -p < northwind.sql
mysql -u {usuario} -p < northwind-data.sql
que hueva es este profesor!!! pára quer nos hizo eliminar lo que habiamos hecho si iba volver a trabajar en lo mismo!!!
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.
‘DML 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 “Safe Updates”
y solo reiniciar la conexión, listo con ello podrás realizar cambios:
Estoy muy feliz aprendiendo todo esto!
![](
Gracias ❤️
# 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 ;
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?