Ако приемем, че не искате всички колони, които ще бъдат върнати с select * from ...
, можете просто да посочите изрично желаните колони:
select fname, lname from ...
Например, да предположим, че знаете, че вашият потребителски идентификатор е jbug01 и просто искате съответния имейл адрес:
select email
from users
where userid = 'jbug01'
По отношение на това в PHP, следният кодов фрагмент може да помогне:
<?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);
?>
Има скъпоценни няколко случаи, когато избирате *
има смисъл (освен инструментите, които необходими за да получите всички колони, като например средства за преглед на DB).
Обикновено предпочитате да бъдете изрични с избора на колони. Това може да ви позволи да откриете проблеми с промените в схемата много по-рано в процеса, отколкото ако просто изберете всичко сляпо.
Това също така ще доведе до по-малко предаване на информация, което може да не е важно за малки бази данни или системи, където всичко работи в една и съща кутия, но ще влияе върху мащабируемостта на вашата система, както по отношение на размера на данните, така и по отношение на разпространението в мрежата.