जवाबों:
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';
कमांड लाइन से:
mysql -uroot -proot -e "select count(*) from
information_schema.tables where table_schema = 'database_name';"
ऊपर उदाहरण में रूट यूजरहोस्ट और पासवर्ड है, जिसे लोकलहोस्ट पर होस्ट किया गया है।
आशा है कि यह मदद करता है, और एक डेटाबेस में केवल टेबल की संख्या देता है
Use database;
SELECT COUNT(*) FROM sys.tables;
sys.tables
में मौजूद नहीं हैmysql
FOUND_ROWS()
गई तालिकाओं की संख्या उन तालिकाओं की संख्या से अधिक थी जो मैंने पहली विधि का उपयोग करते समय वापस लौटा दी थीं।