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