sql >> Database teknologi >  >> RDS >> Mysql

MySQL Vælg specifik kolonne

Forudsat at du ikke vil have alle kolonner, der returneres med select * from ... , kan du blot angive de ønskede kolonner eksplicit:

select fname, lname from ...

Antag for eksempel, at du ved, at dit bruger-id er jbug01, og du bare vil have den tilsvarende e-mailadresse:

select email
from   users
where  userid = 'jbug01'

Med hensyn til at gøre dette inden for PHP, kan følgende kodestykke hjælpe:

<?php
    $conn = mysql_connect ("localhost", "paxdiablo", "supersekritsauce");
    if (!$conn) {
        die ('Could not connect: ' . mysql_error());
    }
    mysql_select_db ("my_database", $conn);
    $result = mysql_query ("select email from users where userid = 'jbug01'");
    while ($row = mysql_fetch_array ($result)) {
        echo $row['email'] . "<br />";
    }
    mysql_close ($conn);
?>

Der er dyrebare tilfælde, hvor du vælger * giver mening (bortset fra værktøjer, der bruger). for at få alle kolonner såsom DB-fremvisere).

Du bør normalt foretrække at være eksplicit med dine kolonnevalg. Dette kan give dig mulighed for at opdage problemer med skemaændringer meget tidligere i processen, end det vil være tilfældet, hvis du blot blindt vælger alt.

Det vil også resultere i, at der overføres mindre information, hvilket måske ikke er vigtigt for små databaser eller systemer, hvor alt kører på samme boks, men det vil påvirke skalerbarheden af ​​dit system, både med hensyn til datastørrelse og distribution på tværs af et netværk.



  1. hvordan man bestiller et JSON-svar baseret på databaseforhold ved hjælp af veltalende

  2. HQL genererer ufuldstændig 'cross join' på executeUpdate

  3. Sådan kortlægges et enhedsfelt, hvis navn er et reserveret ord i JPA

  4. Skal vi inkludere sorteringskolonne, primærnøgle på sammensat indeks (MySQL)