Perl для системного администрирования

       

Запрос информации



Запрос информации

Являясь системным администратором, чаще всего вы будете применять SQL-команду SELECT, которая используется для получения информации с сервера. Перед тем как говорить об этой команде, нужно заметить, что SELECT - это пропуск в мир SQL. Мы покажем только самые простые формы данной команды. Умение создавать хорошие запросы (и умение проектировать базы данных, к которым легко такие запросы строить) - это искусство, и более подробно этот вопрос рассматривается в книгах, целиком посвященных SQL и базам данных.

В самой простой форме SELECT служит для получения информации о сервере и соединении. В этом случае не нужно определять источник данных. Вот два примера:

-- оба зависят от производителя базы данных SELECT ©sfiERVERNAME SELECT VERSIONO.

Первый оператор возвращает имя сервера для Sybase или MS-SQL; второй - текущую версию сервера MySQL.

Получение всех записей из таблицы

Для получения всех данных из таблицы hosts применяется такой SQL код:

USE sysach

SE! ЕС Г - FROM

В результате возвращаются все строки и поля, причем поля следуют в той последовательности, в которой они определялись при создании базы данных:

name icacdr aliases

bldg roo"i Tianuf r.odel

shimmer 192.168.1.11 snm shimmy sh:rnmydood.es David Dav:

Main 309 Sun UTfra60

bendir 192.168.1.3 Den bendoodles Cindy Co;

West 143 Apple 7500/100



sander 192.168.1.55 sandy micky mickydoo Alex Rollins IT

Main 1101 Intergraph TD-325

Sulawesi 192.168.1.12 sula su-lee Ellen Monk Design

Main 1116 Apple G3

Если нужно получить только определенные поля, следует явно указать их имена:

USE sysadm

SELECT name,ipaddr FROM hosts

Когда мы определяем поля по имени, они возвращаются в той последовательности, в которой указывались, независимо от порядка, используемого при создании таблицы. Например, для получения связи IP-адресов со зданиями можно применить следующую команду:

USE sysadm

SELECT bldg.ipaddr FROM hosts

В результате получим:

bldg ipaddr

Main 192.168.1.11

West 192.168.1,3

Main 192.168,1.55

Main 192.168.1.12



Содержание раздела