sql >> データベース >  >> RDS >> Mysql

特定のMySQLテーブルから列名を取得するにはどうすればよいですか?

    次のコードは、テーブルtable_nameからすべての列名を取得します :

    $mysqli = new mysqli('localhost', 'USERNAME_HERE', 'PASSWORD_HERE', 'DATABASE_HERE');
    
    $sql = 'SHOW COLUMNS FROM table_name';
    $res = $mysqli->query($sql);
    
    while($row = $res->fetch_assoc()){
        $columns[] = $row['Field'];
    }
    

    id列があるので およびname 私のテーブルでは、これが結果です:

    Array
    (
        [0] => id
        [1] => name
    )
    

    結果セットから列を取得する場合は状況によって異なりますが、その方法の1つは次のとおりです。

    $mysqli = new mysqli('localhost', 'USERNAME_HERE', 'PASSWORD_HERE', 'DATABASE_HERE');
    
    $sql = 'SELECT * FROM table_name';
    $res = $mysqli->query($sql);
    
    $values = $res->fetch_all(MYSQLI_ASSOC);
    $columns = array();
    
    if(!empty($values)){
        $columns = array_keys($values[0]);
    }
    

    $columnsの結果の例 :

    Array
    (
        [0] => id
        [1] => name
    )
    

    $valuesの結果の例 :

    Array
    (
        [0] => Array
            (
                [id] => 1
                [name] => Name 1
            )
    
        [1] => Array
            (
                [id] => 2
                [name] => Name 2
            )
    
    )
    


    1. mysqlの単一のクエリで子カテゴリの親名を取得する

    2. SQLのDateTimeフィールドの時間部分

    3. SQLServerのデータベースのすべてのテーブル間の関係を知る

    4. mysql接続のデフォルトのポート番号を確認するにはどうすればよいですか?接続が機能していません! jdbc接続