В этой статье мы рассмотрим, как получить размер таблицы в 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])