数据库元数据¶
表元数据¶
下面这些方法用于获取表信息:
列出数据库的所有表¶
$this->db->list_tables();
该方法返回一个包含你当前连接的数据库的所有表名称的数组。例如:
$tables = $this->db->list_tables();
foreach ($tables as $table)
{
echo $table;
}
检测表是否存在¶
$this->db->table_exists();
有时候,在对某个表执行操作之前先判断该表是否存在将是很有用的。 该函数返回一个布尔值:TRUE / FALSE。使用示例:
if ($this->db->table_exists('table_name'))
{
// some code...
}
注解
使用你要查找的表名替换掉 table_name
字段元数据¶
列出表的所有列¶
$this->db->list_fields()
该方法返回一个包含字段名称的数组。有两种不同的调用方式:
将表名称作为参数传入 $this->db->list_fields():
$fields = $this->db->list_fields('table_name'); foreach ($fields as $field) { echo $field; }
你可以从任何查询结果对象上调用该方法,获取查询返回的所有字段:
$query = $this->db->query('SELECT * FROM some_table'); foreach ($query->list_fields() as $field) { echo $field; }
检测表中是否存在某字段¶
$this->db->field_exists()
有时候,在执行一个操作之前先确定某个字段是否存在将会有很用。 该方法返回一个布尔值:TRUE / FALSE。使用示例:
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 - 列的数据类型