Основные операторы языка
Создание таблицы :
CREATE TABLE <имя таблицы>(<имя столбца> <тип данных> [NOT NULL], [<имя столбца> <тип данных> [NOT NULL]]…
-------------------------------------------------------------------------------------------
CREATE TABLE goods(type SQL_CHAR(8) NOT NULL,
Comp_idSQL_CHAR(10) NOT NULL, nameSQL_VARCHAR(20),priceSQL_DECIMAL(8,2))
-------------------------------------------------------------------------------------------
Изменение структуры таблицы:
ALTER TABLE<имя таблицы>
((ADD, MODIFY,DROP}<имя столбца>[<тип данных>] [NOT NULL]
[,{ADD,MODIFY,DROP}<имя столбца>[<тип данных>] [NOT NULL]]…)
-------------------------------------------------------------------------------------------
ALTER TABLE goods(ADD number SQL_INTEGER)
-------------------------------------------------------------------------------------------
Удаление таблицы:
DROP TABLE<имя таблицы>
-------------------------------------------------------------------------------------------
Создание индекса:
CREATE[UNIQUE]INDEX<имя индекса>ON<имя таблицы>(<имя столбца>[ASC DESC] [,<имя столбца> [ASC | DESC]…)
-------------------------------------------------------------------------------------------
Удаление индекса:
DROP INDEX <имя индекса>
-------------------------------------------------------------------------------------------
Создание представления:
CREATE VIEW <имя представления>
[(<имя столбца>[,<имя столбца>]…)]AS<оператор SELECT>
-------------------------------------------------------------------------------------------
Удаление представления:
DROP VIEW <имя представления>
-------------------------------------------------------------------------------------------
Назначение привилегий:
GRAND
-------------------------------------------------------------------------------------------
Удаление привилегий:
REVOKE
-------------------------------------------------------------------------------------------
DML язык манипулирования данными ACTIVE, OPEN
Выборка записей:
SELECT [ALL DISTINCT] <список данных> FROM <список таблиц>
[WHERE <условие выборки>]
[GROUP BY <имя столбца> [,<имя столбца]…]
[HAVING <условие поиска>]
[ORDER BY <спецификация>[,<спецификация>]…]
-------------------------------------------------------------------------------------------
Вставка новых записей:
INSERT INTO <имя таблицы> [(<список столбцов>)] VALUES (список значений>) – ввод новых записей
-------------------------------------------------------------------------------------------
INSERT INTO <имя таблицы> [(<список столбцов>)] <предложение SELECT> - ввод в заданную таблицу новых строк, отобранных из другой таблицы
-------------------------------------------------------------------------------------------
Удаления записей:
DELETE FROM <имя таблицы> [WHERE <условие>]
-------------------------------------------------------------------------------------------
Изменение записей:
UPDATE <имя таблицы>
SET <Имя столбца>=(<выражение>, NULL}
[,SET <имя столбца>=(<выражение>, NULL}…]
[WHERE <условие>]
Язык SQL
Оператор выбора SELECT. Формирование запросов к базе
Данных
Назначение оператора SELECT СОСТОИТ В выборке и отображении данных одной или нескольких таблиц БД.
Синтаксис оператора SELECT:
SELECT [DISTINCT| ALL] {* ⎟ [<СПИСОК СТОЛБЦОВ>]} FROM <СПИСОК ТАБЛИЦ>
[WHERE <предикат-условие выборки или соединения;>] [GROUP BY <список полей результата>]
[HAVING <предикат-условие для группы>]
ORDER BY <список полей, по которым требуется упорядочить ВЫВОД>]
Поясним каждую фразу данного оператора.
Фраза SELECT:
· наличие ключевого слова ALL (по умолчанию) означает, что в результирующую таблицу включаются все строки, удовлетворяющие условиям запроса, что может привести к появлению в результирующей таблице одинаковых строк;
· ключевое слово DISTINCT предназначено для приведения таблицы в соответствие с принципами теории отношений, где предполагается отсутствие дубликатов строк;
· символ "*" определяет очень часто встречаемую ситуацию, когда в результирующий набор включаются все столбцы из исходной таблицы
· запроса.
Во фразе FROMзадается перечень исходных таблиц запроса.
Во фразе WHEREопределяются условия отбора строк результата или условия соединения строк исходных таблиц, подобно операции условного соединения в реляционной алгебре. В качестве условий отбора могут быть использованы следующие операторы:
· сравнения " = , <>, >, <, >=, <=" — для сравнения результатов вычисления двух выражений; более сложные выражения строятся с помощью логических операторов AND, OR, NOT;
· BETWEEN А AND В — предикат истинен, когда вычисленное значение выражения попадает в заданный диапазон;
· IN — предикат истинен тогда, когда сравниваемое значение входит в множество заданных значений;
· LIKE и NOT LIKE — предикаты, смысл которых противоположен, требуют задания шаблона, с которым сравнивается заданное значение;
· IS NULL — предикат, применяющийся для выявления равенства значения некоторого атрибута неопределенному значению:
· EXIST и NOT EXIST, используемые во встроенных подзапросах.
Во фразе GROUP BYзадается список полей группировки.
Во фразе HAVINGзадаются предикаты-условия, накладываемые на каждую группу.
Во фразе ORDER BYзадается список полей упорядочения результата, то есть список полей, который определяет порядок сортировки в результирующей таблице.
Простые запросы
Рассмотрим ряд простых запросов.
Запрос 1
Вывести номера телефонов кафедр университета.
Результат такого запроса должен содержать только два столбца:
Name_kaf и Nom_telef, поэтому сам запрос должен выглядеть следующим
образом:
SELECT Name_kaf, Nom_telef
FROM kafedra;
Результирующая таблица приведена ниже:
Запрос 2
Вывести сведения о кафедре Графики. Запрос будет выглядеть следующим образом:
SELECT *
FROM kafedra
WHERE Name_kaf = 'Графики';
Ответ на такой запрос будет содержать только одну строку:
Запрос 3
Вывести сведения о кафедрах университета, находящихся па первом этаже, учитывая тот факт, что номера аудиторий первого этажа лежат в диапазоне от 1 до 99.
Запрос будет выглядеть следующим образом:
SELECT *
FROM kafedra
WHERE NonuAuditoria BETWEEN 1 AMD 99;
Результат запроса:
Запрос 4
Вывести сведения о кафедрах университета в виде, отсортированном по столбцу Name_kaf в порядке возрастания.
Запрос будет выглядеть следующим образом:
SELECT *
FROM kafedra
ORDER BY Namejtaf ASC;
Результат данного запроса:
Дата добавления: 2016-07-05; просмотров: 1915;