You are currently viewing Как выполнить арифметику по столбцам таблицы MySQL с помощью Python?

Как выполнить арифметику по столбцам таблицы MySQL с помощью Python?

Python-это динамический язык, и приложения Python могут быть интегрированы с серверами баз данных. Модуль, используемый для доступа к базе данных MySQL из Python, — это MySQL Connector Python. PyMySQL, MySQLdb и mysqlclient-это другие модули Python для взаимодействия с сервером базы данных MySQL на Python. Однако в этой статье мы будем использовать MySQL Connector Python, потому что это API, написанный исключительно на Python, что означает, что он не имеет зависимостей и требует только стандартной библиотеки.

Для выполнения арифметических операций с данными столбцов в MySQL есть арифметические операторы. Эти операторы полезны для выполнения расчетов с вашими данными. Арифметические операторы в MySQL следующие:

ОперацияАрифметический оператор MySQLСинтаксис в MySQL
Прибавление+SELECT op1 + op2 FROM tablename;
ВычитаниеSELECT op1 – op2 FROM tablename;
Деление/SELECT op1 / op2 FROM tablename;
Умножение*SELECT op1 * op2 FROM tablename;
Модуль%SELECT op1 % op2 FROM tablename;

В приведенной выше таблице, op1 и op2 могут быть имена столбцов или числовые значения (в этом случае предложение “от” не требуется). Следующие программы помогут вам лучше понять использование этих операторов.

Используемая база данных:

Мы будем использовать таблицу информации о продукте в наших программах. Он состоит из названия продукта, его себестоимости, цены продажи, налога и купленного количества.

Пример 1: 

Использование оператора сложения

# 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()

Выход:

Пример 2: 

Использование оператора вычитания.

# 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()

Выход:

Пример 3: 

Использование оператора умножения

# 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()

Выход:

Пример 4: 

Использование оператора деления.

# 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()

Выход:

Пример 5: 

Использование оператора модуля.

# 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()

Выход: