PHP 5 для начинающих |
Страница 369 из 813 Вывод команды описывает структуру таблицы user — какие поля определены и как они сконфигурированы. Например, из распечатки ясно, что в поле Host могут храниться значения длиной не более 60 символов и что это поле определено в качестве первичного ключа. Поле User также определено как первичный ключ. Это не означает, что оба эти поля являются первичными ключами (это не допускается). Просто комбинация полей Host и User работает в качестве первичного ключа в формате Host-User. Например, если пользователю john на узле localhost даны права доступа к серверу, то для его записи значением первичного ключа становится строка localhost-john. Записать в данную таблицу еще одного пользователя с именем john на узле localhost невозможно, но можно записать пользователя john на узле whatever.com. Все поля в таблице user, кроме Host, User и Password, объявлены как ENUM('N', 'Y'). Это означает, что во всех этих полях может использоваться только одно значение из перечисленных в скобках (в данном случае N или Y). Необходимо отметить, что значением по умолчанию (когда значение не задано) будет буква N. Использование SQL для просмотра данных Все рассмотренные выше запросы к mysql-клиенту специфичны для СУБД MySQL и необязательно будут работать на других системах, поддерживающих SQL. Теперь, подойдя на шаг ближе к фактическим данным, можно использовать "настоящие" SQL-операторы. Предположим, что требуется выяснить, зарегистрированы ли в настоящий момент пользователи, имеющие привилегии для доступа с локальной машины localhost. Это можно сделать с помощью следующего SELECT-запроса: mysql> SELECT User, Host FROM user; +----------+--------------+ | User | Host + +----------+--------------+ james digistrawb + 3 rows in set (0.00 sec) В запросе содержится лишь три записи, поэтому нетрудно заметить, что в текущий момент зарегистрирован только один локальный пользователь root. Конечно, выяснить это будет сложнее при наличии нескольких сотен зарегистрированных пользователей, но на этот случай есть другой способ получения необходимого результата: mysql> SELECT User FROM user WHERE Host='localhost'; +------------ + 1 row in set (0.00 sec) Использование предложения WHERE сужает диапазон выбираемых записей. Это предложение работает подобно оператору if в PHP, кроме того, что в случае WHERE для проверки равенства используется один знак равенства (=), а не два (==), как в if. Если требуется выбрать все доступные поля, а не несколько указанных, то можно использовать специальный символ *. Например:mysql> SELECT * FROM tablename; Данная команда выбирает все поля всех записей в таблице tablename. |
молодежная одежда оптом в спб