如何用 Python 获取 MySQL 中一个表的大小?
原文:https://www . geeksforgeeks . org/如何使用 python 获取 mysql 中的表格大小/
先决条件: Python: MySQL 创建表
在本文中,我们将看到如何使用 Python 在 MySQL 中获取表的大小。Python 允许广泛的数据库服务器与应用程序的集成。从 Python 访问数据库需要数据库接口。 MySQL 连接器 -Python 模块是 Python 中的一个 API,用于与 MySQL 数据库进行通信。
进场:
- 导入模块。
- 向数据库发出连接请求。
- 为数据库游标创建一个对象。
- 执行以下 MySQL 查询:
SELECT table_name AS
Table
,round((data _ length+index _ length)/1024/1024),2)size in MB
FROM information _ schema。TABLES WHERE Table _ schema = ' DatabaSe _ name '和 table _ name = ' Table _ name
例 1:
在本例中,我们将该数据库表用于以下查询;
下面是实现:
Python 3
# 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:
在本例中,我们将获取数据库中所有的表大小。
下面是实现:
Python 3
# 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])
输出:
版权属于:月萌API www.moonapi.com,转载请注明出处