Za předpokladu, že nechcete všechny sloupce, které by byly vráceny pomocí select * from ...
, můžete jednoduše explicitně uvést požadované sloupce:
select fname, lname from ...
Předpokládejme například, že víte, že vaše uživatelské ID je jbug01 a chcete pouze odpovídající e-mailovou adresu:
select email
from users
where userid = 'jbug01'
Pokud jde o to v PHP, může pomoci následující fragment kódu:
<?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);
?>
Je jich málo případy, kdy vyberete *
dává smysl (kromě nástrojů, které potřebují získat všechny sloupce, jako jsou prohlížeče DB).
Obvykle byste měli preferovat explicitní výběr sloupců. To vám může umožnit odhalit problémy se změnami schématu mnohem dříve v procesu, než by tomu bylo v případě, kdy jen slepě vyberete vše.
Výsledkem bude také menší přenos informací, což nemusí být důležité pro malé databáze nebo systémy, kde vše běží na stejném boxu, ale bude ovlivnit škálovatelnost vašeho systému, a to jak z hlediska velikosti dat, tak distribuce v síti.