Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL Wählen Sie eine bestimmte Spalte aus

Angenommen, Sie möchten nicht alle Spalten, die mit select * from ... zurückgegeben würden , können Sie die gewünschten Spalten einfach explizit auflisten:

select fname, lname from ...

Angenommen, Sie wissen, dass Ihre Benutzer-ID jbug01 ist, und möchten nur die entsprechende E-Mail-Adresse:

select email
from   users
where  userid = 'jbug01'

Um dies innerhalb von PHP zu tun, kann das folgende Code-Snippet hilfreich sein:

<?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);
?>

Es sind sehr wenige Fällen, in denen * ausgewählt wird Sinn macht (abgesehen von Tools, die brauchen um alle Spalten wie DB-Viewer zu erhalten).

Sie sollten es normalerweise vorziehen, bei Ihrer Spaltenauswahl explizit zu sein. Dadurch können Sie Probleme mit Schemaänderungen viel früher im Prozess erkennen, als dies der Fall wäre, wenn Sie einfach alles blind auswählen.

Es wird auch dazu führen, dass weniger Informationen übertragen werden, was für kleine Datenbanken oder Systeme, in denen alles auf demselben Rechner läuft, vielleicht nicht wichtig ist, aber es wird die Skalierbarkeit Ihres Systems beeinträchtigen, sowohl in Bezug auf die Datengröße als auch auf die Verteilung über ein Netzwerk.