¿Cómo obtener el tamaño de una tabla en MySQL usando Python?

Requisito previo: Python: MySQL Create Table

En este artículo vamos a ver cómo obtener el tamaño de una tabla en MySQL usando Python. Python permite la integración de una amplia gama de servidores de bases de datos con aplicaciones. Se requiere una interfaz de base de datos para acceder a una base de datos desde Python. El módulo MySQL Connector -Python es una API en Python para comunicarse con una base de datos MySQL. 

Acercarse:

  • Módulo de importación.
  • Realice una solicitud de conexión con la base de datos.
  • Cree un objeto para el cursor de la base de datos.
  • Ejecute la siguiente consulta MySQL:

SELECCIONE table_name AS `Table`, round(((data_length + index_length) / 1024 / 1024), 2) `Size in MB` FROM information_schema.TABLES WHERE table_schema = ‘DataBase_name’ AND table_name = ‘Table_name’;

Ejemplo 1:

En este ejemplo estamos usando esta tabla de base de datos con la siguiente consulta;

A continuación se muestra la implementación:

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])

Producción:

Ejemplo 2:

En este ejemplo, vamos a obtener todos los tamaños de tabla en una base de datos.

A continuación se muestra la implementación:

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])

Producción:

Publicación traducida automáticamente

Artículo escrito por kumar_satyam 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 *