Dungeon of Bits
Aprendiendo informática.
Dungeon of Bits
Uso de MariaDB desde Python

En este tutorial conectaremos una base de datos MariaDB con una aplicación en Python.

MariaDB con Python

Requisitos:

Usaremos un equipo con Linux (Ubuntu 22.04 LTS) y Pycharm Community para el desarrollo de la aplicación en Python.

Si no tenemos instalado Pycharm.

sudo snap install pycharm-community --classic

Instalar MariaDB:

Actualizamos repositorios e instalamos la bbdd y librerías necesarias.

sudo apt update
sudo apt install mariadb-server
sudo apt-get install libmariadb3 libmariadb-dev

Crear la base de datos y usuario en MariaDB:

Ahora crearemos una base de datos y un usuario para poder conectarnos a la base de datos, para entrar dentro de mariadb simplemente escribimos el comando:

mariadb

Una vez dentro creamos la base de datos, el usuario y actualizamos privilegios:

CREATE DATABASE proves;
CREATE USER 'pythonMaster'@'localhost' IDENTIFIED BY 'Admin1234';
GRANT ALL ON proves.* TO 'pythonMaster'@'localhost' IDENTIFIED BY 'Admin1234' WITH GRANT OPTION;
FLUSH PRIVILEGES;

Instalar el conector de Python con MariaDB:

Creamos un nuevo proyecto en Pycharm:

MariaDB con Python

Instalar pip:

Si no disponemos de pip lo intalamos con el comando:

sudo apt install python3-pip

Activar entorno virtual:

Desde terminal escribimos el comando siguiente.

. venv/local/bin/activate

Teniendo en cuenta la estructura que tengamos de proyecto, activate suele estar siempre dentro del directorio bin.

MariaDB con Python

Instalar conector MariaDB:

pip3 install mariadb

Crear una tabla desde Python:

En el siguiente ejemplo vamos a crear una tabla desde Python.

Tendremos los datos de conexión en el mismo ejemplo, es mejor guardarlos en un fichero aparte.

import mariadb
import sys

#Datos de conexión
try:
    conn = mariadb.connect(
        user="pythonMaster",
        password="Admin1234",
        host="localhost",
        port=3306,
        database="proves"
    )
except mariadb.Error as e:
    print(f"Error conectando a la base de datos: {e}")
    sys.exit(1)

sentenciaSQL = """CREATE TABLE IF NOT EXISTS equipos
( idEquipo INT NOT NULL AUTO_INCREMENT,
nombre VARCHAR(40) NOT NULL,
ciudad VARCHAR(40) NOT NULL,
fundacion int NOT NULL,
PRIMARY KEY (idEquipo),
CONSTRAINT nombre_equipo UNIQUE (nombre)
);
"""
cur = conn.cursor()
cur.execute(sentenciaSQL)
conn.commit()
conn.close()

Con el ejemplo hemos creado la tabla equipos:

MariaDB con Python

Insertar un registro:

Ahora vamos a insertar un registro en la tabla equipos, por ejemplo el equipo Club Deportivo Teruel.

import mariadb
import sys

#Datos de conexión
try:
    conn = mariadb.connect(
        user="pythonMaster",
        password="Admin1234",
        host="localhost",
        port=3306,
        database="proves"
    )
except mariadb.Error as e:
    print(f"Error conectando a la base de datos: {e}")
    sys.exit(1)

nombreEquipo = 'Club Deportivo Teruel'
ciudadEquipo = 'Teruel'
fundacionEquipo = 1954
sentenciaSQL = f"""INSERT INTO equipos 
(nombre, ciudad, fundacion)
VALUES
('{nombreEquipo}','{ciudadEquipo}',{fundacionEquipo});
"""
cur = conn.cursor()
cur.execute(sentenciaSQL)
conn.commit()
conn.close()

Crear una tabla con clave foránea:

Ahora que tenemos la tabla equipos podemos crear jugadores que sean de un equipo, para ello deberemos indicar la clave foránea.

import mariadb
import sys

#Datos de conexión
try:
    conn = mariadb.connect(
        user="pythonMaster",
        password="Admin1234",
        host="localhost",
        port=3306,
        database="proves"
    )
except mariadb.Error as e:
    print(f"Error conectando a la base de datos: {e}")
    sys.exit(1)


sentenciaSQL = """CREATE TABLE IF NOT EXISTS jugadores
( idJugador INT NOT NULL AUTO_INCREMENT,
nombre VARCHAR(60) NOT NULL,
numero int NOT NULL,
idEquipo int NOT NULL,
PRIMARY KEY (idJugador),
CONSTRAINT fk_type
FOREIGN KEY(idEquipo) 
    REFERENCES equipos(idEquipo));
"""
cur = conn.cursor()
cur.execute(sentenciaSQL)
conn.commit()
conn.close()

