tienes que aprender sql y lo tienes que aprender ahora o si quieres transformarte en un programador ingeniero de software o migrar a otro país tienes que aprender sql y lo tienes que aprender ahora sql te va a permitir a ti almacenar los datos de tus usuarios donde pensabas guardarlos si no eran una base de datos sql te hará un mejor profesional y vas a ser mucho más confiable para las empresas pero que es sql esto es sql pero creo que es esto yo te lo voy a enseñar y para cuando termines este curso vas a
saber cómo se estructuran las bases de datos sabrás gestionarlas y vas a poder crear tus propias bases de datos y con juegos de azar así que aprende lo que conviene estás listo para aprender sql comencemos entonces qué necesitas para aprender sql necesitas un computador check y necesitas reproducir hola bits de fondo oye yo no hago las reglas pero como reproduzco la bits vas a tu servicio de streaming en mi caso spotify buscas old habits y puedes reproducirla pinchando en este botón o mi opción favorita la playlist esta que aparece acá y pinchas en este botón
y eso es todo puedes utilizarla en tus vídeos de youtube en tus streams en twitch y también en tus podcasts y todo esto sin miedo a un copyright klein así que escúchala te va a ayudar a concentrarte y antes de comenzar sql puede ser desafiante y difícil para algunos y eso está bien no te preocupes tómate tu tiempo por la pausa el vídeo retrocede los días necesarios e intenta distintas cosas para sentirte más cómodo con ese juego y lo primero que tenemos que ver es que es una base de datos y una base de datos
es cualquier cosa que agrupe información y que ésta tenga un sentido lo más probable es que tú pensabas que una base de datos podría estar relacionada netamente con un computador pero la verdad es que hay muchas cosas que podrían ser una base de datos como por ejemplo podría ser una lista del supermercado también lo podría ser una lista de tareas como también una libreta de contactos un listado de alumnos o también podría ser el listado de usuarios en instagram o twitter lo importante de una base de datos es que está por supuesto tenga datos y
que estos datos puedan ser relacionados entre sí como por ejemplo podría ser un usuario con sus tweets o un usuario con sus posts de instagram las tareas que tienes que realizar en el trabajo o en la universidad y básicamente cualquier tipo de información que nosotros podamos guardar y darle un sentido a esta esa parte muy importante de darle un sentido a la información que nosotros estamos guardando ahora bien otra parte que es donde nosotros podríamos guardar la información de estas bases de datos la base de datos que quizás nosotros utilizamos de manera más recurrente vendría
siendo nuestra memoria nosotros tenemos una forma de poder interactuar con nuestra memoria pero también tenemos formas de poder interactuar con memorias de otra persona y el que finalmente estaría encargado de poder gestionar todos los datos que se encuentran dentro de nuestra base de datos que en este caso se encuentra almacenada dentro de nuestra memoria el encargado de gestionar esos datos serías tú otra forma que nosotros tenemos para almacenar bases de datos es mediante una hoja y un lápiz esta forma por supuesto que no es muy eficiente pero los que son más viejos lo más probable
es que se acuerden de haber tenido en algún momento una libreta de contactos donde tenían que colocar el nombre de tu amigo su dirección y el número de teléfono porque en ese entonces no todos nosotros teníamos un teléfono celular de hecho casi nadie tenía teléfono celular entonces todos estos datos nosotros teníamos que anotar los en una hoja con un lápiz sin embargo existe otra alternativa que nosotros podemos utilizar para poder almacenar los datos de nuestra base de datos y eso es con el uso de computadores los computadores son mucha mejor alternativa que por ejemplo nuestra
memoria o una hoja de papel ya que poder acceder a la información con un computador es mucho mucho mucho más rápido que mediante una hoja y un lápiz o incluso si nosotros tratáramos de acceder a nuestra memoria también son sumamente eficientes porque pueden almacenar grandes cantidades de datos y eso hace que los computadores sean una excelente alternativa para nosotros poder almacenar datos dentro de una base de datos y para que nosotros podamos acceder a los datos de dentro de nuestra base de datos vamos necesitará hacer uso de un software especial el cual se le conoce
como relational database management system una religión al tratar beige management system o lo pueden también encontrar en internet como rv ms es el software que nosotros vamos a utilizar para poder gestionar nuestras bases de datos dentro de los software de este tipo que nosotros podemos encontrar en el mercado nosotros tenemos a mysql también tenemos apóstoles por supuesto también existe maría db oracle informix entre otros software de gestión de base de datos el objetivo de todos estos software que nosotros estamos viendo acá es que éstos nos entreguen un acceso fácil a una base de datos ellos
se van a encargar de la seguridad y de la integridad de nuestros datos también tienen otras funcionalidades como por ejemplo para poder efectuar respaldos de nuestras bases de datos tienen funcionalidades también como para importar y exportar los datos se van a encargar también de manejar la concurrencia que para que se hagan una idea la concurrencia vendría siendo que cuando más de una conexión está intentando acceder a la base de datos imagina por ejemplo de que tú tienes un usuario que se llama chanchito félix y en este momento existe un usuario que quiere poder acceder a
este usuario de chanchito feliz pero sin embargo está otro usuario digamos que éste vendría siendo un administrador de nuestra plataforma el cual lo que quiere hacer es poder efectuar un delito o sea quiere eliminar a este usuario de chanchito feliz así que nosotros intentamos hacer esto y al mismo tiempo de leer el usuario de chanchito feliz y hay otro usuario que está intentando eliminar el registro de chanchito feliz al mismo tiempo esto podría empezar a generar errores de consistencia en los datos ya sea para quien los está rayando y también para quien está escribiendo existen
muchas formas de poder manejar este tipo de casos en los distintos sistemas de gestión de bases de datos pero una forma muy común es que cuando alguien está efectuando una operación de leer el software de gestión de base de datos se va a encargar de que esta operación se efectúe primero mientras tanto se va a encargar de bloquear los registros en particular este para que no se puedan realizar otras operaciones y una vez de que se haya terminado de leer en ese caso va a pasar a la cola la siguiente operación que vendría siendo de
delete ya que si dos usuarios intentan por ejemplo leer y eliminar al mismo tiempo eso podría ocasionar problemas otro problema también que podría ocurrir es cuando dos usuarios están intentando modificar el mismo registro de todo este tipo de problemas que podría llegar a aparecer se va a encargar de solucionarlo nuestro software de gestión de base de datos otra tarea sumamente importante de la cual se va a encargar nuestro software de rdbms o relational data page management system es de poder conectarse con los distintos lenguajes de programación como por ejemplo podría ser php python javascript entre
los distintos lenguajes que existen las operaciones más comunes que ustedes van a ver dentro de los software de gestión de base de datos son las siguientes r vive o también conocido como cruz esto ustedes lo van a ver muchísimo de ahora en adelante no solamente acá sino también en todos los software que ustedes vayan a construir las operaciones cruz y cruz significan raid de crear un registro riff de leer uno o más registros update de actualizar los registros y delete d así es adivinaste eliminar los registros esto ustedes lo van a ver mucho y se
van a dar cuenta que las aplicaciones que ustedes construyan hoy y también en el futuro giran en torno a estas operaciones para que nosotros podamos acceder a los registros y también realizar todas estas operaciones que tiene que hacer un sistema de gestión de bases de datos vamos a tener que escribir lo que se conoce como query y esto se traduce al español como consulta aunque puede sonar un poco extraño que nosotros digamos voy a efectuar una consulta para poder crear un recurso pero nosotros podríamos verlo más como voy a realizar una petición o una pregunta
a mi software de gestión de bases de datos de si él puede crear el recurso el cual yo le estoy indicando que cree quizás de esta manera podría ser un poco más fácil de envolverlo dentro de nuestra mente para que se hagan una idea cuando nosotros estamos buscando en google estamos realizando una consulta cuando miras las fotos de la persona que te gusta en redes sociales estás haciendo consultas cuando buscas el perfil de alguien por ejemplo en instagram o en facebook estás realizando una consulta cuando creas un hilo en twitter eso también es una consulta
y quiénes utilizan software de gestión de bases de datos esto podría sonar un poco ridículo pero vamos a aprovechar de verlo también las empresas grandes prácticamente casi todas las empresas a nivel mundial están utilizando software de gestión de base de datos pero para que se hagan una idea empresas como facebook y con la herramienta que ellos hicieron conocidos fue con el mismo facebook ellos lo que hacen es que a través de la aplicación de facebook que también es una página web pero veámoslo como una aplicación también es una de las aplicaciones más complejas que existen
en la actualidad ellos lo que hacen es que a través de un de gestión de bases de datos realizan consultas a la base de datos para poder obtener esta información la cual se la devuelven al software de gestión de base de datos la cual finalmente es devuelta a la aplicación de facebook y finalmente tú la puedes ver esto ocurre por supuesto también con empresas como amazon donde en amazon el paso que tú vas a realizar va a ser el de ver un producto y bueno tú realizas esta acción de ver un producto lo que está
ocurriendo es que amazon está accediendo a un software de religión data management system para poder ir a buscar todos los datos de los productos que tú estás viendo a una base de datos éstos después son devueltos al software de gestión de bases de datos y finalmente éstos se devuelven al sitio web de amazon para que tú finalmente puedas ver el producto que estabas buscando existen dos grandes mundos al momento de nosotros seleccionar un software de gestión de base de datos tenemos los software de gestión de bases de datos que implementan sql y estos son por
lo general bases de datos relacionales y también tenemos los de gestión de bases de datos que no implementan sql que son prácticamente todo el resto las cuales nosotros las vamos a llamar no sql los software de gestión que implementan sql suelen almacenar la información en forma de tablas las cuales éstas tienen filas y también tienen columnas en cambio las que son no sql tienen múltiples formas en las cuales ellos pueden almacenar los datos pueden ser almacenados por ejemplo en un formato jason en un formato bessón se pueden almacenar también como blog entre muchas otras formas
que existen para poder almacenar los datos como por ejemplo también tendríamos value pero a lo largo de todo este curso nosotros vamos a enfocarnos en las bases de datos sql como les había mencionado anteriormente la forma de almacenar los datos dentro de una base de datos sql es mediante tablas y las tablas son la verdad es que es muy similares a las planillas de hojas de cálculo o los excel estos van a tener columnas que en este caso nosotros tenemos la columna de ide tenemos la columna de nombre y también tenemos la columna de edad
las columnas hacen referencia al dato mismo que se está guardando esto quiere decir si tu nombre es felipe dentro de la columna de nombre nosotros vamos a colocar el dato de felipe y si tienes 20 años en la columna de edad nosotros debemos colocar el valor de 20 y aquí existe bueno la primera columna que nosotros no hemos hecho absolutamente nada con esta todavía y esta es la columna de y de o también identificador único aunque lo más probable es que tú vayas a escuchar esto con el nombre de ayb y el aib y es
un número completamente único que se genera de manera cuando nosotros creamos un registro y éste también cumple con la característica de ser auto incremental esto quiere decir que cuando nosotros ingresamos los datos de felipe y 20 dentro de esta tabla de manera completamente automática se le va a asignar un valor el cual va a ser auto incremental a felipe 1 la siguiente vez que nosotros ingresemos datos dentro de esta tabla el indique se le va a asignar al nuevo registro va a ser el de 2 y este por supuesto también va a tener su nombre
y también va a tener su edad lo mismo si es que volvemos a ingresar otro registro este base de 3 con su nombre y con su edad y así sucesivamente hasta llegar al último registro que nosotros hayamos ingresado o que quede en verdad el cual va a tener un identificador único de n en este caso todo esto que aparece acá este cuadrado gigante nosotros le vamos a dar el nombre de tabla como habíamos mencionado la parte vertical van a ser las columnas toda esta parte vertical que se encuentra acá son las columnas pero cuando nosotros
hablamos de los datos que se encuentran dentro de esta tabla en este caso la parte horizontal nosotros nos vamos a referir a esto mismo como registro entonces tenemos las tablas la parte vertical es la columna en la parte horizontal es el registro los valores que se van a encontrar dentro de nuestras tablas como por ejemplo felipe el cual se encuentra dentro de la columna de nombre se le conoce como dato uno es un dato felipe es otro dato 20 es otro dato pero cuando toda esta tabla nosotros le asignamos el nombre de giuseppe o tabla
usuario es ahí cuando nosotros sabemos que los datos que se encuentran guardados dentro de esta tabla hacen referencia a un usuario y es en ese entonces cuando nosotros tenemos información si nosotros no agrupáramos todos estos datos de una manera que hicieran sentido nosotros solamente tendríamos datos sueltos pero no es hasta ahora cuando nosotros le hemos asignado un sentido que es cuando pasan a ser información el ejemplo que nosotros vimos antes era el caso de la tabla de usuarios y esa nosotros no la había asociado absolutamente a nada tienen que saber que la tabla de usuarios
es por lo general la tabla más importante que se va a encontrar siempre dentro de una base de datos ya que mediante esta tabla nosotros vamos a poder asignar nuevos registros que se creen a alguien como por ejemplo en este caso nosotros tenemos la tabla de productos nosotros podemos tener varios usuarios podemos tener administradores podemos tener usuarios que vayan a comprar dentro de una tienda de retail y un montón de perfiles demás que nosotros podríamos asignar pero el que nosotros vamos a ver ahora es el tipo administrador el cual puede crear productos dentro de un
software en este caso nosotros vamos a ver la tabla de productos la cual tiene una idea en este caso nosotros le vamos a crear un registro inmediatamente el cual va a ser un producto vamos a decir que éste va a ser un ipad se encuentran dentro del inventario 500 ipad y éste fue creado por el usuario número 1 de esta manera nosotros vamos a saber que el producto de nombre ipad el cual tiene una cantidad de 500 fue creado por el usuario número 1 el usuario número uno también a crear un listado de otros productos
que se van a encontrar también dentro de nuestras tablas pero eventualmente nosotros podríamos tener más de un administrador supongamos que nosotros tenemos dos administradores y uno tiene la idea de uno y otro tiene la idea de dos en el caso de que otro administrador que otro producto no va a ser por ejemplo el ipad sino que va a ser un iphone y que éste va a tener un stock de 100 iba a ser el aire de 105 nosotros para poder indicarle que este producto fue creado por el usuario con haití 2 nosotros dentro de la
columna de creado pór vamos a pasarle el aire de 2 la razón por la cual nosotros le pasamos una id y en lugar del nombre del usuario o lo que sea del usuario es que los datos de este usuario eventualmente podrían cambiar y también algo muy importante para evitar duplicar información ya que si nosotros utilizamos esta forma para poder asignarle un creador a un producto lo que estamos haciendo es que en disco solamente se va a grabar el número 2 y no se va a grabar el usuario completo de esta manera nosotros también podemos ahorrar
un poco de espacio en disco duro y finalmente las bases de datos sql se van a mover alrededor de este modelo el de nosotros poder guardar un registro en una tabla guardar otro registro en otra tabla y después asociar los mediante alguna forma esta forma que nosotros vimos se le conoce como una relación de uno es a n donde un usuario puede haber creado muchos productos pero un producto solamente pudo haber sido creado por un usuario lo anterior que nosotros vimos era la forma de poder relacionar una tabla con otra pero en ese caso utilizando
solamente relación de uno esa n o n es a uno donde un registro como por ejemplo el de usuario puede estar asociado a muchos productos como por ejemplo ser su creador pero un producto solamente puede estar asociado a un usuario ya que solamente un usuario va a ser capaz de crear un producto que es lo que ocurre en el caso que nosotros tengamos una relación donde en este caso tenemos los alumnos y tenemos deporte donde un alumno de algún colegio puede estar inscrito en más de una rama deportiva en este caso como nosotros podríamos modelar
eso dentro de nuestras tablas en sql la forma de poder relacionar las tablas es que nosotros creemos una tabla intermedia a la cual nosotros le vamos a asignar el nombre de estas dos tablas las vamos a juntar y ese va a ser el nombre de esta nueva tabla o sea esta se va a llamar alumnos con bajo deportes y dentro de esta tabla de alumnos y un bajo deporte lo que tenemos que hacer es por supuesto esta va a tener también su columna de ive tenemos que agregarle dos columnas más la primera es la de
alumno y de y la segunda va a ser la de deporte y ve la forma en cual ustedes les asignan el nombre ya sea si es alumno ideo y de alumno o con mayúsculas con minúsculas la verdad es que no es tan relevante lo importante es que ustedes entiendan el concepto después vamos a ver las convenciones de esta manera yo podría indicar de que tengo un alumno con el de uno repetido dos veces el cual se encuentra matriculado dentro del deporte 1 y el deporte también de haití 2 pero también podría tener un alumno con
haití 2 el cual se encuentra también inscrito dentro del deporte con haití 1 y esta relación que tiene la tabla de alumno con la tabla de deporte como una relación de n a n donde un alumno puede estar inscrito en muchos deportes y un deporte puede tener muchos alumnos ya que estamos viendo este concepto de empezar a incluir los identificadores de otras tablas dentro de una misma tabla vamos a aprovechar de ver cómo se llama esto que nosotros estamos haciendo ahora las columnas las cuales tienen el nombre de ive o en este caso identificador se
les conoce como primer y aquí o en este caso ya de primaria en el español pero si este y de por ejemplo el de la tabla de usuarios se encontrará dentro de la tabla de producto para que nosotros podamos indicarle quién fue el que creó este producto en ese caso se va a llamar foreign que ya ve foránea en nuestra tabla de usuarios tenemos una idea esta es nuestra primera y en nuestra tabla de productos tenemos usaid y esta es nuestra llave foránea pero nuestra tabla de producto también tiene una idea este es su llave
primaria ahora en el caso de nuestra relación de alumnos deporte que nosotros teníamos en el caso anterior nuestra columna de ibi es nuestra primera que vamos a colocarle pk alumno y de en este caso es una llave foránea o una flor inc y pongámosle fk deporte y de también es una fábrica así que también le vamos a colocar efe acá y con esto ya vimos la introducción de las bases de datos ahora lo que vamos a hacer es irnos al computador y vamos a instalar nuestro software de gestión de bases de datos y vamos a
empezar a escribir nuestras primeras consultas en este vídeo vamos a ver cómo podemos instalar mysql pero en microsoft windows vamos a ello para eso lo primero que tenemos que hacer es abrir una instancia de nuestro explorador en este caso yo tengo hecho así que voy a utilizar esa y lo que vamos a tener que hacer es buscar mysql community server instalar lo que nos interesa a nosotros ahora es el instalador y una vez de que hayamos llegado hasta acá nos va a entregar como pueden ver estas opciones el primer link es el del download mysql
community server no es el que nosotros queremos el que nosotros queremos es el instalador así que vamos a venir acá donde dice download mysql installer pinchamos en el aquí tenemos que asegurarnos de que el sistema operativo seleccionado sea el de microsoft windows y aquí nos va a entregar las siguientes opciones nos va a entregar un instalador de 2.3 megas y un instalador de 4.35 en este caso yo voy a pinchar en la segunda opción de 435 megas aquí nos va a mostrar dos opciones la de iniciar sesión y la de registrarse pero en este caso
a mí no me interesa seleccionar ninguna de esas porque yo no le quiero dar mis datos ahora que así que voy a pinchar acá donde dicen of things just start by download pincho acá y aquí podemos ver que la descarga de mysql ha iniciado yo ya he descargado este paquete de anteriormente así que voy a pinchar acá donde dice cancelar o sea esta crucesita para detener la descarga ahora sí puedo cerrar estas pestañas y voy a irme al inspeccionado de archivos me voy a ir a donde se encuentran mis descargas y voy a ejecutar el
instalador de mysql aquí me está pidiendo permisos porque el programa quiere realizar una edificaciones yo le voy a indicar que sí y aquí me va a mostrar unas cuantas opciones que yo puedo seleccionar para poder instalar mysql algo importante todas estas opciones van a instalar muchas herramientas que la verdad nosotros no vamos a utilizar para el alcance de este curso la verdad es que nosotros vamos a utilizar unas cuantas no más así es que vamos a hacer una instalación completamente custom para eso pinchamos en la última opción que dice custom luego de eso pinchamos en
next y aquí lo que tenemos que hacer es irnos derechamente a mysql servers y aquí tenemos que indicar cuál es la versión de mysql que a nosotros nos interesa en este caso nosotros queremos la 8.0 vamos aquí a la última y vamos a presionar esta flechita hacia la derecha para asegurarnos de que ésta va a ser la versión que se va a instalar después de eso vamos a pinchar aquí donde dice application y vamos a instalar dos herramientas en este caso la primera base la de mysql sesión la cual nos va a permitir a que
nosotros nos podamos conectar a mysql desde la terminal sin embargo en este curso nosotros no vamos a utilizar esta herramienta pero siempre es bueno que nosotros tengamos instalada ésta además de eso tenemos que instalar también mysql word page y mysql word page es una herramienta gráfica que nos va a permitir a nosotros conectarnos con mysql recuerden que mysql es un software de gestión de bases de datos y mysql workbench es una herramienta gráfica que nos va a permitir a nosotros poder conectarnos a mysql de esta manera para nosotros va a ser más fácil poder interactuar
o por lo menos dar nuestros primeros pasos con mysql algo que es sumamente importante para los que estamos aprendiendo así es que vamos a pinchar acá en la versión 8.0 punto 28 la vamos a agregar y ahora sí podemos pinchar acá donde dice next aquí nos va a indicar que los productos se encuentran listos para ser instalados así que vamos a pinchar acá donde dice exigir y ahora lo que tenemos que hacer es esperar a que termine la instalación ya se ha terminado de instalar así es que pinchamos acá en siguiente y nos indica de
que encuentra un producto listo para ser configurado que en este caso es el mysql server así que pinchamos en next nos va a mostrar unas cuantas opciones en este caso vamos a dejar todo por defecto volvemos a pinchar en next y aquí nos va a mostrar dos opciones la primera es de utilizar la nueva forma de encriptar las contraseñas la cual es más segura que la forma que se utilizaba anteriormente y la segunda opción es una forma legacy de autenticación que en este caso se utilizaba en versiones como por ejemplo mysql 5 que nos está
indicando acá también nos está indicando unas cuantas observaciones como por ejemplo casos de uso de cuando nosotros deberíamos utilizar esta opción pero como estamos haciendo una instalación desde cero vamos a quedarnos con la forma recomendada que vendría siendo la primera así que vamos a pinchar en next y aquí nosotros tenemos que indicarle la contraseña del usuario root el usuario root vendría siendo algo así como un super usuario que permite gestionar los usuarios crear bases de datos crear tablas asignar permisos entre muchas otras cosas pero lo más importante es que acá tienen que pensar que el
usuario root es el usuario de su era administrador yo le voy a dar una contraseña sumamente sencilla que va a ser del 1 al 9 y la siguiente opción es la de agregar un nuevo usuario esto nosotros la vamos a saltar y vamos a pasar directamente pinchando next vamos a dejar todas las opciones marcadas por defecto pinchamos nuevamente en next y luego continuamos con éxito ahora podemos pinchar en finish pinchamos ahora en next y aquí nos va a mostrar unas cuantas opciones como por ejemplo start mysql workbench una vez que hayamos terminado el setup o
comenzar con mysql cell una vez que hayamos terminado esta etapa y como dijimos anteriormente nosotros no vamos a partir con láser sino que vamos a utilizar mysql work page así que solamente vamos a dejar esa opción seleccionada y pinchamos aquí en finalizar aquí podemos ver que nos ha abierto una instancia de mysql workbench y algo sumamente importante que tienen que ver es que mysql workbench se encarga por defecto de analizar los servicios que se encuentran corriendo dentro de nuestra máquina y en este caso han logrado encontrar una instancia de mysql corriendo que se encuentran localhost
que vendría siendo nuestro mismo computador pero en el puerto 33 0 así que yo lo que voy a hacer es que voy a seleccionar esto y me va a pedir la contraseña en este caso mi contraseña era del 1 al 9 aquí nosotros podemos decidir guardarla en la bolt yo sencillamente voy a presionar acá en ok no me interesa guardarla ahí y si todo salió bien nosotros deberíamos ver esto ahora nosotros ya nos encontramos listos para empezar a escribir consultas vamos a comenzar descargando mysql para eso nosotros nos venimos acá y vamos a buscar mysql
community server dentro de esto vamos a ver que el primer link que nos va a arrojar si es que no es el primero igual pueden revisar dentro de los primeros links tiene que indicar de punto mysql puntocom downloads main sql una vez acá vamos a pinchar en este link y nos va a mostrar un listado de opciones en este caso la que a mí me interesa es esta porque me indica 64 y x86 yo todavía estoy utilizando un mac con intel así que voy a seleccionar esa voy a venirme acá donde dice town load y
voy a pinchar y una vez que estemos acá nos va a mostrar las opciones para poder iniciar sesión también para poder registrarnos pero la verdad es que a mí no me interesa nada de eso yo voy a pinchar acá donde dice nous things just start by download y voy a pinchar en este mismo que se encuentra acá afortunadamente yo ya lo he descargado antes así es que no va a ser necesario que yo termine la descarga pero en el caso de ustedes continúen con la descarga mientras tanto nosotros vamos a ir a descargar otro software
para poder interactuar con mysql recuerden que mysql software para poder gestionar bases de datos y lo que vamos a descargar ahora es un software que nos va a permitir a nosotros conectarnos con mysql pero de una manera mucho mucho más amigable para eso nos vamos a venir nuevamente aquí el explorador y justamente aquí en la misma barrita de direcciones vamos a escribir mysql word vinci y aquí vamos a hacer exactamente lo mismo nos vamos a venir aquí al primer link que nos indica mysql word page si es que voy a pinchar acá y una vez
de que nosotros nos encontremos acá vamos a pinchar aquí en este botón grande que dice download now pinchamos acá y aquí solamente nos va a mostrar una opción la cual se encuentra acá de download así es que pinchamos en esta y aquí volvemos a tener las mismas opciones la de iniciar sesión y la de registrarse pero yo voy a pinchar aquí donde dice no muchas gracias yo solamente quiero descargar esta aplicación así que voy a pinchar acá y aquí mismo ejemplo yo ya he descargado este paquete antes así es que no va a ser necesario
que yo termine de descargarlo algo importante de mencionar mysql workbench es un software relativamente pesado no es tan pesado pero tampoco es tan liviano pesa cerca de unos 120 megas y mysql está bordeando los 400 500 megas por lo que cuando nosotros instalemos estas dos herramientas vamos a tener que tener disponibles al menos un giga de espacio en nuestro disco duro para poder ejecutar todas estas aplicaciones en el caso de las bases de datos con las cuales nosotros vayamos a trabajar la verdad es que el espacio no va a ser tanto el que nosotros necesitemos
por lo que con un giga y quizás con un par de megas más disponibles con eso debe y se va a estar por lo menos para el transcurso de este curso ahora sí ya podemos cerrar esto y dentro de todos los software que yo he descargado el primero que voy a instalar es el de mysql en este caso este es un instalador así que sencillamente pinchamos dos veces aquí para poder ejecutarlo nos va a pedir permisos para poder correr las íes que le damos a la 'u' o permitir seguimos acá con continuar continuo aquí nos
va a dar las opciones para que nosotros podamos leer la licencia yo llamé la ley así que sencillamente voy a pinchar acá donde dice agree podemos por supuesto cambiar el lugar donde lo vamos a instalar pero vamos a continuar con todas las opciones por defecto así que seguimos con install y aquí nos va a pedir que nosotros coloquemos nuestra contraseña una vez que hayamos ingresado a nuestra contraseña nos va a mostrar dos opciones en este caso es utilizar una forma de encriptar las contraseñas más seguras que ésta es la nueva forma que está utilizando mysql
en versiones anteriores como por ejemplo en mysql 5 como podemos ver aquí utilizaba otra forma de encriptar que el equipo de mysql no encuentra tan seguro comparado con la nueva forma así que en este caso nosotros vamos a preferir la nueva forma y vamos a dejar esta opción marcada por defecto y vamos a darle click acá en next luego de eso nos va a indicar que tenemos que asignarle una contraseña al usuario root el usuario root vendría haciendo algo así como el usuario de administrador de mysql el usuario root nos va a permitir a nosotros
poder realizar cosas como gestionar los usuarios gestionar los permisos y por supuesto también crear bases de datos crear tablas ingresar datos a estas tablas y de eso vamos a hablar un poco más adelante lo importante es que ustedes tienen que saber es que el usuario root tendría siendo algo así como un súper administrador así que lo que tenemos que hacer acá es asignarle una contraseña y yo les voy a indicar que la contraseña es un 2 3 4 5 6 7 8 9 estos solamente para propósitos del curso ustedes no coloquen contraseñas así en ambientes
de producción pero si están en sus máquinas donde nadie más va a tener acceso a ellas la verdad es que no es tan relevante que ustedes coloquen una contraseña muy difícil o muy simple luego de eso pinchamos acá donde dice finish nos vamos a dar cuenta que va a estar esta opción acá de start mysql server una vez de que la instalación haya sido completada vamos a dejar eso marcado pinchamos acá a pedir nuevamente la contraseña una vez que hayamos terminado con la instalación ahora podemos pinchar acá donde dice close y podemos quedarnos con el
instalador o podemos moverlo a la berza de calvin yo lo voy a mover a risa de calvin y ahora nos tenemos que ir a cada sistema pre francés y nos vamos a asegurar de que mysql se encuentre corriendo para eso nosotros nos va a abrir primero esto por supuesto y acá donde dice mysql es donde nosotros tenemos que pinchar así que me voy acá y aquí nosotros podemos ver las instancias que nosotros tenemos activas tenemos ocho puntos 0.28 pero lo más importante en este caso es que tenemos que ver que aquí esto se encuentra marcado
en verde si se encuentra marcado en rojo o pasa de verde a rojo verde a rojo significa que esta instancia no está corriendo y puede ser que tú ya tengas instalado desde antes una versión de mysql para que ésta funcione sin ningún problema tienes que desinstalar la versión de mysql que tú tenías instalada antes ahora si nosotros ya podemos cerrar esto y podemos pasar ahora a la instalación de mysql workbench mysql work beach como les antes es un software que nos va a permitir a nosotros poder interactuar con mysql porque por defecto mysql viene con
una línea de comandos con la cual nosotros podemos interactuar nosotros vamos a poder ejecutar exactamente los mismos comandos en la terminal o en este software pero la verdad es que este software es bastante más amigable y soporta que nosotros también podamos hacer un par de clicks por aquí y por allá por lo que no todo necesariamente va a depender de una línea de comandos y esto va a ser perfecto para nosotros que estamos aprendiendo así que pinchamos acá y la instalación en este caso sencillamente arrastrarlo aquí tenemos que esperar a que termine de copiar y
una vez que haya terminado de copiar ya podemos cerrar esta ventana y podemos irnos acá a las aplicaciones y aquí podemos buscar mysql workbench y abrirlo nos va a pedir permisos para poder ejecutarlo ya que es una aplicación que nosotros descargamos de internet así que pinchamos acá en open mysql workbench por defecto lo que hace es escanear los servidores de base de datos que se encuentran corriendo dentro de nuestro sistema en este caso logró identificar un servidor dentro del local host y el puerto 33 06 así es que no va a ser necesario que nosotros
hagamos absolutamente nada más sencillamente acá podemos pinchar acá pinchamos y aquí nos va a indicar que nosotros ingresemos la contraseña la cual nosotros le asignamos a mysql cuando lo estábamos instalando en este caso mi contraseña era del 1 al 9 luego de eso lo puedo guardar en la kitchen pero yo no lo voy a guardar en la kitchen voy a pinchar sencillamente en ok y aquí nosotros ya tenemos acceso a mysql word así que ya podemos empezar a escribir consultas ya nos encontramos dentro de mysql work beach entonces ahora qué es lo que tenemos que
hacer lo primero que nosotros tenemos que hacer en este caso es crear una base de datos porque en este momento no hemos creado absolutamente nada solamente hemos ingresado a mysql workbench y mysql word wayne es solamente una herramienta así que lo primero que tenemos que hacer es crear una base de datos la base de datos es la que se va a encargar de contener muchas y muchas y muchas tablas éstas por si acaso son son tablas y luego de que nosotros hayamos creado esta base de datos vamos a poder proceder a crear nuestras tablas así
que para eso vamos a conocer nuestro primer comando el cual se llama write that habéis tal cual como estamos viendo ahí create data veis seguido de eso tenemos que indicarle cuál va a ser el nombre de nuestra base de datos en este caso nuestra base de datos va a ser la de hola mundo finalizamos con un punto y coma luego de eso tenemos que ejecutar este script que acabamos de escribir y para poder ejecutar esto que nosotros acá de escribir vamos a tener que pinchar aquí justamente donde aparece ese rayito ese rayito se va a
encargar de ejecutar todas las consultas que nosotros escribamos acá así que pinchamos ahí y aquí nosotros vamos a ver abajo bastante pequeñito que nos indica wright data veis hola mundo ahora nosotros podemos continuar con esto para que nosotros podamos ver un registro de todas las bases de datos que existen y que mysql se encuentra gestionando para eso nosotros podemos utilizar otro comando el cual es el de joe databases data bases y finalizamos con un punto y coma luego lo que debemos hacer es seleccionar esto y volvemos a pinchar en este rayito como pueden ver lo
que hace es que me lista aquí abajo el listado de todas las bases de datos que se encuentran creadas en este caso nosotros tenemos la de hola mundo y también tenemos otras bases de datos en este caso son tablas enfocadas netamente a la configuración de mysql nosotros no nos vamos a meter ahí pero lo que sí nos interesa ver es de que nuestra base de datos de hola mundo ha sido creada ahora podemos empezar a proceder a crear tablas porque recuerden que nosotros lo primero que hicimos fue crear una base de datos y esa base
de datos podía contener múltiples tablas así que lo que vamos a hacer ahora es crear una sola tabla a modo de ejemplo y como creamos una tabla para crear una tabla tenemos que escribir great tv después de eso tenemos que indicar cuál va a ser el nombre de la tabla y el nombre de esta tabla va a ser el de animales seguido de eso vamos a abrir y cerrar paréntesis y que no se nos olvide agregar siempre cuando estamos escribiendo consultas sql agregar ese punto y coma final si no vamos a tener muchos problemas una
vez que hayamos terminado de agregar eso nos vamos a devolver dentro de este paréntesis y dentro de este paréntesis nosotros le vamos a empezar a indicar las columnas que va a tener nuestra tabla de animales y lo primero que vamos a necesitar es un identificador de manera que cuando nosotros agreguemos registros sepamos que este tiene un valor único y de esta manera después vamos a poder referenciar ese mismo registro en otros lados y esta va a ser el ied y así que nosotros aquí vamos a escribir y de después de eso tenemos que indicar cuál
va a ser el tipo de datos que éste va a tener y los tipos de datos que existen son muchos pero vamos a partir con dos que van a ser los más sencillos el primero va a ser int int quiere decir un número entero un número entero o en este caso un in que viene de hecho de interior son los números enteros o sea 0 es un número entero 1 también es un número entero 255 también es un número entero 6000 también es un número entero pero si nosotros empezamos a hablar de números con decimales
como por ejemplo 60 y 1.23 esto no es un número entero en ese caso eso pasaría a ser un número tipo cloud y los flows son números con decimales así es que acá es donde nosotros tendríamos a nuestro 61 punto 23 el siguiente tipo de datos que nosotros vamos a ver es el de marchar y marchar es una cadena de caracteres o en este caso pueden ser palabras por ejemplo o también pueden ser oraciones por ejemplo nosotros podemos tener acá hola mundo y fíjense que acá nosotros tenemos un espacio aquí entre medio así que como
esto tiene un espacio yo le voy a colocar acá unas comillas simples para indicar de que esto vendría siendo una cadena d además de eso nosotros podemos también tener el bar char de chanchito también nosotros podemos tener feliz y con esto yo creo que ya se entiende más o menos la idea int vendrían siendo números enteros cloud vendrían siendo los mismos números pero con decimales y marchar en este caso van a ser palabras o pueden ser también oraciones o pueden ser también frases ya que vimos los tipos de datos ahora podemos indicar qué tipo de
datos va a ser nuestro identificador y en este caso va a ser un entero y para poder nosotros indicarle que este es un entero tenemos que utilizar la palabra reservada de y en este o int y esto viene de integra como habíamos visto recién vamos a continuar ahora con otro campo vamos a indicar ahora que vamos a utilizar el tipo para nosotros poder saber qué tipo de animal es y el tipo de animal en este caso va a ser tipo marcha pero marchar nosotros tenemos que llamarlo con abre y cierra paréntesis y dentro de éste
abre y cierra paréntesis nosotros tenemos que indicarle qué tan largo queremos que sea este carácter o hasta qué tan largo y en este caso nosotros le vamos a colocar que queremos que tenga hasta 255 caracteres de largo lo siguiente que vamos a hacer es agregarle un estado y éste también le vamos a indicar que va a ser del tipo parchar 255 con esto ya estamos casi terminando ahora recuerdan cuando nosotros habíamos hablado de que las tablas tenían que tener un identificador único en este caso nosotros hemos agregado una columna a esta tabla el cual se
llama aidit y este es de tipo entero pero nosotros tenemos que indicarle que esto que nosotros estamos colocando acá es una prime eric y para que cumpla con ser una llave primaria y así finalmente que funcione como identificador único y para eso vamos a escribir todo con mayúsculas raineri aquí y seguido de eso entre paréntesis el nombre de la columna pero antes de que nosotros podamos ejecutar nuestra consulta de create table vamos a tener que indicar primero qué base de datos tenemos nosotros que utilizar porque si bien nosotros acabamos de crear nuestra base de datos
de hola mundo la verdad es que nuestra consulta no sabe qué base de datos utilizar así que nosotros tenemos que indicarle primero antes de ejecutar esta consulta cuál es la base de datos que vamos a utilizar para eso nos vamos a venir justamente después de nuestro show databases y vamos a escribir lo siguiente views espacio y el nombre de nuestra base de datos la cual es hola mundo punto y coma ahora sí podemos seleccionarlo y pinchamos en el rayito aquí nos está indicando que está utilizando la base de datos de hola mundo y ahora ya
podemos ejecutar nuestra consulta de create table ahora si pinchamos en el rayito y ahora podemos ver que hemos creado una tabla con éxito y cuántas tablas podemos crear la verdad es que podemos crear todas las que queramos pero por ahora los vamos a mantener solamente con una y a continuación vamos a ver cómo podemos insertar datos dentro de esta tabla y para insertar datos dentro de las tablas vamos a tener que escribir insert into el nombre de la tabla que en este caso es animales y seguido de eso tenemos que indicarle entre paréntesis cuáles son
los campos a los cuales le queremos insertar datos en este caso yo le quiero insertar un dato en la columna de tipo y también en la columna de estado pero ahora nos faltan los valores vamos a indicarle también los valores que vamos a insertar para ello tenemos que utilizar la palabra reservada the values y seguido de eso entre paréntesis tenemos que indicar cuáles son los valores que nosotros le vamos a pasar el primero valor que nosotros le vamos a pasar es el de chanchito porque este animal es de tipo chanchito por supuesto que también le
tenemos que pasar un estado y adivina cuál va a ser el estado así es el estado es el de félix porque este es un sentido feliz y vamos a finalizar con un punto y coma sin embargo nuestra consulta se encuentra incompleta yo les había mencionado en un comienzo que cuando nosotros insertamos los datos y estos tenían un identificador único éstos cumplían con tener un valor auto incremental esto quiere decir que si nosotros llegaremos a insertar esto dentro de nuestra tabla esto debiese generar inmediatamente un identificador único con el valor de 1 pero eso sin embargo
no va a ocurrir vamos a mostrar eso vamos a seleccionar todo esto y vamos a ejecutar nuestra consulta y aquí nosotros vamos a ver que está ocurriendo un error nos está indicando error code 1364 que el campo de ide no tiene un valor por defecto y esto es porque nosotros le indicamos que el campo de id es una llave primaria y que éste también es de tipo entero pero nos faltó indicarle una propiedad sumamente importante que esta es la de auto incrementar su valor ahora cómo vamos a hacer esto porque ya creamos la tabla vamos
a aprovechar de ver otro comando que es como nosotros a modificar una tabla que ya ha sido creada así que nos vamos a venir justamente acá abajo y vamos a describir álter table seguido de el nombre de la tabla que en este caso es animales seguido de modify que es para indicar que queremos así es modificar algo tenemos que indicar también la palabra reservada de columna porque aquí queremos modificar una columna y la columna que nosotros queremos modificar es la de i d i que es lo que queremos hacer con esta columna queremos hacerla auto
incremente pero esto nos va a indicar un error y es porque nos falta agregar algo sumamente importante que es el tipo incluso si es que éste ya lo tiene definido antes por qué y d es un entero así que vamos a tener que agregarlo de todas maneras y lo agregamos justamente antes de auto incrementa ahora sí nosotros podemos seleccionar todo esto y podemos ejecutar nuestra consulta y ahora nosotros vemos que aquí abajo aparece alternativo animales modify collum aid y int auto incrementa 0 rose affected pero finalmente nos está indicando con este ticket verde que nuestra
consulta se ha ejecutado con éxito aquí nos va a indicar 0 rose affected porque ninguna fila fue afectada sino que lo que se modificó en este fue la tabla y ahora sí podemos proceder a ingresar nuestros datos con insert into así es que ahora lo seleccionamos y volvemos a ejecutar nuestra consulta si es que quieren ejecutar las consultas con un atajos de teclado como lo estoy haciendo yo pueden hacerlo en el caso de maco s con comando enter y en el caso de microsoft windows lo pueden hacer con control enter ahora nosotros vemos que se
ha insertado este dato con éxito y que una fila ha sido afectada ahora ustedes tienen que estar pensando pero profesor usted lo que hizo fue modificar la tablet yo quiero saber cómo puedo crear una tabla desde el comienzo con que éste ya venga con el valor de auto incremental tranquilo cálmate vamos a ver eso inmediatamente vamos a venir justamente después de nuestro alter table y vamos a escribir lo siguiente joe wright table y le vamos a indicar el nombre de la tabla que en este caso es animales y con esto lo que vamos a hacer
es obtener el comando que se utiliza para poder crear esta misma tabla y esto es sin siquiera que nosotros tengamos que redactar ese comando para esto por supuesto nosotros tenemos que haber creado esta tabla antes ahora sí podemos seleccionar lo vamos a ejecutar esto y fíjense en lo que apareció acá aquí nosotros tenemos el nombre de la tabla y seguido de eso tenemos el comando que se está ejecutando vamos a seleccionar lo vamos a copiarlo para eso nos vamos a venir acá donde dice copy field lo seleccionamos y ahora vamos a pegar de abajo nos
va a marcar de que esto se encuentra completamente en rojo y esto es porque nosotros obtuvimos el valor como si éste fuese un string como pueden ver aquí nosotros tenemos una comida simple así que lo que vamos a hacer es eliminar esa comillas simple y nos vamos a venir aquí al final de nuestra consulta y vamos a eliminar también esta comillas simple ahora si podemos cambiar un poco el scroll y lo que vamos a hacer es eliminar todo lo que se encuentra justamente después del cierre paréntesis esto en este momento no es obligatorio incluirlo y
para no complicarnos más la vida vamos a dejarlo solamente hasta acá y fíjense en cómo ha cambiado esto nosotros tenemos clic taibo tenemos el nombre de la tabla que es animales en este caso está utilizando los back tics que es para indicar que estos son strings y después de esto nosotros tenemos nuestro aid y seguido del tipo de datos y fíjense en lo que acaba de agregar note null cuando nosotros le agregamos la propiedad de auto incremento también lo que va a hacer es indicar que esta columna no puede ser nula y la verdad es
que quizás puede ser un poco redundante porque cuando nosotros empecemos a ingresar datos estos van a cumplir con ser auto incrementales por ende siempre estar agregando un valor y aquí finalmente nosotros tenemos la propiedad de auto incremento después de eso nosotros tenemos el tipo tenemos estado y ambos cuentan con ser unos parches de longitud 255 y fíjense que su valor por defecto en este caso es el de null no es necesario que nosotros agreguemos default num cuando estamos creando una tabla pero esto hace que sea un poco más explícito para que cuando después nosotros le
damos el comando de create table sepamos que este va a tener un valor por defecto de nulo pero no es necesario que nosotros agreguemos esto por lo menos en mysql y ahora podemos proceder a agregar elementos esta línea la vamos a comentar y fíjense si nosotros queremos comentar una línea esto quiere decir que todo lo que se encuentra a la derecha de la instrucción que vamos a ver ahora va a ser completamente ignorado si queremos escribir un comentario lo que tenemos que hacer es utilizar dos veces el guión o el símbolo de menos para que
nos va a servir esto para que nosotros podamos dejar los comentarios o también para poder comentar líneas de código por ejemplo nosotros podemos colocar acá esta línea no será ejecutada y como pueden ver esto no nos arroja absolutamente ningún error ya que los comentarios están pensados para que nosotros podamos dejarnos notas o un comentario ahora sí podemos seleccionar esto lo vamos a copiar vamos a bajar justamente hasta después de nuestro riddick taibo vamos a pegar nuestro insert into y lo que haremos será insertar el valor de chanchito feliz pero vamos a aprovechar también de insertar
otros dos valores más así es que vamos a triplicar esta línea tenemos el chanchito feliz esto lo vamos a cambiar por un dragón feliz y aquí nosotros vamos a cambiar chanchito por felipe y felipe no va a estar feliz felipe va estar triste porque no es un chanchito y felipe quiere ser un chanchito y antes de que nosotros insertemos los datos fíjense en lo que está ocurriendo acá me está entregando un warning vamos a ver cuál es el warning que nos muestra cuando yo coloque el mouse encima y nos está indicando que insert no es
un comando válido porque está esperando que nosotros agreguemos un punto y coma justamente al terminar una línea y si se fijan justamente acá nuestro comando de create table le falta el punto y coma se acuerdan de que yo les dije que agregar el punto y coma era algo importante bueno aquí tener la prueba venir acá agregamos el punto de coma y ahora podemos seleccionar esta línea la ejecutamos vamos a ejecutar también la siguiente línea scroll ejecutamos la siguiente línea y aquí nosotros podemos ver que efectivamente el comando de insert into se ejecutó tres veces el
primero inserto el registro de chanchito félix el segundo inserto el registro de dragon feliz y el último finalmente a felipe triste ahora cómo podemos nosotros listar todos los registros que hemos ingresado vamos a ver eso la consulta que nosotros estamos buscando es select selecto como bien dice el nombre nos va a permitir poder seleccionar elementos que se encuentran dentro de una tabla nosotros como segundo argumento le debiésemos pasar los nombres de las columnas que queremos mostrar pero antes de empezar a ver eso en detalle vamos a partir con la selección más sencilla de todas las
cuales asterisco así que escribimos select asterisco y luego de eso tenemos que indicar cuál es la tabla que queremos seleccionar sí lo sé yo hubiese preferido seleccionar primero la tabla y luego seleccionar las columnas pero acá selecciona primero las columnas y luego la tabla así que aquí escribimos from y el nombre de la tabla que es animales finalizamos con el punto y coma ahora sí podemos seleccionarla y ejecutarla y aquí ya podemos ver un listado de los registros que hemos ingresado tenemos el chanchito tenemos a dragón y también tenemos a felipe ahora qué es lo
que ocurriría si queremos seleccionar solamente un registro vamos a ver cómo hacer eso vamos a copiar esta consulta y vamos a agregarle algo más a webber y de igual uno aquí lo que estamos diciendo es selecciona absolutamente todo de la tabla de animales donde el aire sea exactamente igual a 1 vamos a seleccionar esto y lo vamos a ejecutar y esto como podríamos haber presumido bien lo que hace es que nos trae un elemento con el aire y de uno que en este caso vendría siendo chanchito feliz vamos a limpiar esto y vamos a ver
ahora otra forma de poder buscar vamos a copiar la consulta anterior y ahora vamos a colocar he estado igual vamos a pasarle el string pero con comillas simples feliz ahora la seleccionamos y la volvemos a ejecutar y ahora fíjense que me ha devuelto dos registros me devolvió el primero con haití 1 y el segundo que finalmente tiene aid y 2 entonces tenemos a chiquito feliz y también tenemos a dragón feliz en este caso nosotros podemos consultar por algún valor que exista dentro de alguna de las columnas para que éste nos devuelva registros en el caso
de la columna de ied y como nosotros estamos viendo acá éstas poseen un valor único por ende cuando nosotros consultamos por el audi y siempre cuando tengamos como que tiene un valor auto incremental y que también éste es una prime eric y siempre nos debería devolver solamente un valor pero si nosotros empezamos a consultar por otros valores como por ejemplo en este caso el de estado ahí puede ser que nos devuelva más de un registro porque podría ser que más de un registro tenga el valor de en este caso félix en su columna de estado
ahora vamos a acotar un poco más esta consulta vamos a utilizar operador de andy para poder indicar que queremos además agregar otra condición a nuestra búsqueda así es que vamos a colocar aquí tipo igual chanchito seleccionamos y volvemos a ejecutar y ahora estamos viendo que como le pasamos la condición de estado igual a feliz y la condición de tipo igual a chanchito esto lo que hace es que va a cruzar estos dos datos para ver qué registro corresponde con esas dos condiciones porque finalmente estos son dos condiciones la primera es que el estado tiene que
ser feliz y la segunda es que el tipo tiene que ser sentido y nosotros tenemos un registro el cual cumple con eso quien es chanchito feliz ahora qué es lo que pasaría si nosotros quisiéramos cambiar chanchito por felipe vamos a ejecutar esto y ahora nos damos cuenta de que no nos está devolviendo absolutamente nada porque si bien nosotros tenemos un registro que de hecho con tenemos dos registros que contienen el estado de feliz y también tenemos un registro que contiene el tipo felipe ningún registro cumple con las dos condiciones de tener un estado de feliz
y tener un tipo de felipe vamos a ver ahora cómo podemos actualizar los registros que ya se encuentran dentro de nuestra base de datos para eso vamos a presionar un par de veces enter y vamos a describir update animales se ha estado igual a feliz ware diy igual 3 acá lo que estamos haciendo es indicándole mediante update que queremos actualizar dentro de nuestra tabla de animales la columna de estado y queremos que su valor pase a ser feliz pero solamente esto donde exista un registro que contenga el aire de tres en este caso el registro
que contiene el aire de tres es el registro de felipe y su estado de triste lo vamos a pasar ahora a féliz seleccionamos esto ejecutamos y acá abajo podemos ver que se ha ejecutado nuestra consulta con éxito aquí en la número seis ahora lo que tenemos que hacer es ir a buscar nuestros registros con un selecto asterisco from animales ejecutamos nuestra consulta y ahora vemos lo siguiente tenemos a chanchitos dragón y a felipe pero si se fijan todos estos contienen el estado de feliz ahora vamos a realizar un experimento vamos a intentar eliminar los registros
que tenemos acá dentro de nuestra base de datos para eso vamos a escribir lo siguiente delete from animales where estado igual a feliz aquí lo que nosotros estamos indicando es que queremos eliminar un registro de la tabla de animales donde su estado tiene que contener el valor de feliz que creen que debería ocurrir en este caso debería eliminar los registros con haití uno dos y tres sin embargo eso no es lo que va a ocurrir si nosotros intentamos ejecutar esto ha ocurrido un error este que aparece acá abajo vamos a ver qué es lo que
contiene para eso nos venimos acá y pinchamos acá donde dice copy response vamos a presionar enter y vamos a agregarlo como un comentario para que éste no nos moleste después cuando estemos escribiendo más sql y aquí nos va a indicar algo vamos a separarlo en un par de líneas para que esto sea más fácil de leer nos está indicando el código de error 1175 word using 6 update mode and you tried to update a table without and where de dioses aquí colom los más formales que ustedes conozcan el meme del informático que se deprimió porque
lo que hizo fue un delete sin agregar el where a la consulta afortunadamente mysql ahora viene con un modo activado por defecto que nos protege a nosotros de realizar este tipo de consultas por ende nos va a forzar a que cada vez que nosotros queramos realizar un delete a nuestras tablas y también nos va a pasar con los update a que nosotros tengamos que indicarle necesariamente un ied y si nosotros no les indicamos un haití y en este caso le indicamos una condición de web pero utilizando en este caso una columna en lugar de la
id i lo que nos va a arrojar siempre va a ser este error de código 1175 existe una forma de desactivarlo y para eso nosotros podemos venir acá a donde nos está indicando este mensaje de error 216 bulls 6 mod tenemos que cambiar la opción preferencias sql editor y reconectar si ustedes quieren cambiar esta opción adelante yo no la voy a cambiar y la verdad es que tampoco deberíamos cambiarla así es que si nosotros quisiéramos eliminar un registro vamos a copiar esta consulta necesariamente vamos a tener que indicarle un ied y en este caso vamos
a hacerlo con el lady de tres y ahora cuando ejecutemos esta consulta nos vamos a dar cuenta de que nuestra consulta ahora sí se ha ejecutado con éxito y de que una fila ha sido afectada vamos a ver ahora qué es lo que nos devuelve nuestra consulta de select asterisco from animales vamos a copiar la íbamos a pegarla justamente después de nuestro delete la seleccionamos y la ejecutamos y ahora nosotros vemos que nuestra consulta nos está devolviendo los registros de chanchito feliz y también nos devuelve dragon feliz pero como presumimos anteriormente el tercer registro felipe
feliz ya no lo está devolviendo porque lo hemos eliminado con éxito vamos a intentar hacer un update para eso tenemos que escribir update animales set estado igual a triste were tipo igual dragón finalizamos con un punto y coma y ejecutamos esto que creen que va a pasar no está prestando atención nos va a arrojar el mismo error ejecutemos la consulta y el que nosotros vemos que nos está arrojando nuevamente el mismo error por ende si nosotros queremos actualizar esto vamos a necesitar pasarle también el aid y esto ocurre para los del itd y también para
los update y vamos a aprovechar de agregar justamente después de esto un comentario indicando que esto también arroja error 1175 ya aprendimos a realizar las cuatro acciones principales que se realizan de manera constante en las bases de datos las cuales son las acciones de cruz donde tenemos create read update y también delete ahora lo que nosotros vamos a hacer es profundizar un poco más en esta acción de ruiz lo que haremos será empezar a ver otras formas de como nosotros podemos seleccionar los elementos que se van a encontrar dentro de una tabla para eso nos
vamos a venir acá a nuestro editor y vamos a crear una nueva tabla en este caso va a ser una tabla de usuarios que después nosotros la vamos a utilizar para otras cosas paciencia primero vamos a crear la tabla de usuarios y vamos a aprender a buscar de manera un poco más específica data que se encuentre dentro de esta tabla pueden aprovechar de colocarle pausa al vídeo para anotar la consulta que yo he creado acá pero para los ansiosos que no le pueden colocar pausa voy a aprovechar de explicar mientras tanto de qué se trata
esta tabla esta es una tabla de usuario la cual va a contener una id y el cual hasta ahora es de tipo entero no puede ser nulo esto es un auto incrementa de manera que cada vez que nosotros ingresemos registros a esta el primero va a ser 1 el segundo va a ser 2 el siguiente 3 y así sucesivamente el siguiente es el campo de nombre el cual va a ser un bar char de 50 y este también va a ser note null el siguiente es la edad este también va a ser un entero y
va a ser no tener después de esto tenemos el correo electrónico del usuario que va a ser un parche y también va a ser no tener y a continuación la última instrucción que le vamos a pasar la cual es la de prime ricky y aquí le estamos indicando que el ide va a ser nuestro problema riki después de esto lo que estamos haciendo es insertar datos para que nosotros podamos tener un par de datos de prueba para que así podamos realizar consultas y en este caso nosotros tenemos a oscar tenemos a leila también tenemos a
nicolás y también tenemos a chanchito oscar tiene 25 años leila tiene 15 nicolás tiene 36 ya antiguo tiene 7 y finalmente tenemos con que todos estos usuarios tienen un correo terminado en gmail y cada uno de estos correos va a comenzar por el nombre del usuario en este caso tenemos a oscar tenemos a la isla tenemos a nico y tenemos nuevamente a buscar esto por supuesto que no está bien así que lo vamos a corregir inmediatamente este debe ser chanchito ahora si lo que vamos a hacer es proceder a ejecutar cada una de estas consultas
vamos a comenzar con create y luego de eso vamos a irnos acá donde se encuentra óscar vamos a ejecutarla bajamos ejecutamos el insert de leila luego nicolás y finalmente chanchito ahora vamos a profundizar un poco más en la instrucción de select la cual nos va a permitir a nosotros poder obtener datos de nuestra base de datos así que nos venimos nuevamente acá y ahora vamos a continuar anotando la primera instrucción que nosotros vimos que en este caso es la de select asterisco from user y vamos a ejecutarla aquí nosotros ya vemos que tenemos a los
usuarios voy a agrandar esto un poco tenemos a cada uno de los usuarios los cuales se insertaron con éxito y ahora vamos a continuar con la siguiente instrucción que en este caso también va a ser un selector user pero vamos a aprovechar de ver lo siguiente vamos a ver la instrucción del límite y en este caso le vamos a dar un límite 1 límite lo que va a hacer es como el nombre indica limitar la cantidad de recursos que se van a retornar hacia nosotros en este caso nosotros estamos indicando el límite 1 y esto
lo que hará será limitarlo a devolvernos el primer registro que éste encuentre y el primero que encontró en este caso es el de óscar vamos a continuar ahora la siguiente instrucción es select actriz co también from you share pero vamos a aprovechar de ir a buscarlos por la edad entonces vamos a indicar select asterisco from you ser where la condición edad y la edad tiene que ser mayor a 15 por ende esto lo que hará será devolverme todos los usuarios que sean mayores a 15 años ahora vamos a ejecutar nuestra consulta y aquí nosotros tenemos
que nos devolvió a oscar y también que nos devolvió a nicolás ambos tienen más que 15 años pero no nos devolvió los otros registros así es que ahora vamos a continuar con la siguiente nuevamente vamos a hacer select asterisco from you share pero en este caso la condición va a ser edad sea mayor igual a 15 ahora vamos a ejecutar esto y ahora podemos ver que también nos ha devuelto a leila que leila en este caso tiene 15 años vamos a continuar ahora con las siguientes select asterisco from you ser where edad sea mayor a
20 y que el correo sea igual a niko gmail.com en este caso como ya aprendimos esto es lo que debes hacer es devolverme solamente al usuario que va a tener de correo ni co gmail.com independiente sé que existen otros usuarios que sean mayores a 20 años porque mientras haga el cruce o sea cuando haga el cruce se va a dar cuenta que va a haber solamente un usuario que es mayor a 20 y que también tiene un correo el cual es único arroja gmail.com así que nos venimos acá y ejecutamos esto y aquí como habíamos
predicho tenemos solamente un usuario vamos a continuar con el siguiente aquí tenemos un select asterisco from you share where edad sea mayor a 20 y aquí es donde viene la diferencia por email igual a ley la arroba gmail.com en este caso va a ocurrir lo siguiente primero se va a traer todos los registros que cumplan con la condición de tener más de 20 años pero si es que existe algún registro que independiente si tiene 20 años o no tiene el correo de leila gmail.com que nosotros sabemos que esto si existe en ese caso me va
a devolver también ese registro por ende esto es finalmente la unión entre los registros que cumplen con ser mayores a 20 y también los registros que cumplen con tener un correo de leila gmail.com así que vamos a ejecutarlo y aquí nosotros tenemos a oscar que tiene más que 20 tenemos a leila que no es mayor a 20 pero tiene el correo de leila gmail.com y tenemos a nicolás que tiene 36 y que tiene un correo de nico gmail.com ahora vamos a ver la negación vamos a buscar también desde usuario donde el email sea distinto leila
gmail.com y esto como puedes haber presumido me va a devolver todos los registros que cumplan con no tener un correo de leila gmail.com vamos a ejecutar esta consulta y aquí tenemos a tenemos a oscar tenemos a nicolás y también tenemos a chanchito vamos a continuar ahora con la siguiente esto nuevamente es un selecto asterisco from you share where edad between 15 and 30 esto de estar hablando spanglish es hasta un poco extraño pero el fin no importa aquí lo importante es que nosotros en lugar de comparar la edad directamente con un número o con un
string lo que estamos haciendo es que estamos utilizando esta nueva instrucción de between y cuando estamos utilizando la instrucción de between tenemos que indicarle dos argumentos en este caso el primero y el segundo y entre medio de estos dos tenemos que utilizar la palabra reservada de and y between quiere decir vas a buscar todos los registros cuya edad se encuentre entre 15 30 vamos a ejecutarlo a ver qué es lo que nos devuelve y si es que todo salió bien deberíamos tener a oscar y también deberíamos tener la regla vamos a ver ahora otra instrucción
con la cual nosotros podemos ir a buscar registros a la base de datos pero esta se utiliza mucho cuando el usuario quiere buscar algo así que el caso de uso más práctico es tomar los datos que ingresa el usuario en un formulario y luego se pasaría a este dato a esta consulta sql aunque no se pasa directo primero tenemos que es analizarlo pero eso no lo vamos a ver acá que sucede dentro del lenguaje de programación así es que vamos a hacer esa consulta vamos a escribir select asterisco from user web email like vamos a
dar comidas simples y aquí vamos a utilizar el porcentaje de hecho vamos a utilizar el porcentaje dos veces y justamente dentro de este porcentaje vamos a escribir gmail y vamos a finalizar con un punto y coma en este caso lo que estamos indicando en esta consulta es que busca dentro del campo de email esta cadena que dice gmail pero me da lo mismo su inicio y también me da lo mismo su final o sea esto podría decir por ejemplo la la gmail la la y esto vendría haciendo una respuesta válida esto también podría hacer gmail
sin nada más y esto también sería una respuesta válida por ende nosotros podríamos intuir que esta consulta lo que hará será devolvernos todos los registros que se encuentran dentro de nuestra tabla de usuarios ya que todos estos cuentan con un correo de gmail ahora vamos a ver cómo podemos cambiar esto un poco vamos a copiar esto mismo y lo vamos a pegar acá después pero vamos a hacer un pequeño cambio lo que haremos será eliminar este símbolo de porcentaje de al final y vamos a ejecutarlo de nuevo aquí lo que nosotros le estamos indicando a
esta consulta es que la palabra de email puede comenzar con cualquier cosa puede ser la ley email chanchito o feliz gmail pero tiene que terminar con gmail no puede tener un punto como un punto cero o un punto necesita no puede tener absolutamente nada tiene que ser algo que termina con gmail entonces sí que nosotros ejecutamos esto el resultado de dice será absolutamente nada vamos a ver este mismo ejemplo copiando y pegando pero nosotros en lugar de realizar esta consulta con like de gmail vamos a hacerlo con oscar y vamos a colocar este like justamente
al final en este caso lo que hará será ir a buscar por los correos electrónicos que empiecen con oscar pero que lo que sigue después de óscar da exactamente lo mismo nosotros ya sabemos que esto lo que hará será devolvernos al usuario que tiene el correo de óscar que es este que aparece acá y de esta manera nosotros podemos realizar búsquedas dentro de nuestra base de datos sin necesariamente acordarnos de todo lo que dice algún campo podemos buscar por ejemplo todos los usuarios que tengan un correo tipo gmail o todos los usuarios que se encuentren
dentro de un rango de edad todos los usuarios que cumplan con alguna característica como por ejemplo que el correo electrónico termine en punto com ahora vamos a ver otra consulta la cual es la de select asterisco from user order by edad y vamos a indicar que quiero que el orden sea ascendente cuando nosotros le estamos indicando order bite estamos indicando que queremos que nos ordene todos los resultados que encontró esta consulta pero en orden ascendente esto quiere decir que el primer registro va a ser el de menor de edad que se encontró después va a
venir el siguiente y así sucesivamente hasta que se llega al registro que tiene la mayor edad nosotros además de esto podemos buscar por orden descendente y eso nosotros lo hacemos con desc ahora si buscamos tenemos exactamente el mismo resultado pero éste se encuentra invertido ahora vamos a ir a seleccionar el registro que tenga la mayor edad para eso continuamos con select edad mayor from you ser y ahora si ejecutamos nuestra consulta vamos a ver ahora que tenemos que el valor que nos va a devolver es el de 36 y ahora como podemos ir a buscar
la menor edad haciendo exactamente lo mismo select min abres y ahora paréntesis edad as menor from y usher ejecutamos esto y ahora estamos recibiendo el menor registro vamos a explicar ahora un poco la consulta aquí nosotros estamos utilizando la palabra reservada de select seguido de eso nosotros podemos utilizar max o podemos utilizar min en este caso minimax son funciones lo que significa que estos van a tener un abre paréntesis un cierra paréntesis y dentro de esto tenemos que pasar el nombre de la columna que en este caso es la de edad después de eso tenemos
que indicarle cómo queremos que éste se llame para eso nosotros utilizamos la palabra reservada de as seguido del alias o el sobrenombre que queremos que éste tenga y en este caso es y después de eso continuamos con from you ser porque queremos seleccionar esto de la tabla de usuario esto nosotros lo podemos ver mejor si es que agrandamos acá nos vamos a dar cuenta que aparece el texto de menor pero si nosotros ejecutamos la anterior la cual es seleccionar la edad máxima que se encuentra aquí nos va a aparecer el texto de nuestra columna va
a ser el de mayor hasta ahora hemos trabajado solamente con select asterisco pero existe una alternativa donde podemos seleccionar solamente las columnas que sean de interés para nosotros y vamos a hacer eso inmediatamente nos vamos a venir acá nuevamente a mysql word page y vamos a escribir select y ahora tenemos que escribir el nombre de la columna en este caso a mí me interesa la columna de idea y luego de eso me interesa seleccionar la columna de name esto por supuesto lo vamos a sacar de la tabla de usuarios así es que escribimos from y
user punto y coma importante el punto y coma vamos a ejecutar esta consulta tenemos que las columnas que están apareciendo son las de i d y aquí también tenemos name pero ustedes sabían que además podemos cambiar el nombre de la columna que se está mostrando vamos a ver eso vamos a achicar está un poco deslizamos para abajo y ahora vamos a escribir select y de command name pero ahora vamos a utilizar un alias vamos a reemplazar el nombre the name por nombre son un poco extraño pero lo que quiero decir es que acá donde aparece
name vamos a hacer que aparezca nombre en lugar de name también podemos hacer que aparezca chanchito feliz pero vamos a partir por nombre y luego lo cambiamos por chanchito feliz vamos a escribir name as nombre from y usher ejecutamos la consulta y ahora vemos de que nuestra columna es y de pero la que más nos interesa en este caso es la de nombre a esto por supuesto también lo podemos cambiar a todo lo que nosotros queramos de hecho vamos a hacer eso inmediatamente en lugar de colocarle nombre vamos a colocarle chanchito y vamos a ejecutar
esto nuevamente y ahora nuestra columna tenemos idea y tenemos chanchito esta es una forma de nosotros poder entregarle un alias a las columnas cuando estamos haciendo consultas pero lo más probable es que nosotros vayamos a utilizar esto cuando estemos haciendo operaciones como max min o cuando empecemos a agrupar datos que ya vamos a ver la agrupación de datos no te adelantes y una vez visto esto ya podemos empezar a ver una de las partes más interesantes de las consultas de sql y es cuando unimos una tabla con otra tabla los join vamos a verlos vamos
a venir aquí a esta pestaña de quart y uno vamos a darle clic derecho y vamos a pinchar acá donde dice new tap para no perder todo lo que ya hemos hecho hasta ahora así es que vamos a crear una nueva pestaña y aquí es donde vamos a escribir el resto del código lo que necesitamos hacer acá es crear una nueva tabla la cual podamos utilizar para cruzar con la tabla de usuarios y de esta manera podemos colocar llaves foráneas que lo vimos al comienzo de este curso para poder identificar al creador de este recurso
en este caso vamos a crear una tabla de productos y cuando alguien ingrese un dato vamos a asignarle el audi del usuario que creó producto entonces nos vamos a venir acá y vamos a describir los siguientes write facebook products vamos a dejarlo en plural porque me interesa que nosotros después veamos una nueva instrucción que es para poder cambiar de nombre las tablas así que lo vamos a dejar como productos o productos abre y cierra paréntesis y dentro de estos vamos a crear nuestro y de heidi int el auto incremento coma name parchar 50 not nulo
ruiz by esta va a ser la columna que va a referenciar a la tabla de usuarios entre noten un coma y para que podamos hacer cosas más interesantes después vamos a agregar una nueva columna la cual va a ser la de marca esto también va a ser un bar char de 50 y también noto no vamos a indicarle nuestra llave primaria aymerich y haydee y ahora vamos a continuar con nuestra llave foránea for in created by aquí nosotros le estamos indicando de que la columna de created by vendría siendo nuestra llave foránea pero nosotros ahora
tenemos que indicarle a qué tabla está haciendo referencia que en este caso es la tabla de usuario espacio reference es espacio y usher el nombre de la tabla entre paréntesis y de el nombre de la columna que estamos referenciando ahora agregamos un punto y como el final y ya podemos ejecutar esta consulta y aquí vemos que nuestra consulta de crear una tabla se ha ejecutado con éxito vamos a refrescar acá y ahora vemos que aparece nuestra tabla de productos o productos pero yo lo que quiero hacer es seguir la convención de que todos los nombres
de las tablas se encuentren en singular así que vamos a cambiar el nombre de esta tabla para eso nos venimos acá y escribimos rim en table products to road punto y coma ejecutamos esta consulta y aquí nos está indicando que se ha renombrado con éxito pero sin embargo acá sigue apareciendo en plural sí que te sigue apareciendo en plural lo que tienes que hacer es venir acá a este icono que es para refrescar la vista de nuestras tablas así que pinchamos acá y ahora vemos que nuestra tabla tiene el nombre del producto en singular ahora
vamos a insertar unos valores para que podamos empezar a jugar con los datos y vamos a aprovechar de ver una nueva alternativa de poder insertar datos antiguamente lo que estábamos haciendo era insertar datos uno a uno teníamos un insert seguido de otro insert seguido de otro insert seguido de otro insert ahora lo que vamos a hacer es insertar absolutamente todos los datos pero utilizando solamente un insert así que escribimos acá insert into road tenemos que pasarle los nombres de las columnas name rated by y marca enter vamos a escribir esto en una nueva línea values
enter nuevamente tab y esto es para que sea más fácil de leer la consulta y vamos a empezar el primero un ipad este lo creó el usuario con haití 1 y la marca es apple al final de esto vamos a agregar una coma después de esto agregamos otro producto el cual va a ser un iphone éste también lo creó el primer usuario y también es marca app el siguiente producto una voz watch este lo creó el usuario con heridos y también es de marca apple vamos a continuar ahora agregando un macbook conocí uno también marca
apple continuamos con un imac lo agrego el usuario con haití 3 y también marca apple finalmente un ipad mini que lo agregó el usuario con haití 2 y este también es marca apple y al final acá tenemos que agregar el punto de coma para que no exploten ahora podemos seleccionar toda nuestra consulta y la podemos ejecutar y aquí vemos que los datos se han insertado con éxito pero vamos a asegurarnos que se insertaron con éxito y como nos vamos a asegurar escribiendo una consulta escribimos select asterisco from product punto y coma ejecutamos nuestra consulta y
qué bien aquí se encuentran todos los datos que nosotros ingresamos ahora vamos a hacer un led join de la tabla de usuario con la tabla de producto vamos a representar nuestras tablas como si éstas fuesen unos círculos aquí nosotros tenemos nuestra tabla de user y ésta vendría siendo nuestra tabla de producto y esto es un left join cuando nosotros hacemos un let join lo que vamos a hacer es indicar que tiene que traerme todos los registros que encuentre en la tabla de usuarios dependiendo de la consulta que nosotros hayamos creado y en el caso que
se encuentra en registros dentro de nuestra tabla de producto que hayan sido creados por el uso que aparece en esta consulta de acá en ese caso estos productos van a aparecer dentro de nuestra consulta pero sí que se crearon productos los cuales no aparecen como resultado sus creadores acá en ese caso esos productos no van a aparecer esta es la razón por la cual nosotros podemos representar un led joint de esta manera en este caso el que manda es la tabla de usuarios por la consulta que nosotros hagamos vamos a traer todos los usuarios que
esa consulta nos arroje y después si es que estos tienen datos en la tabla de producto en este caso traerlos si es que no deja sencillamente los datos como nulo vamos a ver es nuestra consulta se va a escribir de la siguiente manera select vamos a dejar mientras tanto el nombre de las columnas en blanco porque me interesa que veamos esto from you share y le vamos a entregar un alias a la tabla de usuario para entregarle un alias a la tabla de usuarios sencillamente presionamos espacio y ahora los podemos devolver a empezar a nombrar
nuestras columnas la primera columna que me interesa es la de idea pero como en este caso yo voy a estar consultando dos tablas tengo que indicar qué tabla es la columna que estoy consultando y en este caso estoy consultando la columna de y de de la tabla de usuario porque la asignamos el alias acá que corresponde a nuestra tabla de usuarios pero no solamente quiero líder quiero algo más para poder ver algo un poco más representativo de los datos que me está trayendo la consulta así que vamos a agregar otra columna más vamos a agregar
el email y esta consulta que nosotros la ejecutamos esto ya debería estar funcionando es más aquí nos aparece el resultado de nuestra consulta tenemos la columna de idea y tenemos la columna de email y todos los datos que éste debía traer ahora vamos a agregarle más cosas para eso nos vamos a venir justamente después de donde le entregamos el alias a nuestra tabla de usuario y aquí es donde hacemos nuestro test join escribimos left joint de aquí le tenemos que indicar cuál es la tabla que queremos unir con la tabla de usuario en este caso
tenemos solamente una tabla extra la cual es la de producto así es que escribimos producto y esta es nuestra oportunidad para entregarle también un alias así es que vamos a indicar que su alias es p pero yo estoy haciendo un live join entonces también me voy a traer datos de la tabla de producto voy a querer ver también cuál es el producto que me estoy trayendo así que vamos a agregar esa consulta en nuestra parte de select así es que nos venimos acá justamente después del email coma p por qué estamos referenciando a la tabla
de producto punto name porque me interesa ver también el nombre del producto ahora para que esté leif join se encuentre completo tenemos que indicar cuáles son las dos columnas que nosotros queremos ligar vamos a aprovechar de ver cuáles son las columnas de las tablas en este caso nosotros tenemos nuestra tabla de usuario la cual tiene la columna que en este caso nos interesa es la de idea y nosotros también tenemos nuestra columna perdón o la columna nuestra tabla de producto que contiene una columna también de idea el nombre en este caso lo vamos porque la
que nos interesa es la de created bites recuerden que nuestra columna de created by contiene el lady del usuario entonces cuando nosotros hagamos este left join lo que vamos a hacer es indicarle a nuestra consulta que donde se encuentra la columna de created by vamos a hacer que se una con el audi respectivo de la tabla de usuario o sea que si nosotros aquí tenemos un ied y uno en ese caso quiero que sea de uno vaya a buscar al usuario con haití uno dentro de la tabla de usuario vamos a escribir eso continuamos con
un espacio y aquí las dos columnas que nosotros queremos juntar un punto y de igual p punto created by y aquí lo que estamos diciendo es vamos a juntar según el aire de la tabla de usuario que éste sea igual a la columna de created by de la tabla de producto y ahora si ejecutamos esto fíjense en lo que está pasando aquí nosotros tenemos el listado de todos los usuarios en este caso tenemos el 1 el cual es oscar tenemos dos tenemos tres y tenemos cuatro en este caso el usuario con el de uno creó
tres productos de boquerón los estamos viendo es porque tengo que hacer es color hacia arriba ahora si los estamos viendo entonces tenemos a oscar que óscar creó un ipad creó un iphone y también creó un macbook y también tenemos a leila que vamos a aprovechar de indicarlo con otro color que ella creó el producto del approach y también creó el producto del abdomen y niko creó el imac y tenemos a chanchito arroba gmail que él no ha creado absolutamente nada y esta es la gracia de finalmente como se ve una consulta hecha con un led
joint tenemos una tabla de usuario y una tabla d producto donde en el left join tienes que traerme absolutamente todos los registros que encuentres dentro de la tabla de usuario que corresponda con la consulta que yo estoy ejecutando y tráeme los productos sólo si están asociados a un registro de la tabla de usuario estos señores es un left join ahora continuamos con radio y que es el raid join a diferencia de la lección es lo mismo pero por la derecha vamos a ver lo mejor en un dibujo aquí nosotros tenemos a nuestra tabla de usuario
y usher y acá tenemos a nuestra tabla de producto cuando nosotros hacemos un radio vendría siendo lo mismo que el lección pero el que va a traer absolutamente todos los datos dependiendo de la consulta va a hacer de la tabla de la derecha que en este caso vendría siendo de nuestra tabla de productos y en el caso que él encuentre datos dentro de la tabla de usuarios este los va a atraer pero si no existe un dato que se logre relacionar con algún elemento de la tabla de producto en ese caso sencillamente no lo va
a traer de usuario entonces es como lo mismo que el left join pero en lugar de utilizar la tabla de usuario como la tabla principal utiliza la tabla de productos y eso lo que hace es que cambia el resultado que nosotros terminamos recibiendo vamos a verlo para poder hacer un raid join basta con que copiamos esto y lo pegamos y nosotros en lugar de tener aquí left join cambiamos el left por right ahora si podemos ejecutar nuestra consulta y vamos a ver qué es lo que nos arroja aquí nosotros ahora tenemos que lo principal que
nos está devolviendo en este caso son los productos tenemos acá ipad iphone de la apple watch macbook el imac y también el ipad mini y estos están asociados a su vez con un usuario y si se fijan lo que nosotros estamos mostrando que vendría siendo el aire del usuario pero el usuario chanchito no lo está mostrando y esto es porque no se encontró un registro en la tabla de la derecha que en este caso en la tabla de productos que pudiera ser asociado con la tabla de usuario esta es la razón por la cual nosotros
acá estamos que no solamente el listado de productos pero también nos falta el usuario de chanchito ahora vamos a ver el interior y que es el liner joint vamos a continuar exactamente con el mismo gráfico aquí nosotros tenemos nuestra tabla de usuario y usher y aquí tenemos nuestra tabla de producto products de facto ese palito en el caso del left join nosotros habíamos visto que lo que nos va a traer finalmente es los registros de usuario que encuentre y si es que encuentra asociado a un producto nos va a traer también este producto en el
caso del right join lo que va a hacer es que nos va a traer el producto y en el caso que exista nos va a traer un usuario asociado en el caso de interior nos va a traer tantos usuarios como productos pero siempre y cuando estos dos puedan ser asociados o sea nos va a traer la intersección de estas dos tablas y como hacemos un interior vamos a ver lo vamos a tomar esta misma consulta la vamos a copiar la vamos a pegar acá más abajo y vamos a cambiar acá donde dice right joint por
inner join nos vamos al final y ejecutamos la consulta vemos que la consulta se ejecutó con éxito pero en este caso nos estaba mostrando a todos los productos que se registrados y es porque todos los productos que se encuentran registrados están asociados con un usuario ahora vamos a ver el último join dentro de todos los que ya hemos visto este es el cross join y el close joint entrega el producto cartesiano entre ambas tablas vamos a explicar lo mejor de una manera más gráfica para que se entienda el producto cartesiano entre dos tablas sería adjuntar
el registro número uno con a b y de luego exactamente lo mismo con el segundo registro sería 2 con a 2 con b 2 11 y 2 con d después lo mismo con el 3 0 3 con 3 con b3 con c 3 condes y finalmente el cuarto el 4 con a con b 11 y con d vamos a ver cómo hacer esto para eso escribimos select un punto y de punto name y p punto y de pe punto name from you ser le vamos a dar el alias de eeuu cross join producto aquí nosotros
no tenemos que especificar dónde se va a juntar una tabla con respecto a la otra esto hay que hacerlo con mucho cuidado porque la cantidad de registros que nos va a devolver un cross join puede ser potencialmente gigantesco así es que ahora vamos a ejecutar esto y vamos a ver qué es lo que nos devuelve y como podemos ver tenemos acá el primer producto que se cruzó con todos los usuarios el segundo producto que se cruzó con todos los usuarios y así sucesivamente hasta que llegamos al último producto el cual vendría siendo el ipad mini
ahora vamos a ver la instrucción de group by group ahí se utiliza con instrucciones que por lo general tienden a agrupar elementos como por ejemplo count en este caso van a tomar todos los registros en base a un pivote como por ejemplo podría ser la marca y lo que va a hacer es que los va a agrupar en registros completamente individuales en este caso nosotros tenemos seis productos los cuales son todos de la misma marca y por ende lo que hará será mostrarnos un registro y luego indicar a que esté en total son seis pensando
que son los productos que nosotros hemos ingresado hasta ahora si nosotros hiciéramos esta misma agrupación pero por ejemplo con el usuario nosotros tendríamos que esta instrucción de count tendría algo así como 3 productos para el primer usuario 2 para el segundo 2 para el 3 0 1 y así sucesivamente no me acuerdo exactamente cuántos usuarios crearon cuantos productos pero se va a ver algo más o menos así vamos a ver ahora cómo podemos hacer esto mismo un código vamos a comenzar con lo más fácil vamos a hacer un selecto count y de ahí vamos a
aprovechar también de ver la marca vamos a hacer los from products y vamos a agrupar por la marca vamos a ejecutar esta consulta y aquí vemos que tenemos seis productos de habla vamos a hacer esto mismo pero vamos a aprovechar de hacer un leaf join con la tabla de usuario en este caso nuestra tabla principal vendría siendo la tabla de productos si que quieren obtener el mismo resultado en este caso pueden tratar de hacer un ride join partiendo con la tabla de usuario pero yo voy a partir con la tabla de productos volvemos acá un
par de enter y escribimos select count p.de porque vamos a hacer referencia al idea del producto punto name porque quiero mostrar el nombre del usuario y vamos a seleccionar de la tabla de producto y le vamos a dar el alias debe luego de eso hacemos un left join con la tabla de user le vamos a dar el alias de eeuu y luego vamos a juntar estas dos tablas para eso las vamos a unir en el aire y del usuario con related by de la tabla de productos y aquí haremos un grupo by por punto related
by ejecutamos boom oscar ha creado tres productos leila ha creado dos productos y nicolás solamente ha creado un producto nosotros podemos hacer que estas consultas de grupo by solamente nos arroje resultados que para nosotros sean relevantes supongamos que nosotros queremos colocarle en este caso una condición como por ejemplo que solamente nos devuelva los registros donde su conteo sea mayor o igual a 2 en este caso nicolás no me interesa y sólo quiero que me devuelva el registro de leila y de óscar cómo podemos hacer eso con una nueva instrucción que se llama having vamos a
ver la copiamos nuestra consulta la pegamos más abajo voy a separar la en dos líneas y en una tercera línea escribo having count punto y d mayor igual a 2 ahora seleccionamos la consulta y la ejecutamos ya que nosotros tenemos a oscar el cual tiene tres productos que él creó y tenemos a leila que ya ha creado solamente dos productos y así hacemos que nicolás desaparezca de nuestro listado ya hemos visto las instrucciones más importantes y las que vamos a utilizar de manera más recurrente con sql ahora nos faltaría ver la última instrucción antes que
pasemos a realizar modelamiento de base de datos y esa es la de drop table vamos a eliminar ahora la tabla de productos para eso nos venimos acá y escribimos drop table road art seleccionamos y la ejecutamos y aquí podemos ver que nuestra tabla ha sido drop eada existence o eliminada con éxito y si nos venimos acá a nuestro icono de refrescar y lo pinchamos vamos a ver ahora que todavía tenemos nuestra tabla de animales y también tenemos nuestra tabla de user vamos a aprovechar también de eliminar esas dos tablas drop table animales drop table user
refrescamos y vamos a ver ahora que ya no tenemos absolutamente ninguna tabla vamos a hablar un poco de la cardinal y that antes que empecemos a hablar sobre nuestros modelos de entidad relación que es la cardinal y that nosotros ya lo vimos al comienzo de este curso de hecho en la parte introductoria y la cardinal y that se refiere a las relaciones que pueden tener unas tablas y otras en este caso yo lo que voy a hacer es que me voy a crear una tabla por ejemplo la de usuario que es la que nosotros habíamos
hecho antes y esta tabla de usuario contenía un id y un montón de otros datos que por ahora no son relevantes pero además nosotros teníamos una tabla de producto y esta tabla de producto también contenía una idea pero dentro de todos los otros datos o todas las otras columnas que éste tenía también existía una columna que se llamaba related by esta columna de created by era el aid y del usuario pero sea esto de create by finalmente terminaba siendo una for inc y que hacía referencia a la tabla de usuario más específicamente a su columna
de y de de esta manera nosotros sabemos de que la tabla de productos tabla de usuario estos tienen una relación y cuando nosotros sabemos de que en una de las tablas que se encuentran relacionadas se encuentra nuestra llave foránea en ese caso nosotros sabemos de que aquí se va a encontrar un n iv con el n me refiero de que va a existir mucho de eso comparado con lo otro y en este caso en la tabla de usuarios como no existe una referencia de la tabla de producto pero si existe una referencia al usuario en
la tabla de producto nosotros decimos de que un usuario tiene un 1 y la relación entre ambas tablas es de 1 esa n donde un usuario puede tener muchos productos y un producto solamente puede tener un usuario en este caso el usuario que lo creó y en este caso tenemos la cardinal y that de 1 esa n otra cardinal y that que también existe es la de n esa n por ejemplo vamos a hablar de las órdenes de compra una orden de compra puede contener muchos productos pero un producto también puede existir en múltiples órdenes
de compra cómo se podría modelar eso en este caso nosotros vamos a tener nuestra tabla de orden de compra que ésta va a contener una y dyn entre otros miles de datos pero uno de los datos también más importantes que tiene que estar es la relación entre la tabla de producto y la tabla de orden nosotros lo que podríamos hacer es tratar de colocar el ibi de la orden de compra en la tabla de producto pero en este caso tendríamos que estar constantemente creando el mismo producto muchas veces si lo queremos asociar la orden de
compra lo mismo ocurriría acá en nuestra tabla de orden si es que nosotros agregamos nuestro producto haití ya que si nosotros quisiéramos por ejemplo agregar más productos a esta misma orden de compra que finalmente cuando tú vas al supermercado compras algo tú vas a tener siempre muchos productos esta forma de modelar lo no nos va a servir así es que la forma correcta de poder modelar esto es haciendo una relación de nn y una relación de n es aena nosotros podríamos dejarla así tal cual y colocamos acá n a n pero cuando después nosotros queremos
escribir la consulta para poder finalmente efectuar esta relación nos vamos a dar cuenta de que va a existir una tabla intermedia la cual se llama products y un bajo orden y product guión bajo order esta va a contener un id también va a contener el idea de la orden por del guión bajo haití y también va a contener el ide del producto que en este caso se va a llamar producto hyde y finalmente esta tabla de producto order vendría siendo una tabla intermedia entre la tabla de producto y la tabla de order para poder generar
esta relación de nsn et pero cuando nosotros escribimos directamente esto como una consulta de sql tenemos que crear por supuesto esta tabla intermedia y esta tabla intermedia nos vamos a dar cuenta que va a tener una relación de 1 a n con la tabla de producto y va a ocurrir exactamente lo mismo con la tabla de orden donde la tabla de orden va a tener una relación de 1 es n con la tabla de producto order y algo también muy interesante es que muchas empresas deciden cambiarle el nombre a esta tabla de productor de que
es oportuno general es una convención pero no es necesario que ustedes la llamen así lo que deciden hacer las empresas es sencillamente no le colocan en el nombre del producto order y le colocan order detail que vendría siendo el detalle de la orden y en este caso vendría haciendo cuando nosotros vemos en por ejemplo de las boletas los productos listados y también la cantidad asociada al lado de este producto incluso nosotros podríamos agregar también como una propiedad extra que no lo vamos a hacer ahora pero podríamos agregar acá una propiedad extra de la cantidad que
compró de ese mismo producto y de esta manera es como podemos efectuar una cardinal y that de en esa en que finalmente es con una tabla intermedia y que esta tabla intermedia tiene una cardinal y that de 1 esa n con las otras tablas ahora vamos a ver cómo podemos hacer esto utilizando mysql workbench para que nosotros no tengamos que estar creando estas consultas constantemente para poder realizar modelos de identidad relación dentro de mysql workbench vamos a tener que pinchar aquí en la casita pinchamos acá y acá vamos a tener esa opción que pareciera que
es como una tabla que se está juntando con otras tablas esa es la que nosotros nos interesa así que vamos a pinchar en ella y finalmente vamos a venir acá a ese pequeño símbolo de más y pinchamos en él y nos va a abrir finalmente a esta ventana pero la opción que nosotros nos interesa en este momento para empezar a crear diagramas de identidad relación es esta que aparece acá de add diagram así es que vamos a pinchar en estas dos veces y nos va a abrir este pequeño canvas en blanco existen muchas herramientas aquí
a la izquierda la verdad es que no las vamos a ver todas solamente vamos a ver las que más nos interesan a nosotros y también existen unas plantillas que se encuentran justamente acá a la izquierda perdón a mi otra izquierda a la derecha que nosotros vamos a poder utilizar para poder empezar a crear tablas desde cero de hecho yo lo que voy a hacer es que voy a agarrar esta tabla de usuario la voy a pinchar dos veces y lo que hará será ponerme la tabla de usuario dentro de este canvas y yo lo que
voy a hacer ahora es para poder editar esta tabla voy a pinchar dos veces en ella vamos a agrandar un poco esta vista ya que como podemos ver tenemos varias cosas que son sumamente interesantes si ustedes quieren introducir más en esto por supuesto tienen toda la libertad de hacerlo yo voy a mostrarles las cosas que son más importantes en este caso fíjense que acá nosotros tenemos una columna que se llama qué significa el nombre de la columna de nuestra tabla acá nosotros tenemos ya ser name también tenemos email tenemos password y también tenemos create time
que vendría siendo cuando este registro fue creado yo lo que voy a hacer es derechamente en voy a eliminar está dando clic derecho y pinchando en delete selected eso lo que hará será dejarme con una tabla la cual cuenta con la columna de yuso name email y password vamos a aprovechar de agregar otra columna la cual le vamos a dar el nombre de y luego nos vamos a venir ahora a esta columna pero dentro de nuestra fila de idea y vamos a pinchar aquí en estas dos flechitas que aparecen apuntando hacia arriba y hacia abajo
que se encuentran justamente a la derecha de marchar nos vamos a pinchar aquí en marcha vamos a pinchar en esta fecha y vamos a cambiar el valor por y en éste o sea un interés y también porque yo tengo un poquito de toque cuando estoy moderando mis tablas a mí me gusta mantener el ied y siempre al comienzo entonces para poder subirlo lo que haremos será darle un clic derecho move up move up move up y ahí finalmente terminó como la primera columna de mi tabla ahora vamos a hacer lo siguiente esta columna que aparece
acá de pk significa reymer y que así es y agradable así que vamos a pinchar ahí en nuestra columna de ida para que ésta quede marcada como una primer ricky y fíjense ahora lo que ocurrió dentro de mi tabla aparece que mi aid y ahora tiene como una pequeña llave cita y esa llave citas para indicar el modelo entidad relación que estamos diagramando acá que esta es una primer y kit y picasa también que otra cosa que se marcó fue esta columna que aparece acá de nn y nn significa not por ende nuestra prime aquí
tampoco puede ser nulo ahora nosotros acá tenemos una tercera columna que dice un q y esto qué significa que tiene que ser you mic único para que nos va a servir esto bueno pues para el correo y para el nombre de usuario así que lo que haremos será indicarle que el giussepe mail tiene que ser único y el email también tiene que ser único también vamos a aprovechar de indicar que el email tiene que ser not null y de esta manera nosotros ya pudimos modelar una tabla dentro de sql y la verdad es que sin
hacer mucho solamente con un par de clics pero era muy importante para nosotros saber cómo podíamos hacerlo derechamente escribiendo consultas de sql ahora como yo podría obtener la consulta sql de esta tabla para ello eventualmente poder crearla en una consulta sumamente fácil nos venimos acá a la tabla le damos clic derecho y vamos a copiar acá donde dice copy sql to clipboard pinchamos acá y nos vamos a devolver a nuestro servidor de mysql que vendría siendo en esta pestaña que aparece acá pinchamos en ella y vamos a ir al final de nuestro archivo de sql
y vamos a pegar y aquí nosotros podemos ver ahora que tenemos una sintaxis completa para la creación d las tablas sin necesidad de estar constantemente escribiendo consultas sql esto es sumamente útil pero no siempre vamos a tener acceso a este tipo de herramientas por eso es importante que nosotros aprendamos a crearlas escribiendo las consultas y también vamos a aprovechar de ver que existen funcionalidades que antes no habíamos visto como por ejemplo write table if not exist esto quiere decir si es que la tabla no existe en ese caso crea la ya que si es que
existe e intentas crearla va a arrojar un error no me creen intentarlo colocarle pausa el vídeo e intentarlo además de eso estamos viendo que tenemos unos índices y los índices lo que van a hacer es tomar estos campos y los van a cargar en memoria de manera que cuando nosotros queramos buscar estos registros sea mucho mucho mucho más rápido imaginen que nosotros tenemos una tabla que ésta tiene digamos que muchos registros casi casi cercanos e infinitos quizás un poquito menos de infinito y si nosotros intentaremos buscar algún registro de acá por su correo electrónico y
éste no se encontrara cargado dentro de la memoria ram lo que tendría que hacer sql es ir a buscar derechamente a todo el disco duro esto es un disco duro es medio extraño el disco duro pongamos otro la taquilla en fin eso es un disco duro lo que tiene que hacer sql es ir a buscar dentro de todo el disco duro desde el comienzo hasta el final para saber dónde se encuentra ese registro pero si nosotros lo que hacemos es cargar el correo electrónico y otras cosas como índices estos se van a encontrar dentro de
la memoria ram esto es una memoria ram que de hecho si lo que ustedes han abierto un computador para los que lo hayan abierto siempre se hagan dar cuenta que va a haber una pequeña cosita acá que es como una pequeña así para esa separación en fin estoy divagando pero esto lo que va a hacer es de que las consultas que nosotros escribamos cuando queramos ir a buscar algún dato en particular por ejemplo por el correo electrónico hará que los datos se devuelvan así de manera instantánea y esto es lo que quiere decir y unique
index index que tiene que ser un índice único que es único ahora nos vamos a devolver a nuestro modelo de entidad relación vamos a correr nuestra tabla de usuario para arriba a la izquierda y vamos a agregar una tabla de producto nosotros podamos agregar una tabla de producto a ser necesario que nosotros achiquemos esto un poquito y nos vamos a venir acá donde aparece esto eso es para poder ir agregando tablas así que lo que haremos será pinchar en esto luego nos vamos a venir acá dentro de nuestro canvas y donde queramos colocar esta tabla
es donde vamos a pinchar pinchamos ahí y aquí tenemos taiwán vamos a cambiarle el nombre vamos a ponerle el nombre de producto presionamos enter y ahora vemos como el nombre de nuestra tabla ha cambiado ahora lo que queremos hacer es empezar a agregarle columnas a nuestra tabla así es que pinchamos acá la primera que nosotros tenemos que agregar es la de y de presionamos enter y esa es una prime aquí y es not know después de esto tenemos que agregar el nombre del producto que vamos a dejar que ésta también va a ser un bar
chair de 45 vamos a dejar esa opción por defecto luego de eso vamos a agregar el campo de la marca que lo vamos a hacer en inglés entonces esto va a ser brand y vamos a aprovechar también de agregar una columna que se va a llamar created buy y acá el tipo de datos no es un bar char este es un entero en este momento yo tengo que indicarle cuál vendría siendo las reglas entre mi tabla de producto y mi tabla de usuarios porque en este caso yo lo que estoy haciendo es que estoy asignando
un criterio y esto es un ajvide usuarios como yo puedo hacer esto derechamente acá utilizando esta misma herramienta nos vamos a venir aquí abajo donde dice for inkeys vamos a pinchar acá y vamos a agregar una nueva ford ink y en esta parte pinchamos acá y escribimos writer by luego de eso tenemos que indicar cuál es la tabla que estamos referenciando y en este caso me interesa referenciar la tabla de usuario así que pinchamos ahí y como pueden ver ya se ha formado la relación esto significa n y esto significaría 1 ahora tenemos que indicar
en esta parte cual es la columna que nosotros queremos referenciar en la tabla de origen y en la tabla de destino así es que vamos a pinchar aquí donde dice created baile lo vamos a seleccionar y aquí en nuestra columna de referentes columna ya se seleccionó el aire y ahora de manera muy sutil lo estructura y ted by ha pasado a tener un color rojo y esto es para indicarnos que esta es una forma pero el problema que esto nos puede arrojar es que desde aquí yo estoy viendo esto aparece como que es un campo
que puede ser nulo y yo sé que es un campo que puede ser norte porque aparece relleno con blanco para que no pueda hacer no nosotros tenemos que verlo con el color completamente relleno como por ejemplo acá el password email y también el juz hernán entonces nos vamos a devolver aquí a nuestra definición de columna nos vamos a venir acá a related by y vamos a pinchar aquí en notio pinchamos ahí y ahora podemos ver que nuestra columna de cruyff by ahora no puede ser nula y eso lo sabemos porque aparece finalmente con el color
relleno a parece ser rompo o cuadrado girado es un rombo segundo es un cuadrado girado dejamos los comentarios en fin ahora sabemos de que esto no puede ser nulo vamos a aprovechar también de agregarle no nulo al nombre y a brand y aprovechemos de hacer otra relación más en este momento nosotros tenemos que brand vendría siendo un marchar o sea si es que llegas a ser un producto tipo o lo que sea vamos a tener que ingresar el nombre de la marca ahí mismo pero eso lo que podría pasar es que se esté repitiendo el
string muchas veces si tenemos por ejemplo la marca de apple va a ser a bla bla bla bla bla muchas muchas veces y eso es lo que va a hacer es que va de manera innecesaria a ocupar mucho espacio en disco duro así que eliminemos un poco la duplicidad de los datos y saquemos esto a una nueva tabla así es que vamos a venir nuevamente acá vamos a pinchar nuevamente en este icono para poder agregar tablas pinchamos acá y vamos a crear una nueva tabla que se va a llamar brand ésta tiene que tener una
idea que va a ser un entero primark y not know y vamos a agregarle una nueva columna la cual va a ser la de name y esta también va a ser not to be ahora vamos a devolvernos a la tabla de producto y vamos a agregar que brand eso ahora una llave foránea así que nos vamos aquí a productos pinchamos dos veces vamos a cambiar brand acá de marchar por un entero y nos vamos aquí a nuestra pestañita de for inkeys vamos a agregar ahora una nueva aquí que se va a llamar brand i d
y ésta va a referenciar la tabla d en este caso se me olvidó cambiarle el nombre de brand brand y de vamos a hacer eso inmediatamente lo devolvemos aquí a columns pinchamos acá y le agregamos y de ahora si me puede volver nuevamente a frings y mientras yo mantengo seleccionada mi llave foránea de brand y de ahora yo tengo que ir a seleccionar mi casilla de plantilla pinchamos y está también la referencia mos a la columna de idea de esta manera hemos eliminado un poco la duplicidad de los datos y también vimos cómo nosotros podemos
hacer esto de manera muy rápida sencillamente creando una nueva tabla sacando los strings que se encuentran en otra y sencillamente después colocamos el idea ahora creemos nuestra tabla de orden de compra para eso nos venimos acá nuevamente a este botoncito para poder crear tablas lo pinchamos y pinchamos acá agregamos la tabla y le vamos a cambiar el nombre a sencillamente order nos vamos a columns y vamos a agregar acá y de y vamos a agregar también acá un looser haití este es de tipo entero esta no puede ser nulo así que vamos a marcar inmediatamente
esa casilla y vamos a venir ahora a franquis y vamos a agregar la for inc y the ussr guión bajo y de referenciamos la tabla de user y tenemos que indicar que you será de referencia a la columna de idea y ahora vamos a ver una brujería una magia negra nosotros en lugar de crear esta tabla intermedia entre order y product vamos a aplicar magia negra para eso vamos a venir acá nuevamente a donde se encuentra nuestro listado de opciones pero la que me interesa es esta de n 2 puntos m que finalmente esto es
una relación de n s n pero aquí se le coloca de nombre n 2 puntos m pero de la misma cosa así que lo que vamos a hacer es que vamos a pinchar en esta vamos a pinchar ahora donde dice order y vamos a pinchar ahora donde dice producto y boom por magia negra nos ha creado ahora una nueva tabla que se llama order us product vamos a modificar esto un poco para que quede más como ya lo habíamos modelado antes y vamos a cambiarle el nombre de la tabla de orden hash producto por orden
the tail no vamos a dejar ni orden y de ni productiva como prime eric is easy agrandamos esto y nos vamos a cada uno dice franquis nos vamos a dar cuenta de que order y producto ya han sido agregadas de hecho la tabla referencia de the order ya se encuentra seleccionado con order idea y la columna referenciada es idea y si nosotros pinchamos en esta vamos a ver que la columna referenciada es producto haití y la columna referenciada en la tabla de destino sigue siendo y de solamente nos faltaría agregar acá una columna de idea
y en lugar de ser un bar char a esto le vamos a dar que es un entero y ésta vendría siendo nuestra primer y que vamos a moverla hacia arriba y voy a aprovechar de acercar nuestras tablas un poquito más para que puedan aparecer dentro de este campo y de esta manera nosotros hemos logrado crear un modelo entidad relación donde nuestra tabla principal como había mencionado anteriormente es nuestra tabla de usuario esta tiene una relación de 1 esa n con la tabla de productos porque un usuario puede haber creado muchos productos y ésta a su
vez tiene una relación de 1 esa n con orden porque un usuario puede haber realizado pruebas porque un usuario puede haber realizado muchas compras y luego lo que hicimos fue generar una relación de n es n entre orden y producto porque una orden puede tener muchos productos pero un producto también puede estar en muchas órdenes de compra y para poder finalmente generar nuestra relación de n a s n fue que nosotros creamos esta tabla intermedia que se llama order detail dentro de nuestra tabla de producto también lo que aprovechamos de hacer y eliminar un poco
la duplicidad que ésta tenía en cuanto a los datos sobre todo en cuanto a la marca así es que nosotros tomamos la marca y la sacamos a una nueva tabla ahora nos faltaría ver como nosotros podemos agarrar este modelo entidad relación y transformarlo a una mega consulta sql para que así nosotros no tengamos que estar constantemente creando nuestras consultas de sql de create table con todas sus propiedades vamos a ver cómo hacer eso nos venimos a file o archivo export howard engineer sql script aquí tenemos que indicar cuál va a ser el script de destino
yo voy a indicar que se va a llamar script punto de sql tengo que indicar por supuesto cuál va a ser la carpeta de destino yo le voy a indicar que es mi desktop a mi escritorio save y todo esto no lo voy a seleccionar absolutamente nada porque me interesa solamente la consulta así es que enzo can continuo dejó todo seleccionado por defecto pincho en continuo y aquí es donde finalmente me entrega la consulta después yo lo que puedo hacer es sencillamente copio absolutamente todo esto y luego lo pegar dentro de mysql workbench yo lo
paso a otro editor o también lo que puedo hacer es ejecutar este mismo script para poder crear la base de datos y de esta manera podemos crear un modelo entidad relación obtener las consultas sql para finalmente crear nuestra base de datos en base al modelo que nosotros acabamos de hacer y con esto hemos llegado a la parte final de nuestro curso chicos les agradezco muchísimo que hayan llegado hasta el final de este curso espero que hayan aprendido mucho pero sí les puedo asegurar que si ustedes logran dominar ese google eso nos va a transformar a
ustedes en unos ingenieros mucho mucho más valorables por los reclutadores y por las empresas si que te gustó este curso no olvides ver mis otros cursos gratuitos que también se encuentran en youtube si deseas apoyarme también puedes adquirir algunos de mis cursos premium que te voy a dejar en la descripción de este vídeo si no quieres adquirir alguno de mis cursos también puedes escuchar mi música de old habits que te voy a dejar también links acá abajo en la descripción y este fue el vídeo de hoy si te gustó recuerda golpear mucho al maldito del
botón de me gusta si te encantó considera también suscribirte a este canal déjame un comentario acá abajo sobre qué otro tipo de vídeo o curso te gustaría que yo hiciera y si deseas profundizar en alguna materia acá abajo vas a encontrar links como te había dicho antes con acceso a todos mis cursos hasta la próxima [Música]