|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
ТЕОРЕТИЧЕСКАЯ ЧАСТЬ. По стандарту ANSI DCL является частью DDL
По стандарту ANSI DCL является частью DDL. Синтаксис команд и примеры, рассмотренные в данном пособии, соответствуют синтаксису СУБД Sybase. В командах SQL не различаются прописные и строчные буквы (за исключением строчных литералов). Каждая команда заканчивается символом ';'. Значения параметров по умолчанию выделено подчеркиванием, например, ALL. Примем следующие обозначения для описания синтаксиса: {} – содержимое скобок рассматривается как единое целое для остальных символов; | – заменяет слово ИЛИ; [] – содержимое этих скобок является необязательным; … – всё, что предшествует этим символам, может повторяться произвольное число раз; .,.. – всё, что предшествует этим символам, может повторяться произвольное число раз, каждое вхождение отделяется запятой. 1.4.1. Создание отношений Создание нового отношения (таблицы) выполняется с помощью команды DDL CREATE TABLE. Команда CREATE TABLE используется для описания новой таблицы, её атрибутов (полей) и ограничений целостности. Упрощённый синтаксис этой команды: CREATE TABLE <имя таблицы> Расшифровка элементов описания приведена в табл. 1. Для обязательных полей устанавливается ограничение not null. Это означает, что при изменении значения этого поля или при добавлении новых записей таблицы это поле должно содержать допустимое значение. Ограничение not null можно наложить на поле только один раз, иначе возникает ошибка. Таблица 1. Описание команды CREATE TABLE
Примеры создания таблиц:
create table depart
create table emp
create table children Обратите внимание:
create table tab 1.4.2. Команды модификации данных К командам модификации данных (DML) относятся добавление, удаление и изменение (обновление) кортежа (записи). INSERT – добавление записи в таблицу. Синтаксис: INSERT INTO <имя таблицы> [(<имя поля>.,..)] Под <запросом> подразумевается команда SELECT (см. ниже), результаты работы которой добавляются в указанную таблицу. В предложении VALUES указываются выражения, порождающие значения атрибутов новой записи таблицы. Типы значений выражений должны соответствовать типам полей таблицы. Если значения устанавливаются не для всех полей или порядок значений не соответствует тому порядку полей, который был установлен при создании таблицы, то после имени таблицы в скобках приводится список полей в соответствии со списком значений. Если в списке полей не указано обязательное поле таблицы (not null), то ему будет присвоено значение по умолчанию (default), если оно определено в командах CREATE TABLE или ALTER TABLE. (Подробнее о NULL -значениях см. п. 1.4.6). Если в списке значений отсутствует хотя бы одно обязательное поле или нарушаются другие ограничения целостности, например, уникальность значения, то команда INSERT будет отвергнута. Пример: Добавить в таблицу "Сотрудники" новую запись: insert into emp values(3, '112', 'Попов В.Г.', 'экономист', 400*13.5, '1979–12–23', '5–34–11'); UPDATE – обновление данных в таблице. Синтаксис: UPDATE <имя таблицы> Запрос на обновление изменяет в указанной таблице значения указанных полей тех записей, которые удовлетворяют заданному условию отбора (where <условие>). Если условие не указано, обновляются все записи таблицы. Пример: Изменить должность и зарплату сотрудника Попова В.Г., табельный номер 112: update emp DELETE – удаление записей из таблицы. Синтаксис этой команды: delete from <имя таблицы> [ where <условие> ]; Внимание! Если не указывать условие выбора записей, то все записи таблицы будут удалены без предупреждения и без запроса на подтверждение! Пример: Удалить запись о сотруднике Попове В.Г., табельный номер 112: delete from emp where tabno = '112'; 1.4.3. Извлечение данных из отношений Извлечение данных из отношений выполняется с помощью команды SELECT (селекция). Эта команда не изменяет данные в БД. Результатом выполнения команды SELECT является временное отношение, которое помещается в курсор (специальную область памяти СУБД) и обычно сразу выводится на экран. Синтаксис этой команды: SELECT * | { [ ALL | DISTINCT ] <список выбора>.,..} [ UNION [ ALL ] SELECT …]; Расшифровка элементов описания приведена в табл. 2. Таблица 2. Элементы команды SELECT
DISTINCT – предикат удаления из результирующего отношения повторяющихся кортежей. ALL – предикат, обратный к DISTINCT (используется по умолчанию). Рассмотрим основные предложения команды SELECT: SELECT – после этого ключевого слова указывается список выбора – список выражений, которые будут образовывать результирующее отношение. Выражению можно сопоставить временный синоним (алиас), который будет названием поля результирующего отношения, например: sal*0.87+bonus as salary Если надо вывести все поля из тех отношений, к которым обращается данный запрос, можно указать символ * (если в отношениях нет полей с одинаковыми именами). В этом случае сначала будут выведены поля таблицы, стоящей первой в предложении FROM, затем – второй и т.д. Поля, относящиеся к одной таблице, будут выводиться в том порядке, в каком они были записаны при создании таблицы. FROM – в этом предложении указывается имя таблицы (имена таблиц), в которой будет производиться поиск. WHERE – содержит условия выбора отдельных записей. GROUP BY – группирует записи по значению одного или нескольких полей. Каждой группе в результирующем отношении соответствует одна запись. HAVING – позволяет указать условия выбора для групп записей. Может использоваться только после group by. ORDER BY – упорядочивает результирующие записи по значению одного или нескольких полей: ASC – по возрастанию, DESC – по убыванию. Порядок выполнения операции SELECT такой:
Если во фразе FROM указаны две и более таблицы, то эта последовательность действий выполняется для декартова произведения указанных таблиц. Отношения для примеров приведены в таблицах 3-5. Таблица 3. Отношение "Сотрудники" (Emp)
Таблица 4. Отношение "Отделы" (Depart)
Таблица 5.Отношение "Дети"(Children)
Примеры:
select * from depart;
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.009 сек.) |