MariaDB con Python

Hacer una consulta a la base de datos:

Vamos a consultar todos los datos de la tabla equipos con el nombre Club Deportivo Teruel:

import mariadb
import sys

#Datos de conexión
try:
    conn = mariadb.connect(
        user="pythonMaster",
        password="Admin1234",
        host="localhost",
        port=3306,
        database="proves"
    )
except mariadb.Error as e:
    print(f"Error conectando a la base de datos: {e}")
    sys.exit(1)

nombreEquipo = 'Club Deportivo Teruel'

sentenciaSQL = f"""SELECT * FROM equipos 
WHERE nombre = '{nombreEquipo}'; 
"""
cur = conn.cursor()
cur.execute(sentenciaSQL)
resultado = cur.fetchall()
conn.close()
for i in resultado:
    print(i)

Insertar registro en tabla con clave foránea:

Vamos a insertar un registro en la tabla de jugadores, para ello haremos dos consultas, en la primera buscamos el idEquipo del Club Deportivo Teruel, en la segunda insertamos los datos de un jugador en ese equipo.

import mariadb
import sys

#Datos de conexión
try:
    conn = mariadb.connect(
        user="pythonMaster",
        password="Admin1234",
        host="localhost",
        port=3306,
        database="proves"
    )
except mariadb.Error as e:
    print(f"Error conectando a la base de datos: {e}")
    sys.exit(1)

nombreEquipo = 'Club Deportivo Teruel'

sentenciaSQL = f"""SELECT idEquipo FROM equipos 
WHERE nombre = '{nombreEquipo}'; 
"""
cur = conn.cursor()
cur.execute(sentenciaSQL)
resultado = cur.fetchone()
idEquipo = resultado[0]

nombreJugador = 'Taliby Konate'
numeroJugador = 1
sentenciaSQL = f"""INSERT INTO jugadores 
(nombre, numero, idEquipo)
VALUES
('{nombreJugador}','{numeroJugador}',{idEquipo});
"""
cur = conn.cursor()
cur.execute(sentenciaSQL)
conn.commit()
conn.close()

Guardar y recuperar objetos desde fichero con Python

En este tutorial guardaremos objetos de Python a fichero y los recuperaremos.

Requisitos: Para realizar esta práctica tan solo necesitamos un sistema con Python instalado. En nuestro caso vamos a utilizar un equipo con Ubuntu 22.04 LTS y Pycharm como framework de trabajo. Para instalar Pycharm desde Ubuntu tan solo necesitamos teclear la instrucción: sudo snap install pycharm-community --classic La biblioteca Pickle: En este tutorial usaremos la librería Pickle para guardar y recuperar los objetos desde Python, lo que se suele llamar serialización de...

Leer más...
Ficheros en Java

En este tutorial crearemos ficheros utilizando Java, después los usaremos para escribir y leer información.

Requisitos: Para realizar esta práctica solamente necesitas un editor de texto o un IDE de desarrollo y JDK, en nuestro caso usamos IntelliJ IDEA. Crear un fichero en Java: Para crear un fichero en JAVA usamos la clase File de Java, hay que tener en cuenta que podemos generar una IOException, por lo que habrá que gestionarla. En el siguiente ejemplo vamos a crear un fichero llamado datos.txt: import Leer más...


Utilizar templates con Python y Jinja2

En este tutorial vamos a utilizar Jinja2 para formatear datos desde Python usando plantillas.

Requisitos: Para realizar esta práctica tan solo necesitamos un sistema con Python instalado. En nuestro caso vamos a utilizar un equipo con Ubuntu 22.04 LTS y Pycharm como framework de trabajo. Para instalar Pycharm desde Ubuntu tan solo necesitamos teclear la instrucción: sudo snap install pycharm-community --classic También necesitaremos la librería Jinja2 de Python, la cual instalaremos en nuestro Virtual Environment de Python con: sudo pip install jinja2 Recordad hacerlo en vuestro...

Leer más...
Manipular ficheros XML con Python

En este tutorial vamos a utilizar Python para leer, escribir y manipular datos de ficheros XML.

Requisitos: Para realizar esta práctica tan solo necesitamos un sistema con Python instalado. En nuestro caso vamos a utilizar un equipo con Ubuntu 22.04 LTS y Pycharm como framework de trabajo. Para instalar Pycharm desde Ubuntu tan solo necesitamos teclear la instrucción: sudo snap install pycharm-community --classic Manipular XML con Python: En este tutorial usaremos el módulo ElementTree de Python, del cual podemos consultar la documentación aquí. Cargar los datos XML: Con ElementTree podemos...

Leer más...
Uso de ficheros con Python

