উত্তর:
SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'dbName';
এটা আমার:
USE databasename;
SHOW TABLES;
SELECT FOUND_ROWS();
AND table_type = 'BASE TABLE'
use databasename;কমান্ড সম্পর্কে একটি নোট । যদি ডাটাবেসটি সত্যিই বড় হয় তবে কমান্ডটি দীর্ঘ প্রতীক্ষার সময় দিয়ে কার্যকর করতে পারে। সেক্ষেত্রে লগইনটি বিকল্প-এ, অর্থাৎ: দিয়ে করা উচিত mysql -uroot -p -Aএবং কমান্ডটি দ্রুত কাজ করবে।
আপনি যদি সমস্ত ডাটাবেস এবং সংক্ষিপ্তসার গণনা করতে চান তবে দয়া করে এটি চেষ্টা করুন:
SELECT IFNULL(table_schema,'Total') "Database",TableCount
FROM (SELECT COUNT(1) TableCount,table_schema
FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema','mysql')
GROUP BY table_schema WITH ROLLUP) A;
এখানে একটি নমুনা রান:
mysql> SELECT IFNULL(table_schema,'Total') "Database",TableCount
-> FROM (SELECT COUNT(1) TableCount,table_schema
-> FROM information_schema.tables
-> WHERE table_schema NOT IN ('information_schema','mysql')
-> GROUP BY table_schema WITH ROLLUP) A;
+--------------------+------------+
| Database | TableCount |
+--------------------+------------+
| performance_schema | 17 |
| Total | 17 |
+--------------------+------------+
2 rows in set (0.29 sec)
একবার চেষ্টা করে দেখো !!!
FROM? শুধু কেন নয় SELECT IFNULL(table_schema, 'Total') Database, COUNT(*) TableCount FROM information_schema.tables WHERE table_schema NOT IN ('information_schema','mysql') GROUP BY table_schema WITH ROLLUP?
SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'dbo' and TABLE_TYPE='BASE TABLE'
এটি আপনাকে mysql এর সমস্ত ডাটাবেসের নাম এবং সারণী গণনা দেবে
SELECT TABLE_SCHEMA,COUNT(*) FROM information_schema.tables group by TABLE_SCHEMA;
SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'database_name';
আশা করি এটি সহায়তা করে এবং একটি ডাটাবেসে কেবলমাত্র টেবিলের সংখ্যা দেয়
Use database;
SELECT COUNT(*) FROM sys.tables;
sys.tablesএর মধ্যে নেইmysql
FOUND_ROWS()আসা টেবিলের সংখ্যাটি আমি প্রথম পদ্ধতিটি ব্যবহার করার সময় ফিরে আসা টেবিলের সংখ্যার চেয়ে বেশি ছিল।