Пиши Дома Нужные Работы

Обратная связь

Команды языка структурированных запросов (SQL). Вложенные запросы. Совокупные характеристики, объединение таблиц.

Язык SQL (Structured Query Language — язык структурированных запросов) был создан Microsoft в конце 70-ых годов и получил через некоторое время широкое распространение. Он позволяет формировать весьма сложные запросы к базам данных. Запрос — это вопрос к базе данных, возвращающий запись или множество записей, удовлетворяющих вопросу.C++Builder позволяет приложению при помощи запросов SQL использовать данные:• Таблиц PARADOX и dBase — используется синтаксис локального SQL. • Локального сервера InterBase — полностью поддерживается соответствующий синтаксис.• Удаленных серверов SQL через драйверы SQL Links.В C++Builder имеется специальный компонент набора данных —Query, являющийся аналогом Таblе, но позволяющий работать с SQL. Общие правила синтаксиса SQL очень просты. Язык SQL не чувствителен к регистру. Если используется программа из нескольких операторов SQL, то в конце каждого оператора ставится точка с запятой. Оператор вы­бораSelect. Этот оператор возвращает одно или множество значений, которые могут представлять собой значения указанных полей записей, удовлетворяющих указанному условию и упорядоченных по задан­ному критерию. Поэтому откройте новое приложение (File| New|Application) C++Builder, перенесите на форму компонентQuery со страни­цы библиотеки Data Access (BDE) и установите его свойствоDatabaseName равнымимени созданной вамибазы данных. Поместите на форму компонентDataSource со страницыДоступ к данным(Data Access).Его свойствуNameсоответствуетDatasource1,а свойству DataSet задайтеQueryl. Поместите также на форму компонентDBGrid (Управление данными – Data Control) и в его свойствеDataSource задайтеDataSourcel. Операторы SQL вы мо­жете писать в свойстве SQL компонента Queryl, а чтобы увидеть результаты выполнения написанного оператора, вам надо будет устанавливать значение свойства Active компонента Queryl в true. Это надо будет делать после записи каждого нового оператора. Теперь начнем рассмотрение оператораSelect. Одна из форм этого оператора имеет синтаксис: SELECT <список имен полей> FROM <таблица>WHERE <условие отбора> ORDER BY <список имен полей>. Элементы оператораWHERE и ORDER BY не являются обязательными. ЭлементWHERE опреде­ляет условие отбора записей: отбираются только те, в которых условие выполняется. ЭлементORDER ВY определяет упорядочивание возвращаемых записей; <таблица> — это не компонентTable,а именно та таблица базы данных, из которой осуществляется отбор. Если указать вместо списка полей символ «*» — это будет означать, что требуется вернуть все поля. В списке могут быть не только сами поля, но и любые выражения от них с арифметическими опера­циями +, -, *, /. Теперь рассмотрим форму представления условия отбора, задаваемого после ключевого слова WHERE. Это условие определяет критерий, по которому отбираются записи. Оператор Select отбирает только те записи, в которых заданное условие истинно. Условие может включать имена полей (кроме вычисляемых), константы, логические выражения, содержащие арифметические операции, логические операцииand, or, not и операции отношения: = равно; > больше; >= больше или равно; < меньше; <= меньше или равно; не равно; Like - наличие заданной последовательности символов; between...and диапазон значений in соответствие элементу множества. ОперацияLike имеет синтаксис: <поле> LIKE ‘<последовательность символов>' Эта операция применима к полям типа строк и возвращает true, если в строке встретился фрагмент, заданный в операции как Последовательность символов>. Заданным символам может предшествовать и их может завершать символ процента «% », который означает — любое количество любых символов. Если символ процента не указан, то заданная последовательность символов должна соответствовать целому слову. Операция between ... and имеет синтаксис: <поле> between <значение> and <значение> и задает для указанного поля диапазон отбираемых значений ОперацияIn имеет синтаксис: <поле> in (<множество>) и отбирает записи, в которых значение указанного поля является одним из элементов указанного множества. Элемент оператора Select, начинающийся с ключевых словORDER BY, определяет упорядочивание (сортировку) записей. После этих ключевых слов следует список полей, определяющих сортировку. Можно указывать только поля, фигурирующие в списке отобранных (в списке после ключевого SELECT). Причем эти поля могут быть и вычисляемыми. Если в списке сортировки указано только одно поле, то сортировка производится по умолчания» порядке нарастания значений этого поля. Если желательно излагать результаты по убыванию значений, то после имени поля добавляется ключевое словоDESC. Если в списке послеORDER BY перечисляется несколько полей, то первое из них — главное и сортировка проводится прежде всего по значениям этого поля. Записи, имеющие одинаковое значение первого поля упорядочиваются по значениям второго поля и т.д. ОператорSelect позволяет возвращать не только множество значений полей, но и некоторые совокупные характеристики, подсчитанные по всем или по указанным записям таблиц. При использовании суммарных характеристик надо учитывать, что в списке возвращаемых значений после ключевого слова SELECT могут фигурировать или поля (в том числе вычисляемые), или совокупные характеристики, но не могут фигурировать и те, и другие (без указания на группирование данных, о чем будет сказано ниже). Это очевидно, так как оператор может возвращать или множествознаний полей записей, или суммарные характеристики по таблице, но не может возвращать эти несовместимые друг с другом данные. Вставка новой записи в таблицу осуществляется операторомInsert, который может иметь вид: INSERT INTO <имя таблицы> (<список полей>) VALUES (<список значений;») В списке перечисляются только те поля, значения которых известны. Остальные могут опускаться. Для пропущенных полей значения берутся по умолчанию (если значения по умолчанию заданы) или поля остаются пустыми. Редактирование записей осуществляется операторомUpdate: UPDАТЕ <имя таблицы> SET <список вида <поле>=<выражение» WНЕРЕ<условие> Наличие в этом операторе условия позволяет редактировать не только одну запись, но сразу множество. Удаление записей осуществляется операторомDelete: DELETE FROM <имя таблицы> WHERE <условие> Наличие в операторе условия позволяет удалять не только одну, но сразу множество записей. Создание новой таблицы осуществляется операторомCreate Table: CREATE TABLE <имя таблицы> (<список вида <имя поля> <тип>(<размер>)>) Размер указывается только для полей строковых и некоторых других типов. После объявления не­которых полей могут включаться словаPRIMARY KEY, что указывает на то, что данное поле входит в первичный ключ. Кроме того, после объявления некоторых полей можно вставлять словаNOT NULL, означающие, что значение этого поля обязательно должно быть задано. Удаление таблицы осуществляется операторомDrop Table: DROP TABLE <имя таблицы> Надо учесть, что удаление таблицы в корне отличается от удаления в ней всех записей. При удале­нии даже всех записей сама таблица (ее структура) остается, а операторDrop Table полностью уничто­жает таблицу. Модификация структуры существующей таблицы осуществляется операторомAlter Table: ALTER TABLE <имя таблицы> <действие> <имя поля> <тип данных> ... В этом операторе <действие> может принимать значенияADD — добавить новое поле, илиDROP-удалить существующее поле. Если поле добавляется, то для него надо указывать <тип данных>. Если поле удаляется, то тип данных не указывается. Операции с индексами: создание нового индекса осуществляется операторомCreate Index: CREATE INDEX <имя индекса> ON <имя таблицы > <список полей> Удаление существующего индекса осуществляется операторомDrop Index: DROP INDEX <имя таблицы >.<имя индекса>



 






ТОП 5 статей:
Экономическая сущность инвестиций - Экономическая сущность инвестиций – долгосрочные вложения экономических ресурсов сроком более 1 года для получения прибыли путем...
Тема: Федеральный закон от 26.07.2006 N 135-ФЗ - На основании изучения ФЗ № 135, дайте максимально короткое определение следующих понятий с указанием статей и пунктов закона...
Сущность, функции и виды управления в телекоммуникациях - Цели достигаются с помощью различных принципов, функций и методов социально-экономического менеджмента...
Схема построения базисных индексов - Индекс (лат. INDEX – указатель, показатель) - относительная величина, показывающая, во сколько раз уровень изучаемого явления...
Тема 11. Международное космическое право - Правовой режим космического пространства и небесных тел. Принципы деятельности государств по исследованию...



©2015- 2024 pdnr.ru Все права принадлежат авторам размещенных материалов.