En este tutorial vamos a utilizar Python para manipular ficheros.

Requisitos: Para esta práctica utilizaremos la versión Community del framework de Python Pycharm, el cual podéis instalar desde su web. Usaremos un equipo con Ubuntu 22.04 LTS y Python3.10, pero servirá cualquier equipo con Python 3. Proyecto de Pycharm: Una de las ventajas de Pycharm es que ya crea entorno virtual para nuestros proyectos, crearemos un proyecto nuevo y asignaremos el intérprete Python3 que tengamos instalado. Uso de ficheros...

Leer más...
Conectar con una base de datos PostgreSQL desde Python

En este tutorial vamos a utilizar Python para conectar con una base de datos PostgreSQL.

Requisitos: Para realizar esta práctica tan solo necesitamos un sistema con Python instalado. En nuestro caso vamos a utilizar un equipo con Ubuntu 22.04 LTS y Pycharm como framework de trabajo. Para instalar Pycharm desde Ubuntu tan solo necesitamos teclear la instrucción: sudo snap install pycharm-community --classic También necesitaremos la librería Psycopg2 de Python para conectar con la BBDD, la cual instalaremos en el siguiente paso. Crear proyecto en Pycharm: Al arrancar Pycharm...

Leer más...
Clases en Python

En este tutorial vamos a ver cómo crear clases en Python y trabajar con instancias de las mismas, además de usar herencia y herencia múltiple.

Requisitos: Para realizar esta práctica tan solo necesitamos un sistema con Python instalado. En nuestro caso vamos a utilizar un equipo con Ubuntu 22.04 LTS y Pycharm como framework de trabajo. Para instalar Pycharm desde Ubuntu tan solo necesitamos teclear la instrucción: sudo snap install pycharm-community --classic Crear proyecto en Pycharm: Al arrancar Pycharm podemos crear un nuevo proyecto, el programa nos dejará escoger el nombre del proyecto y el directorio donde estarán...

Leer más...
Tipos de datos definidos por usuario en PostgreSQL

En este tutorial vamos a crear tipos de datos definidos por el usuario o la usuario en PostgreSQL.

Requisitos: Para realizar esta práctica necesitamos un sistema operativo Linux, nosotros usaremos Ubuntu 22.04 LTS, además habremos instalado el gestor de bases de datos PostgreSQL, tutorial para instalar PostgreSQL. Gestor PostgreSQL: El Sistema Gestor de Bases de Datos PostgreSQL tiene web oficial y documentación en inglés PostgreSQL. 1.-Tipos de datos definidos por usuario en PostgreSQL: 1.1.- Crear un tipo de datos personalizado: En PostgreSQL podemos crear tipos de datos complejos con atributos, para ello...

Leer más...
Introducción a PostgreSQL

En este tutorial vamos a instalar el gestor de Bases de Datos PostgreSQL en un sistema con Ubuntu 22.04 LTS

Requisitos: Para realizar esta práctica necesitamos un sistema operativo Linux, nosotros usaremos Ubuntu 22.04 LTS. Gestor PostgreSQL: El Sistema Gestor de Bases de Datos PostgreSQL tiene web oficial y documentación en inglés PostgreSQL. 1.-Instalación de PostgreSQL: Existen varias versiones de PostgreSQL, en el momento de hacer este tutorial la versión que está disponible en el repositorio de Ubuntu es la 14, eso lo podemos saber buscando en apt: apt search postgresql Instalamos dicha versión: apt-get...

Leer más...
Bot de Telegram para descargar música de Youtube usando PyTube

En este tutorial crearemos un pequeño bot de Telegram que usando el módulo PyTube descargará audio de la plataforma Youtube a nuestro Telegram.

Requisitos: Para realizar esta práctica necesitamos un ordenador con Python instalado y tener creado un bot de Telegram, tienes un tutorial para crear un bot aquí. El módulo Pytube: Es un módulo creado por Ronnie Ghose que puedes encontrar en su Github y que permite descargar audio y vídeo directamente de Youtube. 1.-Dependencias: Antes de comenzar debermos instalar las librerías necesarias para el proyecto, usaremos pip. Si no tienes instalado pip lo...

Leer más...
Actividad Scratch 2 - Juego de recoger fruta

Actividad para crear un pequeño juego donde el jugador/a recogerá fruta con un cesto que se mueve horizontalmente.

Juego de recoger fruta: En esta actividad el jugador controla un cesto que podrá mover de izquierda a derecha con los cursores y su objetivo será recoger frutas que irán cayendo desde la parte superior de la pantalla. Cada vez que recoja un fruto, sumará un punto al marcador "puntos", que será una variable. El cesto: El cesto tiene un código muy sencillo, ya que solo debemos hacer que se muestre en una...

Leer más...
  • 1
  • 2