【问题标题】:How do I get the MySQL table structure in PHP? Plus a list of all tables?如何在 PHP 中获取 MySQL 表结构?加上所有表的列表?
【发布时间】:2010-10-02 21:05:44
【问题描述】:

我需要在 PHP 中运行什么查询来获取数据库中给定表的结构?我需要运行什么查询来获取所有表的列表?

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    要获取表的列列表,请使用 DESCRIBE SQL 语句。语法如下:

    DESCRIBE TableName
    

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

    SHOW TABLES
    

    【讨论】:

      【解决方案2】:
      $q = mysql_query('DESCRIBE tablename');
      while($row = mysql_fetch_array($q)) {
          echo "{$row['Field']} - {$row['Type']}\n";
      }
      

      http://www.electrictoolbox.com/mysql-table-structure-describe/找到它

      【讨论】:

        【解决方案3】:

        要获得 CREATE 语法,请使用

        SHOW CREATE TABLE table_name;
        

        还可以查看 information_schema 数据库。关于您的数据库、表、索引等的大量非常有用的信息。

        见:How to find all the tables in MySQL with specific column names in them?

        【讨论】:

          【解决方案4】:

          获取您可以使用的字段的 cmets:

          SHOW FULL COLUMNS FROM table_name;
          

          注意关键字 FULL,这就是 MySQL 在响应中包含权限和 cmets 信息的原因。

          【讨论】:

            【解决方案5】:

            用 MYSQLI 更新:

            连接数据库

            function conectadb($banco) 
            {
            $endereco = "localhost";
            $usuario  = "root";
            $senha    = "";
            try
            {
                $con = new mysqli($endereco, $usuario, $senha, $banco);
                $con->set_charset("utf8"); // acentuação
                return $con;
            }
            catch (Exception $e)
            {
                echo "<h1>Falha</h1><br/>";
                echo $e->getMessage();
                die();
            }
            }
            

            显示列表:

            function show_table($tabela)
            {
            $conexao=conectadb('venda');
            $sql = "DESCRIBE $tabela";
            $result = $conexao->query($sql);
            while ($coluna = $result->fetch_assoc()) 
            {
                echo "<p>".$coluna['Field']." - ";
                echo $coluna['Type']."</p>";
            }
            

            }

            【讨论】:

              【解决方案6】:
              $result= mysqli_query($conn, "DESCRIBE your_table"); while($table = mysqli_fetch_array($result)) { echo($table[0]." ".$table[1]." ". $table[2]." ". $table[3]." ". $table[4]); }

              【讨论】:

                猜你喜欢
                • 2011-08-04
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2014-01-14
                • 2014-02-25
                • 2019-08-22
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多