如何通过mysql查询获取表结构及其数据?

时间:2015-11-06 04:20:53

标签: php mysql mysqli

我正在做一个我无法访问phpmyadmin的项目。我想看看表的结构和数据。我怎么能用mysql查询呢?我使用了DESCRIBE tablename,但只显示了列列表。有任何想法吗?我可以使用另一个查询SELECT * FROM tablename,但我只是想知道哪里有任何命令可以达到目的?我还需要知道我的表格列的类型

4 个答案:

答案 0 :(得分:1)

要获取表的列列表,请使用DESCRIBE SQL语句。 DESCRIBE提供有关表中列的信息:语法如下:

DESCRIBE TableName

离。 DESCRIBE products;会给出:

+-------------+---------------------+------+-----+---------+----------------+
| Field       | Type                | Null | Key | Default | Extra          |
+-------------+---------------------+------+-----+---------+----------------+
| product_id  | int(10) unsigned    | NO   | PRI | NULL    | auto_increment |
| url         | varchar(100)        | NO   | UNI | NULL    |                |
| name        | varchar(50)         | NO   |     | NULL    |                |
| description | varchar(255)        | NO   |     | NULL    |                |
| price       | decimal(10,2)       | NO   |     | NULL    |                |
| visible     | tinyint(1) unsigned | NO   | MUL | 1       |                |
+-------------+---------------------+------+-----+---------+----------------+

要获取数据库中的表列表,请使用以下SQL语句:

SHOW TABLES

检索现有表的表定义

SHOW CREATE TABLE TableName;

另请查看此链接以获取与MySQL表相关的更多命令:MySQL Table Commands

答案 1 :(得分:0)

SELECT COLUMN_NAME, DATA_TYPE, IS_NULLABLE, COLUMN_DEFAULT
  FROM INFORMATION_SCHEMA.COLUMNS;

应该让你开始。请参阅MySQL文档中的第20章。

答案 2 :(得分:0)

mysqli_fetch_fields可用于获取mysqli_result响应的元数据。

$link = mysqli_connect("host");
$result = mysqli_query($link, "select * from foo");

$meta = mysqli_fetch_fields($result);
foreach ($meta as $column) {
    echo "Name: {$column->name}\n";
    echo "Table: {$column->table}\n";
    echo "Max. Len: {$column->max_length}\n";
    echo "Length: {$column->length}\n";
    echo "charsetnr: {$column->charsetnr}\n";
    echo "Flags: {$column->flags}\n";
    echo "Type: {$column->type}\n";
}

$result->data_seek(0);
while ($row = $result->fetch_assoc()) {
    foreach ($row as $name => $value) {
      echo "{$name} = {$value}\n";
    }
}

mysqli_free_result($result);

PDOStatement::getColumnMetaPDO查询提供了类似的功能。

答案 3 :(得分:0)

freq = (4 * 11.9) / 128

这将显示详细信息。

希望这有帮助。