Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Журнал Начинающего Программиста 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, представляющая собой   запрос на удаление записей

DELETE
FROM       car
WHERE  VIN   IN   ( ' 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 ' ,    ' 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 9 ' ) ;

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






 © 2010 LORD-EXPERT     • Forum   • Site     •


Ваши комментарии к рассылке. Архив рассылки


Общение/вопросы/и т.д.




В избранное