如何查询表的列名

时间:2012-11-17 15:15:13

标签: php mysql

大家好我需要帮助显示特定表的列名示例我有一个名为account的表,它有account_id,first_name,last_name和类似的东西,我需要的是显示account_id,first_name,last_name等等在该列内的数据真的需要你的帮助..谢谢:)

SELECT table_name, column_name, data_type, data_length
FROM USER_TAB_COLUMNS
WHERE table_name = 'mydatabase'

这是我在研究答案时找到的代码,但我不知道如何排除这个...我真的不知道如何使用它来显示列名...

6 个答案:

答案 0 :(得分:2)

如何使用DESCRIBE

DESCRIBE tablename;

在此处试试:http://sqlfiddle.com/#!2/a2581/2823/0

答案 1 :(得分:2)

$result = mysql_query("SHOW COLUMNS FROM sometable");
if (mysql_num_rows($result) > 0) {
    while ($row = mysql_fetch_assoc($result)) {
        print_r($row);
    }
}

结果可能是:

Array
(
    [Field] => id
    [Type] => int(7)
    [Null] =>
    [Key] => PRI
    [Default] =>
    [Extra] => auto_increment
)

答案 2 :(得分:0)

  

我需要显示account_id,first_name,last_name等等而不是该列中的数据

SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME  = 'B'

答案 3 :(得分:0)

SELECT column_name FROM information_schema.COLUMNS WHERE TABLE_NAME='table';

这应该从信息模式中获取列。

答案 4 :(得分:0)

建议在PHP方面使用MySQLi而不是MySQL。

您可以使用mysqli_fetch_field()

$query = "SELECT blah from blah ORDER BY blah LIMIT 5";

if ($result = $mysqli->query($query)) {

/* Get field information for all columns */
while ($finfo = $result->fetch_field()) {

    printf("Name:     %s\n", $finfo->name);
    printf("Table:    %s\n", $finfo->table);
    printf("max. Len: %d\n", $finfo->max_length);
    printf("Flags:    %d\n", $finfo->flags);
    printf("Type:     %d\n\n", $finfo->type);
    }

    $result->close();
}

答案 5 :(得分:-1)

$query= "SELECT table_name, column_name, data_type, data_length
FROM USER_TAB_COLUMNS
WHERE table_name = 'mytablename' ";

$result = mysql_query($query) or die(mysql_error());
while($row=mysql_fetch_array($result)) {echo "$row[acount_id] $row[first_name] $row[last_name]";}

使用以上方法回显数据库中的所有三个数据