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

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

В этой статье мы рассмотрим, как получить размер таблицы в MySQL с помощью Python. Python позволяет интегрировать широкий спектр серверов баз данных с приложениями. Для доступа к базе данных с Python требуется интерфейс базы данных. MySQL Connector — модуль Python-это API в python для связи с базой данных MySQL.

Подход:

  • Модуль импорта.
  • Сделайте запрос на подключение к базе данных.
  • Создайте объект для курсора базы данных.
  • Выполните следующий запрос MySQL:

Пример 1:

В этом примере мы используем эту таблицу базы данных со следующим запросом;

Ниже приводится реализация:

  • Python3
# Import required module
import mysql.connector

# Establish connection
# to MySQL database
mydb = mysql.connector.connect(
	host="localhost",
	user="root",
	password="root123",
	database="geeks")

# Create cursor object
mycursor = mydb.cursor()

# Execute query
query = "SELECT table_name AS `Table`, \
		round(((data_length + index_length) \
		/ 1024 / 1024), 2) `Size in MB` \
		FROM information_schema.TABLES \
		WHERE table_schema = 'Geeks' AND \
		table_name = 'Persons';"

mycursor.execute(query)

# Display size of each table
myresult = mycursor.fetchall()

for item in myresult:
	print(item[0], "Size in MB: ", item[-1])

Выход:

Пример 2:

В этом примере мы собираемся получить все размеры таблиц в базе данных.

Ниже приводится реализация:

  • Python3
# Import required module
import mysql.connector

# Establish connection
# to MySQL database
mydb = mysql.connector.connect(
	host="localhost",
	user="root",
	password="root123",
	database="geeks")

# Create cursor object
mycursor = mydb.cursor()

# Execute query
query = "SELECT TABLE_NAME AS `Table`, \
		ROUND(((DATA_LENGTH + INDEX_LENGTH) \
		/ 1024 / 1024),2) AS `Size (MB)` \
		FROM information_schema.TABLES WHERE \
		TABLE_SCHEMA = 'Geeks' ORDER BY \
		(DATA_LENGTH + INDEX_LENGTH) DESC;"

mycursor.execute(query)

# Display size of each table
myresult = mycursor.fetchall()

for item in myresult:
	print(item[0], "Size in MB: ", item[-1])

Выход: