
- •Лекция №12 Тема: Запросы к базе данных Microsoft sql Server
- •Базовая конструкция sql-запроса
- •Агрегирующие функции языка sql
- •Рассмотрим перечень агрегирующих функций.
- •Оператор сравнения записей like
- •Команды определения данных языка sql
- •Выбор данных
- •Cпециальные операторы сравнения
- •In Применяется для проверки наличия значения в списке
- •Предложение order by
Команды определения данных языка sql
Пока мы познакомились только с работой некоторых команд языка SQL по извлечению таблиц и данных из таблиц, предполагая, что сами таблицы были созданы кем-то ранее. Это наиболее реальная ситуация, когда небольшая группа людей (проектировщики баз данных) создает таблицы, которые затем используются другими людьми. Эти команды относятся к области SQL, называемой DML (Data Manipulation Language, или Язык Манипулирования Данными). Тем не менее существует специальная область SQL, называемая DDL (Data Definition Language, или Язык Определения Данных), которая специально работает над созданием объектов данных.
Таблицы создаются командой create table. Эта команда создает пустую таблицу. Команда create table задает имя таблицы, столбцы таблицы в виде описания набора имен столбцов, указанных в определенном порядке, а также она может определять главный и вторичные ключи таблицы. Кроме того, она указывает типы данных и размеры столбцов. Каждая таблица должна содержать, по крайней мере, один столбец.
Пример команды create table:
create table ClientInfo (FirstName varchar(20), LastName varchar(20), Address varchar(20), Phone varchar(15)
Тип varchar предназначен для хранения символов не в кодировке Unicode. Число, указываемое в скобках, определяет максимальный размер поля и может принимать значение от 1 до 8000. Если введенное значение поля меньше зарезервированного, при сохранении будет выделяться количество памяти, равное длине значения. После выполнения этого запроса в окне «Сообщения» появляется сообщение: Команды выполнены успешно.
После перезапуска Management Studio в списке таблиц появилась новая таблица (рис. 12).
Рис. 12. Созданная таблица в базе данных
Итак, была создана таблица, состоящая из четырех полей типа varchar, причем для трех полей была определена максимальная длина 20 байт, а для одного - 15. Значения полей не заполнены - на это указывает величина Null.
Можно удалить созданную таблицу непосредственно в интерфейсе Management Studio, щелкнув правой кнопкой и выбрав «Удалить».
Запросы к базе данных
Командная строка SQL-запроса CommandText
Для извлечения таблиц и содержащихся в них данных используются SQL-запросы. Как уже было показано выше, переменная CommandText содержит в себе SQL-запрос, синтаксис которого адаптирован для данного поставщика данных. Мы можем управлять извлечением данных, изменяя строку CommandText. Например, если на экранной форме приложения столбец «Код туриста» отображать не нужно, то SQL-запрос будет выглядеть следующим образом:
string CommandText = "SELECT Фамилия, Имя, Отчество FROM Туристы";
В окне работающего приложения теперь будут выводиться только соответствующие три поля (рис. 13).
Рис.14 . Ограничение выводимых полей
Выведем теперь все записи клиентов, имена которых начинаются на "О":
string CommandText = "SELECT Фамилия, Имя, Отчество
FROM Туристы where Имя like 'О%'";
Окно запущенного приложения показано на рисунке 15.
Рис.15. Ограничение выводимых полей и записей
Можно использовать все возможности языка манипулирования данными (DML) вс