Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
курсовая работа / bd / базы данных2222.rtf
Скачиваний:
241
Добавлен:
17.02.2014
Размер:
19.41 Mб
Скачать

Обновление существующих данных.

Обновлять информацию, хранимую в базе данных, требуется тогда, когда соответствующие изменения происходят во «внешнем мире». Наименьшей единицей информации, которую можно обновить в реляционной базе данных, является значение одного столбца в одной строке.

Для обновления данных служит инструкция UPDATE, синтаксическая диаграмма которой представлена на Рис. 5.

Рис. 5.

После ключевого слова UPDATE указывается имя таблицы, значения колонок которой подлежат изменению. Далее после слова SET следует одно или более присвоений значений столбцам вида имя_столбца = выражение, после которого в предложении WHERE указываются условия подбора строк, значения в колонках которых будет изменены. Присваиваемое выражение может быть любым допустимым SQL выражением, результирующее значение имеет соответствующий колонке тип данных. Необходимо также, чтобы значение выражения вычислялось на основе значений строки, которая в данный момент обновляется в целевой таблице. Оно не может включать в себя какие-либо статистические функции или подчинённые запросы. Если в выражении содержится ссылка на один или несколько столбцов целевой таблицы, то для вычисления выражения используется значение этого столбца в текущей строке, которое было перед обновлением. То же самое справедливо для ссылок на столбцы в предложении WHERE.

Предложение WHERE в инструкции UPDATE так же, как и в инструкции DELETE, является необязательным. Если оно опущено, то обновляются все строки таблицы.

Запрос информации из бд

Запросы – это фундамент SQL. Многие разработчики используют SQL исключительно в качестве инструмента создания запросов. В данной группе присутствует только одна инструкция: SELECT. В процессе развития стандартов баз данных и стандарта языка SQL сформировалась определённая концепция обращения пользователя к БД с целью получения информации из неё. Пользователь как бы просит предоставить те или иные значения колонок из одной или нескольких таблиц, определённых в предложении FROM и соответствующие условиям, определённым в выражении WHERE. Для удобства чтения таких запросов человеком они формируются как обычное предложение на английском языке, а для удобства анализа со стороны СУБД эти предложения подчинены определённым правилам построения. Инструкция SELECT извлекает информацию из БД и возвращает её в виде таблицы результатов запроса. То, что SQL-запрос возвращает таблицу, очень важно. Это означает, что результаты запроса можно записать обратно в базу данных в виде таблицы. Это означает также, что результаты двух запросов, имеющих похожую структуру, можно объединить в одну таблицу. И, наконец, это говорит о том, что результаты запроса сами могут стать предметом дальнейших запросов. Таким образом, реляционный принцип построения соблюдается и для результатов запросов пользователя. На Рис 6. представлена синтаксическая диаграмма инструкции SELECT.

Рис. 6.

Инструкция select

Инструкция состоит из шести предложений. Предложения SELECT и FROM являются обязательными. Четыре остальных включаются в инструкцию только при необходимости. Ниже приведены функции каждого из предложений.

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

  • В предложении FROM указывается список таблиц или других запросов, которые содержат элементы данных, извлекаемые данным запросом.

  • Предложение WHERE показывает, что в результаты запроса следует включать только некоторые строки. Для отбора строк, включаемых в результаты запроса, используется условие отбора.

  • Предложение GROUP BY позволяет создать итоговый запрос. Обычный запрос включает в результаты запроса по одной записи для каждой строки из таблицы. Итоговый запрос, напротив, вначале группирует строки базы данных по определённому признаку, а затем включает в результаты запроса одну итоговую строку для каждой группы.

  • Предложение HAVING показывает, что в результаты запроса следует включать только некоторые из групп, созданных с помощью предложения GROUP BY. В этом предложении, как и в предложении WHERE, используется условие отбора.

  • Предложение ORDER BY сортирует результаты запроса на основании данных, содержащихся в одном или нескольких столбцах. Если это предложение не указано, результаты запроса отсортированы не будут.

Далее мы рассмотрим эти предложения более подробно.

Соседние файлы в папке bd