قطعه کد مایاسکیوال: فهرست جدولها و تعداد ردیفها
برای ایجاد فهرستی از همهی جدولها و تعداد ردیفهای هر جدول در مایاسکیوال، دو روش وجود دارد:
تقریب کششده
بر اساس گفتهی سایر کاربران و اسناد مایاسکیوال، در این روش، تعدادی تقریبی و کششده از ردیفها به دست میآید که ممکن است نمایی دقیق از دادههای نباشد. با این حال، گفته میشود این روش از نظر رایانشی، کمتر سنگین است. قطعه کد زیر از این روش استفاده میکند؛ فقط لازم است به جای *Database_Name* نام پایگاه دادهی خودتان را قرار دهید:
SELECT SUM(TABLE_ROWS)
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = `*Database_Name*`;
روش دستی
راه حل دیگری که توسط یکی از کاربران StackOverflow به نام Nathan مطرح شده است، در زیر آمده است. در این روش، به ازای هر جدول در پایگاه دادهتان، یک گزارهی SELECT شامل نام جدول و تعداد ردیفهای جدول، خروجی داده میشود. هر گزارهی SELECT در یک ردیف خروجی داده میشود و به کلیدواژهی UNION ختم میشود. از این خروجی میتوانید به این نحو استفاده کنید که کلیدواژهی UNION را از ردیف آخر حذف کنید و اسریپت مایاسکیوال بهدستآمده را اجرا کنید تا فهرست جدولها و تعداد ردیفهای هر جدول را به دست آورید. این روش از نظر رایانشی سنگینتراست اما خروجی دقیقتری را برمیگرداند. قطعه کد در زیر آمده است؛ ؛ بار دیگر، فقط لازم است به جای *Database_Name* نام پایگاه دادهی خودتان را قرار دهید:
SELECT CONCAT(
'SELECT "',
table_name,
'" AS table_name, COUNT(*) AS exact_row_count FROM `',
table_schema,
'`.`',
table_name,
'` UNION '
)
FROM INFORMATION_SCHEMA.TABLES
WHERE table_schema = '*Database_Name*';
برگرفته از: StackOverflow