برنامه نویسی

نحوه بررسی جداول حاوی داده ها در یک پایگاه داده

هنگام مدیریت یک بانک اطلاعاتی ، اغلب شناسایی کدام جداول حاوی داده ها مفید است. این می تواند به عیب یابی ، نگهداری یا صرفاً درک ساختار و استفاده از پایگاه داده کمک کند. در اینجا نحوه بررسی جداول با داده ها در سیستم های مختلف مدیریت پایگاه داده رابطه (RDBMS) آورده شده است.


برای postgresql

در PostgreSQL ، شما می توانید به صورت پویا یک پرس و جو برای بررسی تعداد ردیف برای همه جداول درون یک طرح با استفاده از pg_catalog.pg_tables:

با استفاده از بلوک PL/PGSQL:

DO $$
DECLARE
    tbl RECORD;
BEGIN
    FOR tbl IN
        SELECT schemaname, tablename
        FROM pg_catalog.pg_tables
        WHERE schemaname = 'public'  -- Change schema if needed
    LOOP
        EXECUTE format(
            'SELECT COUNT(*) AS row_count, ''%I'' AS table_name FROM %I.%I',
            tbl.tablename, tbl.schemaname, tbl.tablename
        );
    END LOOP;
END $$;
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این اسکریپت از همه جداول موجود در public شمای و خروجی تعداد ردیف برای هر جدول.

پرس و جو جایگزین:

اگر می خواهید ردیف را برای همه جداول در یک پرس و جو ببینید:

SELECT table_name,
       (SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'public') AS row_count
FROM information_schema.tables
WHERE table_schema = 'public';
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این رویکرد جداول و تعداد ردیف مربوط به آنها را ذکر می کند.


برای mysql

در MySQL می توانید بررسی کنید که جداول شامل داده ها با پرس و جو از تعداد ردیف مستقیم از هر جدول است. در اینجا راهی برای انجام این کار به صورت پویا وجود دارد:

پرس و جو برای به دست آوردن تعداد ردیف:

SELECT table_name, table_rows
FROM information_schema.tables
WHERE table_schema = 'your_database_name';
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

  • تعویض کردن your_database_name با نام پایگاه داده خود
  • در table_rows ستون تعداد تقریبی ردیف ها را برای هر جدول فراهم می کند (توجه داشته باشید که این مقدار همیشه ممکن است 100 ٪ دقیق نباشد).

برای سرور SQL

در SQL Server می توانید از sys.tables نمای سیستم برای بررسی پویا شمارش ردیف برای همه جداول:

پرس و جو:

SELECT t.name AS table_name,
       p.rows AS row_count
FROM sys.tables t
JOIN sys.partitions p
     ON t.object_id = p.object_id
WHERE p.index_id IN (0, 1);  -- 0 = Heap, 1 = Clustered Index
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این پرس و جو تعداد ردیف را برای همه جداول کاربر در پایگاه داده فعلی برمی گرداند.


برای sqlite

در SQLite می توانید از sqlite_master جدول برای به دست آوردن لیستی از جداول و هر یک از هر یک برای تعداد ردیف خود پرس و جو کنید:

پرس و جو:

SELECT name AS table_name,
       (SELECT COUNT(*) FROM name) AS row_count
FROM sqlite_master
WHERE type = 'table';
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

این پرس و جو همه جداول و تعداد ردیف آنها را لیست می کند.


پایان

بررسی اینکه کدام جداول حاوی داده ها یک کار مشترک در تمام پایگاه داده ها است. بیشتر بانکهای اطلاعاتی روش هایی برای تولید پویا نمایش داده شد یا استفاده از نماهای سیستم برای شمارش ردیف ها در هر جدول ارائه می دهند. با استفاده از این تکنیک ها ، می توانید به سرعت مشخص کنید که جداول دارای داده ها هستند و ساختار پایگاه داده خود را به طور مؤثر درک می کنند.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا