En este artículo, vamos a redondear un número usando SQLAlchemy y MySQL.
Información relacionada con la base de datos:
Hemos utilizado una base de datos mysql junto con una tabla llamada «estudiante».
Database used : geeksforgeeks Table used : students
Requisitos:
Necesitamos MySQL instalado junto con el módulo «SQLAlchemy» y el módulo «pymysql» (una dependencia de SQLAlchemy que necesitamos para esta publicación) en el sistema.
Sintaxis para instalar las bibliotecas requeridas:
pip install sqlalchemy pymysql
Hay 2 formas en las que podemos redondear un número usando SQLAlchemy y MySQL:
- Usando la función «ROUND» de sql.
- Usando la función «redonda» de python.
Método 1: Usando la función redonda de SQL:
SQL nos proporciona una función » ROUND » que podemos usar en nuestras consultas y SQL nos devolverá la salida redondeada.
La sintaxis de la función “ ROUND ” es:
ROUND( value / column_name , n )
Aquí el primer argumento es el nombre de la columna o cualquier valor constante. El segundo argumento (n) es el número de decimales hasta los que desea redondear. De forma predeterminada, el valor de n es igual a 0, lo que significa que habrá 0 dígitos después del punto decimal.
Algunos ejemplos de la salida de la función redonda:
ROUND(13.533) --> 14 ROUND(13.565 , 2) --> 13.57 ROUND(13.134 , -1) --> 10
La sintaxis de la consulta sql es:
SELECT ROUND(column_name , n) FROM table ;
Y nuestro código Python para crear la consulta se verá así:
Python3
query = f'SELECT ROUND({col_to_round}) FROM {table_name}'
Nota: No hemos mencionado el valor de n en la función ROUND anterior porque queremos redondear hasta 0 decimales. Obviamente, puede especificar eso si lo desea agregando un “ ” y luego el valor.
Ejemplo:
Python3
from sqlalchemy import create_engine user, password, host, database = 'root', '123', 'localhost', 'geeksforgeeks' engine = create_engine( url=f'mysql+pymysql://{user}:{password}@{host}/{database}?charset=utf8') connection = engine.connect() table_name = 'students' col_to_round = 'marks' query = f'SELECT ROUND({col_to_round}) FROM {table_name}' result = connection.execute(query) for elem in result: print(elem[0])
Producción :
Método 2: Usar la función redonda de python
En este método, formaremos una consulta «SELECCIONAR» normal y la ejecutaremos. Luego obtendremos el resultado en el que ejecutaremos un ciclo for y luego obtendremos todos los valores. Y finalmente, redondearemos el valor usando la función «redondear» de python y, por lo tanto, lograremos nuestra tarea.
La sintaxis de la consulta sql es:
SELECT col_name FROM table_name;
Ejemplo:
Python3
from sqlalchemy import create_engine user, password, host, database = 'root', '123', 'localhost', 'geeksforgeeks' engine = create_engine( url=f'mysql+pymysql://{user}:{password}@{host}/{database}?charset=utf8') connection = engine.connect() table_name = 'students' col_to_round = 'marks' query = f'SELECT {col_to_round} FROM {table_name}' result = connection.execute(query) for elem in result: value = elem[0] rounded_value = round(value) print("Value :", value, "\t Rounded value :", rounded_value)
Producción:
Publicación traducida automáticamente
Artículo escrito por mycodenotein y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA