INFORMATION_SCHEMA (أو: information_schema) قاعدة بيانات نظام توفّر عرضًا غير معتمد على نظام إدارة قواعد البيانات وموحّدًا إلى حدٍّ ما للبيانات الوصفية الخاصة بكائنات قاعدة البيانات. وتُعد طرق العرض في INFORMATION_SCHEMA عمومًا أقل من جداول النظام العادية، لكن يمكن للأدوات استخدامها للحصول على معلومات أساسية بطريقة موحّدة عبر مختلف أنظمة إدارة قواعد البيانات. ومن المفترض أن تتطور بنية طرق العرض ومحتواها في INFORMATION_SCHEMA بطريقة متوافقة مع الإصدارات السابقة، أي لا تُضاف إلا وظائف جديدة، من دون تغيير الوظائف الحالية أو إزالتها. ومن ناحية التنفيذ الداخلي، تُطابِق طرق العرض في INFORMATION_SCHEMA عادةً جداول نظام عادية مثل system.columns وsystem.databases وsystem.tables.
INFORMATION_SCHEMA على طرق العرض التالية:
تتوفر أيضًا طرق عرض مكافئة غير حساسة لحالة الأحرف، مثل INFORMATION_SCHEMA.columns، وذلك لأسباب تتعلق بالتوافق مع قواعد البيانات الأخرى. وينطبق الأمر نفسه على جميع الأعمدة في طرق العرض هذه، إذ تتوفر كل من الصيغ المكتوبة بأحرف صغيرة (على سبيل المثال، table_name) والصيغ المكتوبة بأحرف كبيرة (TABLE_NAME).
COLUMNS
NULL)، لكنها مطلوبة وفقًا للمعيار.
الأعمدة:
table_catalog(String) — غير مستخدم حاليًا.table_schema(String) — غير مستخدم حاليًا.table_name(String) — غير مستخدم حاليًا.non_unique(Int32) — غير مستخدم حاليًا.index_schema(String) — غير مستخدم حاليًا.index_name(Nullable(String)) — غير مستخدم حاليًا.seq_in_index(UInt32) — غير مستخدم حاليًا.column_name(Nullable(String)) — غير مستخدم حاليًا.collation(Nullable(String)) — غير مستخدم حاليًا.cardinality(Nullable(Int64)) — غير مستخدم حاليًا.sub_part(Nullable(Int64)) — غير مستخدم حاليًا.packed(Nullable(String)) — غير مستخدم حاليًا.nullable(String) — غير مستخدم حاليًا.index_type(String) — غير مستخدم حاليًا.comment(String) — غير مستخدم حاليًا.index_comment(String) — غير مستخدم حاليًا.is_visible(String) — غير مستخدم حاليًا.expression(Nullable(String)) — غير مستخدم حاليًا.
Query
Response
SCHEMATA
NULL)، لكن يجب أن تكون موجودة وفقًا للمعيار.
الأعمدة:
catalog_name(String) — اسم قاعدة البيانات.schema_name(String) — اسم قاعدة البيانات.schema_owner(String) — اسم مالك المخطط، ويكون دائمًا'default'.default_character_set_catalog(Nullable(String)) —NULL، غير مدعوم.default_character_set_schema(Nullable(String)) —NULL، غير مدعوم.default_character_set_name(Nullable(String)) —NULL، غير مدعوم.sql_path(Nullable(String)) —NULL، غير مدعوم.
Query
Response
TABLES
table_catalog(String) — اسم قاعدة البيانات التي يقع فيها الجدول.table_schema(String) — اسم قاعدة البيانات التي يقع فيها الجدول.table_name(String) — اسم الجدول.table_type(String) — نوع الجدول. القيم الممكنة:BASE TABLEVIEWFOREIGN TABLELOCAL TEMPORARYSYSTEM VIEW
table_rows(Nullable(UInt64)) — العدد الإجمالي للصفوف. تكونNULLإذا تعذر تحديده.data_length(Nullable(UInt64)) — حجم البيانات على القرص. تكونNULLإذا تعذر تحديده.index_length(Nullable(UInt64)) — الحجم الإجمالي للمفتاح الأساسي، والفهارس الثانوية، وجميع العلامات.table_collation(Nullable(String)) — قاعدة الترتيب الافتراضية للجدول. وتكون دائمًاutf8mb4_0900_ai_ci.table_comment(Nullable(String)) — التعليق المستخدم عند إنشاء الجدول.
Query
Response
VIEWS
table_catalog(String) — اسم قاعدة البيانات التي يوجد فيها الجدول.table_schema(String) — اسم قاعدة البيانات التي يوجد فيها الجدول.table_name(String) — اسم الجدول.view_definition(String) — استعلامSELECTالخاص بطريقة العرض.check_option(String) —NONE، بدون تحقّق.is_updatable(Enum8) —NO، طريقة العرض غير قابلة للتحديث.is_insertable_into(Enum8) — يوضّح ما إذا كانت طريقة العرض المُنشأة مُجسَّدة. القيم الممكنة:NO— طريقة العرض المُنشأة غير مُجسَّدة.YES— طريقة العرض المُنشأة مُجسَّدة.
is_trigger_updatable(Enum8) —NO، المُشغِّل غير قابل للتحديث.is_trigger_deletable(Enum8) —NO، لا يمكن حذف المُشغِّل.is_trigger_insertable_into(Enum8) —NO، لا يتم إدراج أي بيانات في المُشغِّل.
Query
Response
KEY_COLUMN_USAGE
constraint_catalog(String) — غير مستخدم حاليًا. تكون القيمة دائمًاdef.constraint_schema(String) — اسم المخطط (قاعدة البيانات) الذي ينتمي إليه القيد.constraint_name(Nullable(String)) — اسم القيد.table_catalog(String) — غير مستخدم حاليًا. تكون القيمة دائمًاdef.table_schema(String) — اسم المخطط (قاعدة البيانات) الذي ينتمي إليه الجدول.table_name(String) — اسم الجدول الذي يوجد عليه القيد.column_name(Nullable(String)) — اسم العمود الذي يوجد عليه القيد.ordinal_position(UInt32) — غير مستخدم حاليًا. تكون القيمة دائمًا1.position_in_unique_constraint(Nullable(UInt32)) — غير مستخدم حاليًا. تكون القيمة دائمًاNULL.referenced_table_schema(Nullable(String)) — غير مستخدم حاليًا. تكون القيمة دائمًاNULL.referenced_table_name(Nullable(String)) — غير مستخدم حاليًا. تكون القيمة دائمًاNULL.referenced_column_name(Nullable(String)) — غير مستخدم حاليًا. تكون القيمة دائمًاNULL.
Query
Response
REFERENTIAL_CONSTRAINTS
constraint_catalog(String) — غير مستخدم حاليًا.constraint_schema(String) — غير مستخدم حاليًا.constraint_name(Nullable(String)) — غير مستخدم حاليًا.unique_constraint_catalog(String) — غير مستخدم حاليًا.unique_constraint_schema(String) — غير مستخدم حاليًا.unique_constraint_name(Nullable(String)) — غير مستخدم حاليًا.match_option(String) — غير مستخدم حاليًا.update_rule(String) — غير مستخدم حاليًا.delete_rule(String) — غير مستخدم حاليًا.table_name(String) — غير مستخدم حاليًا.referenced_table_name(String) — غير مستخدم حاليًا.
STATISTICS
COLLATIONS
utf8mb4_0900_ai_ci — قاعدة الترتيب التي يعلن عنها بروتوكول MySQL أثناء المصافحة، وفي SCHEMATA.DEFAULT_COLLATION_NAME وTABLES.TABLE_COLLATION — وbinary — قاعدة الترتيب الشكلية التي يعيّنها بروتوكول MySQL للأعمدة الرقمية وغيرها من الأعمدة غير النصية في البيانات الوصفية لمجموعة النتائج — حتى يتمكن العميل المتوافق مع MySQL، الذي يتبع قواعد الترتيب المُعلن عنها، من العثور عليها في هذا العرض.
الأعمدة:
collation_name(String) — اسم قاعدة الترتيب.character_set_name(Nullable(String)) — مجموعة الأحرف المرتبطة (utf8mb4لـutf8mb4_0900_ai_ci، وbinaryلـbinary، وإلاNULL). يُوفَّر للتوافق مع MySQL.id(Nullable(UInt64)) — معرّف قاعدة ترتيب MySQL (255لـutf8mb4_0900_ai_ci، و63لـbinary، وإلاNULL). يُوفَّر للتوافق مع MySQL.is_default(Nullable(String)) — ما إذا كانت قاعدة الترتيب هي الإعداد الافتراضي لمجموعة الأحرف الخاصة بها (Yesلكلا صفَّي التوافق مع MySQL، وإلاNULL). يُوفَّر للتوافق مع MySQL.is_compiled(Nullable(String)) — ما إذا كانت قاعدة الترتيب مُصرَّفةً ضمن الخادم (Yesلكلا صفَّي التوافق مع MySQL، وإلاNULL). يُوفَّر للتوافق مع MySQL.sortlen(Nullable(UInt64)) — الحد الأدنى لطول الفرز (0لـutf8mb4_0900_ai_ci، و1لـbinary، وإلاNULL). يُوفَّر للتوافق مع MySQL.pad_attribute(Nullable(String)) — سمة الحشو،NO PADأوPAD SPACE(NO PADلكلا صفَّي التوافق مع MySQL، وإلاNULL). يُوفَّر للتوافق مع MySQL.