¿Cómo realizar aritmética en columnas de una tabla MySQL usando Python?

Python es un lenguaje dinámico y las aplicaciones de Python se pueden integrar con servidores de bases de datos. El módulo utilizado para acceder a una base de datos MySQL desde Python es MySQL Connector Python . PyMySQL, MySQLDB y mysqlclient son otros módulos de Python para comunicarse con un servidor de base de datos MySQL en Python. Sin embargo, usaremos MySQL Connector Python en este artículo porque es una API escrita exclusivamente en Python, lo que significa que no tiene dependencias y solo requiere la biblioteca estándar. 

Para realizar operaciones aritméticas en datos de columnas, MySQL tiene operadores aritméticos. Estos operadores son útiles para realizar cálculos en sus datos. Los operadores aritméticos en MySQL son los siguientes:

Operación Operador aritmético de MySQL Sintaxis en MySQL
Suma

+

SELECCIONE op1 + op2 DESDE tablename ;
Sustracción

SELECCIONE op1 – op2 DESDE tablename;
División

/

SELECCIONE op1 / op2 DESDE tablename;
Multiplicación

*

SELECCIONE op1 * op2 DESDE tablename;
Módulo

%

SELECCIONE op1 % op2 DESDE tablename;

En la tabla anterior, op1 y op2 pueden ser nombres de columna o valores numéricos (en cuyo caso no se requiere la cláusula «from»). Los siguientes programas le ayudarán a comprender mejor el uso de estos operadores.

Base de datos en uso:

Usaremos una tabla de información de productos en nuestros programas. Consiste en el nombre del producto, su precio de costo, precio de venta, impuestos y la cantidad comprada.

Ejemplo 1: uso del operador de suma

Python3

# Import required packages
import mysql.connector
  
# Establish connection to MySQL database
mydb = mysql.connector.connect(
  host = "localhost",
  user = "username",
  password = "geeksforgeeks",
  database = "grocery"
)
  
# MySQLCursorDict creates a cursor
# that returns rows as dictionaries
mycursor = mydb.cursor( dictionary = True )
  
# MySQL query for getting total
# sale amount (i.e. selling price + tax)
query = "SELECT Selling_price, \
                tax, \
                concat(Selling_price + tax) AS sale_amount \
         FROM product"
  
# Execute the query 
mycursor.execute( query )
# Fetch result of query
myresult = mycursor.fetchall()
  
# Print result of query
print(f"SP \t Tax \t Sale Amount")
  
for row in myresult:
    
      # Each value printed for display purpose (you can simply print row)
    print(f"{ row[ 'Selling_price' ]} \t { row[ 'tax' ]} \t { row[ 'sale_amount' ]}")
  
mydb.close()

Producción:

Ejemplo 2: Uso del operador de resta.

Python3

# Import required packages
import mysql.connector
  
# Establish connection to MySQL database
mydb = mysql.connector.connect(
  host = "localhost" ,
  user = "username" ,
  password = "geeksforgeeks" ,
  database = "grocery"
)
  
# MySQLCursorDict creates a cursor
# that returns rows as dictionaries
mycursor = mydb.cursor(dictionary = True )
  
# MySQL query for getting profit
# (i.e. selling price - cost price)
query = "SELECT selling_price, \
                cost_price, \
                concat(selling_price - cost_price) AS profit \
         FROM product_info"
  
# Execute the query 
mycursor.execute( query )
  
# Fetch result of query
myresult = mycursor.fetchall()
  
# Print result of query
print(f"SP \t CP \t Profit")
for row in myresult:
  print(f"{ row[ 'selling_price' ]} \t { row[ 'cost_price' ]} \t { row[ 'profit' ]}")
  
mydb.close()

Producción:

Ejemplo 3: uso del operador de multiplicación

Python3

# Import required packages
import mysql.connector
  
# Establish connection to MySQL database
mydb = mysql.connector.connect(
  host = "localhost" ,
  user = "username" ,
  password = "geeksforgeeks" ,
  database = "grocery"
)
  
# MySQLCursorDict creates a cursor that returns rows as dictionaries
mycursor = mydb.cursor(dictionary = True)
  
# MySQL query for getting total amount (i.e. sale amount * quantity)
query = "SELECT selling_price, \
                tax, \
                concat((selling_price * tax)) AS total_amount \
         FROM product_info"
  
# Execute the query 
mycursor.execute( query )
  
# Fetch result of query
myresult = mycursor.fetchall()
  
# Print result of query
print(f"SP \t Tax \t Total")
for row in myresult:
  print(f"{row[ 'selling_price' ]} \t { row[ 'tax' ]}\t{row['total_amount']}")
  
# Close database connection
mydb.close()

Producción:

Ejemplo 4: Uso del operador de división.

Python3

# Import required packages
import mysql.connector
  
# Establish connection to MySQL database
mydb = mysql.connector.connect(
  host = "localhost" ,
  user = "username" ,
  password = "geeksforgeeks" ,
  database = "grocery"
)
  
# MySQLCursorDict creates a cursor
# that returns rows as dictionaries
mycursor = mydb.cursor( dictionary = True )
  
# MySQL query for getting halved selling price of all products
query = "SELECT selling_price, \
                concat(selling_price / 2) AS discount_price \
         FROM product_info"
  
# Execute the query 
mycursor.execute( query )
  
# Fetch result of query
myresult = mycursor.fetchall()
  
# Print result of query
print(f"SP \t Discounted Price")
for row in myresult:
  print(f"{ row[ 'selling_price' ]} \t { row ['discount_price']}")
  
# Close database connection
mydb.close()

Producción:

Ejemplo 5: Uso del operador módulo.

Python3

# Import required packages
import mysql.connector
  
# Establish connection to MySQL database
mydb = mysql.connector.connect(
  host = "localhost" ,
  user = "username" ,
  password = "geeksforgeeks" ,
  database = "grocery"
)
  
# MySQLCursorDict creates a cursor
# that returns rows as dictionaries
mycursor = mydb.cursor(dictionary = True)
  
# MySQL query for getting remainder
query = "SELECT selling_price, \
                cost_price, \
                concat(selling_price % cost_price) AS mod_example \
         FROM product_info"
  
# Execute the query 
mycursor.execute( query )
  
# Fetch result of query
myresult = mycursor.fetchall()
  
# Print result of query
print(f"SP \t Qnty \t MOD")
for row in myresult:
  print(f"{ row [ 'selling_price' ]}
              \t { row [ 'cost_price' ]}
                  \t{row[ 'mod_example' ]}")
  
# Close database connection
mydb.close()

Producción:

Publicación traducida automáticamente

Artículo escrito por akshisaxena y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *