Журнал Начинающего Программиста 23, 2010-10-11 00:23
Здравствуйте,
Помните что:
Правильно заданный вопрос значительно ускорит и упростит решение проблемы.
Язык баз данных
MySQL
взаимодействует с базой данных на
языке, называемом SQL (Structured Query Language — язык
структурированных запросов). Одни люди произносят
эту аббревиатуру как "сиквел", другие, и я в том числе, — как
"эскюэль". Последний вариант, похоже, нравится и
разработчикам MySQL.
Они заявляют, что название программы должно
произноситься так: "майэскюэль".
Первое, что нужно Вам сделать, разобравшись
с полями записей, — это создать таблицу.
Данной цели служит команда:
CREATE TABLE car ( VIN VARCHAR(17) NOT NULL, Make VARCHAR(16) NOT NULL, Model VARCHAR(16) NOT NULL, ModelYear INT(16) NOT NULL, WholesalePrice FLOAT(6,2) NOT NULL, Color VARCHAR(S) NOT NULL, Mileage INT (11) NOT NULL, Comments TEXT, PRIMARY KEY(VIN) );
С этой командой стоит познакомиться
поближе. После названия команды CREATE TABLE указано имя таблицы: саr. Далее в фигурных скобках идет
список разделенных запятыми строк, описывающих поля таблицы.
Первое поле называется VIN и его тип
— VARCHAR,
т.е. строка символов перемен ной длины. Максимальное
число символов в строке — 17.
Спецификатор NOT
NULL говорит о том, что строка
не может быть пустой, т.е. пользователь
обязательно должен ввести в эту строку какието данные.
Некоторые поля имеют другой тип.
Например, поле WholesalePrice
содержит число с плавающей запятой.
Формат этого числа таков: шесть цифр
до запятой, и две — после. Поле ModelYear содержит
целое число, состоящее не более чем
из четырех цифр.
Последняя строка списка представляет
собой определение не поля, а индекса.
В ней сообщается о том, что поле VIN
является первичным ключом таблицы.
Запросы к базам данных
На языке баз данных команды, обращающиеся к базе,
называются инструкциями либо запросами. Инструкция
это более общий термин. Запросом обычно считается
такая инструкция, которая возвращает информацию (их еще называют
запросами на выборку).
Запрос можно рассматривать как вопрос,
задаваемый базе данных, например:
"Существуют ли записи, в которых
цвет автомобиля указан белым?" Если такие
записи имеются, они будут выданы в виде результато запроса.
Запрос представляет собой инструкцию SELECT. Онаотбирает
записи, соответствующие следующему критерию:
поле Color
записи содержит строку 'White'.
Но возвращается не вся запись целиком,
а лишь четыре поля:
VIN,Make,Model и ModelYear. SELECT VIN,
Make, Model, ModelYear FROM
car WHERE
Color = ' W h i t e ' ;
Обратите внимание на то, что инструкция SELECT напоминает
предложение, записанное по английски. Такова
особенность языков четвертого поколения,
к которым относится и SQL. К
языкам первого поколения
относятся платформно зависимые машинные коды, напрямую
воспринимаемые центральным процессором.
Второе поколение — это ассемблерные языки. Языки
третьего поколения считаются высокоуровневыми, и на них
работают большинство программистов. В качестве при мера можно привести
С и РНР. Языки четвертого
поколения еще на шаг приближены к естественным человеческим
языкам.
Показанный выше запрос можно модифицировать как угодно,
но результат пока что будет одним и тем же. СУБД не найдет ни одной
записи, так как таблица пуста!
Следовательно, нужно чтото добавить в
нее. Для этого предназначена инструкция INSERT. Данная
инструкция относится к семейству запросов
на изменение и официально называется запросом на
добавление записей.
Инструкция, которая добавляет запись в таблицу саr. По
рядок значений соответствует порядку столбцов в таблице.
INSERT INTO car VALUES ( '12345678901234567', 'Plymouth', 'Roadrunner', 1969, 5500.00, 'Blue', 148123, 'Unrestored' );
Например, если клиент спросит, есть
ли в продаже автомобили "Форд" по
цене меньше $10000, Вы сможете проверить
это с помощью показанного ниже запроса
SELECT * FROM
car WHERE Make
= 'Ford' AND WholesalePrice
< 9 0 0 0 . 0 0 ;
Звездочка (*)
означает выборку всех полей Записи.
Просматривая записи, Вы обнаруживаете, что
у одного из автомобилей неправильно
указан цвет. Для исправления записи нужно
ввести инструкцию UPDATE,
называемую запросом на обновление записей. Вы запоминаете
идентификатор автомобиля и вводите запрос
UPDATE
car SET Color =
'White' WHERE VIN
= ' 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 ' ;
Как и в инструкции SELECT,
предложение WHERE
ограничивает круг записей, с которыми имеет дело
инструкция. В данном случае это одна запись, так как поле VIN является
первичным ключом таблицы.
Удалить записи из таблицы - для этого предназначена
инструкция DELETE,
представляющая собой запрос на удаление записей