データベースのメタデータ¶
テーブルのメタデータ¶
これらのメソッドを使ってテーブル情報をフェッチできます。
データベース内のテーブルをリストする¶
$this->db->list_tables();
現在接続しているデータベース内のすべてのテーブル名の 配列を返します。例:
$tables = $this->db->list_tables();
foreach ($tables as $table)
{
echo $table;
}
テーブルが存在するかを確認する¶
$this->db->table_exists();
テーブルに対して操作をする前に、テーブルが存在するかを確認した方が役立つ ことがあります。 TRUE/FALSE boolean を返します。使用例:
if ($this->db->table_exists('table_name'))
{
// some code...
}
注釈
table_name は探したいテーブル名の名前に替えてください。
フィールドのメタデータ¶
テーブル内のフィールドをリストする¶
$this->db->list_fields()
フィールド名を含んだ配列を返します。このクエリは2つの方法で 呼び出すことができます:
1. $this->db-> オブジェクトにテーブル名を渡して呼び出す ことができます:
$fields = $this->db->list_fields('table_name');
foreach ($fields as $field)
{
echo $field;
}
2. クエリ結果オブジェクトから呼び出すことで、 クエリに関連付けられたフィールド名を集めることができます:
$query = $this->db->query('SELECT * FROM some_table');
foreach ($query->list_fields() as $field)
{
echo $field;
}
テーブル内にフィールドが存在するか確認する¶
$this->db->field_exists()
何かの操作をする前に、フィールドが存在するか確認した方が役立つ ことがあります。 TRUE/FALSE boolean を返します。使用例:
if ($this->db->field_exists('field_name', 'table_name'))
{
// some code...
}
注釈
field_name は探したいフィールド名に、 table_name は探したいテーブル名に替えて ください。
フィールドのメタデータを取得¶
$this->db->field_data()
フィールド情報を含んだオブジェクトの配列を返します。
フィールド名やカラム型や最大長などのメタデータを集めるのが 役立つことがあります。
注釈
メタデータを提供していないデータベースもあります。
使用例:
$fields = $this->db->field_data('table_name');
foreach ($fields as $field)
{
echo $field->name;
echo $field->type;
echo $field->max_length;
echo $field->primary_key;
}
すでにクエリを実行させた場合は、テーブル名のかわりにクエリの 結果オブジェクトを使うことができます:
$query = $this->db->query("YOUR QUERY");
$fields = $query->field_data();
次のデータがメソッドから得ることができます(データベースで サポートされている場合のみ):
- name - カラム名
- max_length - カラムの最大長
- primary_key - カラムが主キーの場合は1
- type - カラムの型