Select: Parte 1
Vamos a empezar a utilizar SQL con nuestro entorno de Python.
Vamos a utilizar los cuernos de Jupyter y vamos a empezar a hacer algunas consultas de nuestra base de datos.
En específico, para no tener que instalar un motor de base de datos muy pesado, vamos a utilizar una versión reducida que se llama SQL lite.
Este nos va a ayudar a poder hacer todo lo que deberíamos poder hacer en SQL pero sin tener que instalar programas que no vamos a estar utilizando en este curso.
En primera instancia tenemos que abrir otra vez nuestro cuaderno Jupyter.
Entonces vamos a escribir inicio, Jupyter, damos enter y como siempre vamos a tener que estar un momento a que cargue.
Una vez que ha cargado nuestro entorno Jupyter vamos a ir a la ruta en la cual descargamos nuestros cuadernos.
En nuestro caso está en el escritorio pero recuerden que si usted lo descargaron en la carpeta Mis
Descargas o Mis Documentos van a tener que ir ahí.
Entonces, abrimos escritorio, cuadernos y ahora sí.
El cuaderno que vamos a estar manejando en esta ocasión es como el título video: select.
Entonces, lo abrimos, y ahora sí, ya entró a nuestro cuaderno.
Entonces, para estos conjuntos de cuadernos vamos a usar una base de datos en específico que se encuentra en kaggle.
Este es el link directo a la base de datos pero vamos a buscarla para que se den una idea de cómo hacemos la búsqueda de estos archivos.
Entonces vamos a ir a kaggle.com y una vez que ya cargó podemos simplemente buscar.
Vamos a entrar a data sets.
Una vez que ya cargó nosotros podemos usar la herramienta de filtro para encontrar archivos específicos que queremos.
En particular en nuestras prácticas vamos a usar los archivos SQL lite pues nos da la opción directamente aquí.
Podemos filtrar a través de SQL lite.
Le damos.
Y lo que va a hacer es: nos va a filtrar todas las bases de datos que tengan esa estructura específica SQL en su versión lite que es la que vamos a estar utilizando.
Vamos a ordenarlas, en vez de más actualizada o más reciente, a más votada.
En particular aquí nos muestra que la más popular o la más votada es la european soccer data base.
Es una base de datos que si le damos click y no vamos a data nos va a explicar que es información referente a más de 25,000 partidos de fútbol soccer en la liga europea, tanto países involucrados, nos da liga, nos dan los partidos, nos da jugadores, nos da equipos, todo esto en diferentes tablas.
Entonces, lo que vamos a hacer con Python es poder leer directamente de esas tablas de una forma sencilla en la cual podamos obtener la información que deseamos.
Entonces, vamos a descargar esta información.
Le damos clic en download y nos va a empezar a descargar.
Una vez que haya terminado nos vamos a ir a la carpeta y lo podemos extraer.
Le damos clic derecho y aquí viene "extraer todo".
Lo extremos, y ahora sí, tenemos este archivo que se llama "database.sqllite", este lo podemos copiar la carpeta completa y la llevamos a nuestro entorno de trabajo que en nuestro caso está en cuadernos, data y soccer.
Yo ya lo tenía pero lo voy a reemplazar.
Ok.
Ahora sí, estamos listos para trabajar.
Vamos a ir de vuelta a nuestro cuaderno de Jupyter, y ahora sí, vamos a empezar con lo que es select.
La instrucción select de SQL lite y de otros motores de bases de datos nos funciona para poder seleccionar información específica dentro de las tablas o columnas de nuestra base de datos.
Resultados que obtengamos de esas consultas van a venir en forma de tablas de resultados.
Esto es ya lo que nosotros más o menos manejamos como Pandas o data frames en Pandas, o podríamos verlos como si fueran hojas de excel, pero en su naturaleza cruda, digamos, en la base de datos no se representan de forma, están distribuidos, nosotros los vamos a traer y los vamos a manejar de una manera más sencilla.
Entonces, para utilizar este tipo de consultas hay que seguir una sintaxis muy específica.
Aquí la tenemos resaltada, vamos a usar la palabra reservada "select", vamos a seleccionar columna 1, columna 2, columna N, estos son los campos que nosotros estamos requiriendo de la base de datos.
Entonces, vamos a reemplazar esos column1, column2 y columN por lo que nosotros queramos extraer.
Luego viene la palabra reservada "from", entonces, se puede leer como "selecciona estas columnas de una tabla", la tabla es la que venga de la base de datos.
Además nosotros podemos decirle, si no queremos identificar los campos, podemos poner un asterisco, lo que sería "selecciona todo de la tabla".
Ok.
Para utilizar SQL vamos a utilizar SQL lite 3, es una librería que ya está en Python, incluso la podemos buscar en su documentación oficial SQL lite Python 3, que es este de aquí, ok.
Lo abrimos y aquí nos dice cómo hacer la conexión de la base de datos, cómo hacer las consultas, cómo hacer todo.
Esta es la documentación oficial.
Nosotros vamos a utilizarla directamente.
Ok, entonces dice que la primera instrucción que hay que hacer es importar SQL lite.
Lo hacemos y no nos marcó ningún error, ya está instalado.
Entonces, simplemente lo cargamos, y luego hay que especificar la ruta para nuestro archivo de la base de datos.
Nosotros ya sabíamos que a partir de nuestra carpeta de cuadernos vamos a ir a la carpeta data y luego a la carpeta soccer, y luego a este archivo database.sqllite.
Entonces, es la ruta que le ponemos: data, soccer, database.sqllite, y lo guardamos en una variable que se va a llamar db_file, es un hombre que le quisimos dar, y luego le vamos a decir "con SQL lite conéctate a esta base de datos", y lo que nos va decir...
lo que nos va a dar es un archivo de conexión, nosotros le pusimos "conn", y es el estándar ponerle "conn" de conexión.
Entonces, esta variable va a ser nuestro principal medio de comunicación con la base de datos.
Ahora, pero ¿qué contiene la base de datos? Nosotros hicimos una extracción de esa información y se las colocamos en esta carpetita.
Ahora, ¿qué contiene la base de datos? Nosotros le hicimos una extracción de los campos o de las tablas que consideran más importantes.
Esta información no la sacamos de la manga, no la inventamos, eso ya venía en el conjunto datos original, en la página de kaggle lo pueden visualizar.
Tenemos la tabla country, league, match, player, tal, tal, tal...
hay un montón de información en esta base de datos.
Nosotros principalmente vamos a utilizar estas tablas de aquí.
Entonces, ¿qué contienen? Vamos a describirlos un poco.
Tenemos la tabla país que con dice que contiene 11 registros, es decir, 11 países, tiene dos columnas, el identificador del país y el nombre del país, tenemos por otra parte la tabla liga que dice que contiene 11 ligas con tres columnas que es el Id...
el Id del país y el nombre.
¿Por qué Id del país? Lo que pasa es que este Id lo que está buscando es hacer una referencia a nuestra tabla country que es, para cada liga hay un país asociado.
También por aquí tenemos la tabla player que nos dice su Id, su nombre, su identificador del videojuego fifa, su cumpleaños, su peso, su altura, entre otras cosas.
No hay comentarios:
Publicar un comentario