Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

ОПЕРАТОРЫ МАНИПУЛИРОВАНИЯ ДАННЫМИ.

Среди операторов SQL данного класса мы подробно рассмотрим только четыре основных оператора: INSERT - ВСТАВКА ДАННЫХ, SELECT - ВЫБОРКА ДАННЫХ, DELETE - УДАЛЕНИЕ ДАННЫХ, UPDATE - ИЗМЕНЕНИЕ ДАННЫХ.

INSERT

Вставить строки в таблицу или в базовую таблицу представления.

ОТСЮДА

img src="oracle_pr52.gif" border=0 WIDTH=500 HEIGHT=145>

Пример: В качестве примера рассмотрим вставку даннух в таблицу "Праздничные дни" (PRAZDNIKI)

insert into prazdniki values ('понедельник');
insert into prazdniki values ('вторник');
insert into prazdniki values ('среда');
insert into prazdniki values ('четверг');
insert into prazdniki values ('пятница');
insert into prazdniki values ('суббота');
insert into prazdniki values ('воскресенье');

SELECT

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

img src="oracle_pr53.gif" border=0 WIDTH=500 HEIGHT=82>

img src="oracle_pr54.gif" border=0 WIDTH=500 HEIGHT=132>

img src="oracle_pr55.gif" border=0 WIDTH=500 HEIGHT=134>

img src="oracle_pr56.gif" border=0 WIDTH=500 HEIGHT=155>

Select_list::=

table_list::=

update_list::=

Пример 1: Лучшим примером, иллюстрирующим работу оператора SELECT, является юмористический пример "Как программист SQL охотится на слонов". Дано: Слон живет в Африке. Задача: Что надо сделать чтобы найти слона? Метод решения: Программист SQL делает SELECT.

SELECT "СЛОН" FROM AFRICA; Итог: Все африканские слоны найдены.

Проиллюстрируем использование оператора SELECT на нескольких примерах.

Пример 2: Показать всех врачей заведенных в БД (см. рис.10).

SELECT * FROM doctors ORDER BY dc_name;

Результат: все записи из таблицы DOCTORS отсортированные по полю dc_name по алфавиту.

Пример 3. Показать всех врачей с кодом специальности равным 111.

SELECT dc_name
   FROM doctors
   WHERE dc_speciality_nnn = 111
ORDER BY dc_name;

Пример 4. Показать всех врачей с кодом специальности равным 111 или 112.

SELECT dc_name
   FROM doctors
   WHERE dc_speciality_nnn = 111
           OR dc_speciality_nnn = 112
ORDER BY dc_name;

2-ой способ

SELECT dc_name
   FROM doctors
   WHERE dc_speciality_nnn in (111, 112)
ORDER BY dc_name;

Операции над множествами в операторах SELECT

Операция

Выполняемые функции

UNION

Комбинирует два запроса; возвращает все неповторяющиеся строки, извлеченные хотя бы одним из запросов.

UNION ALL

Комбинирует два запроса; возвращает все строки, извлеченные хотя бы одним из запросов, вклячая повторяющиеся.

INTERSECT

Комбинирует два запроса; возвращает все неповторяющиеся строки, извлеченные каждым из запросов.

MINUS

Комбинирует два запроса; возвращает все неповторяющиеся строки, извлеченные первым запросом, но не извлеченные вторым.

Операция

Выполняемые функции

(+)

Указывает, что предшествующий столбец является столбцом внешнего соединения.

*

Используется вместо имен столбцов при выборке всех

столбцов из таблицы или представления.

PRIOR

Используется в иерархическом древовидном запросе для определения зависимости между родительскими и дочерними строками. Смотрити оператор SELECT.

ALL

Оставляет повторяющиеся строки в результате запроса (установлен по умолчанию ALL, но не DISTINCT).

DISTINCT

Удаляет повторяющиеся строки из результата запроса.

Пример 5. Показать всех врачей с кодом специальности равным 111 и работающих в подразделении №2.

SELECT dc_name
   FROM doctors
   WHERE dc_speciality_nnn = 111
        AND dc_shtat_nnn = 2
ORDER BY dc_name;
Пример 6. Показать всех пациентов врача Иванова А. А.
SELECT pt.pt_name
   FROM patients pt
   ,doctors dc
   WHERE dc.dc_nnn = pt.pt_dc_nnn
         AND dc.dc_name = 'ИВАНОВ А. А.'
ORDER BY pt.pt_name;

На этом примере остановимся подробнее: Первое - здесь впервые появились в запросе псевдонимы таблиц (pt, dc), это очень важный элемент , так как может оказаться, что по нерадивости у Вас в обоих таблицах имеются одинаковые наименования столбцов и тогда для обращения к ним потребуется использование псевдонимов таблиц. Второе - Делая запрос к нескольким таблицам необходимо использовать джойны (dc.dc_nnn = pt.pt_nnn), т.е. явно задавать те поля, которые определяют отношения между таблицами, причем чесло джойнов равняется N-1, где N - число таблиц в запросе. Третье - выборка данных по условию dc.dc_name = 'ИВАНОВ А. А.' накладывает очень жесткие требования на правильность ввода данных (они могут быть набиты маленькими буквами, через несколько пробелов и т.п.), не учет этих особенностей приведет к тому, что некоторая нужная информация не будет выбрана. Чтобы избежать этого лучше в условиях использовать числовые поля, например личный номер врача (если он имеется БД).О принципах написание SELECT можно написать несколько томов, мы здесь изложили только несколько, с нашей точки зрения, важных особенностей, более подробную информацию по синтаксису можно всегда найти в справочной литературе.

DELETE

Удаляет строки из таблицы или из базовой таблицы представления, удовлетворяющие условию WHERE. Удаляет все строки, если условие WHERE не задано.

Пример:

Удаляем все записи из таблицы Праздничных дней.delete from prazdniki;

UPDATE

Изменяет существующие значения в таблице или в представлении (View).

Операции над объектами базы данных.

DROP

Эта команда удаляет объекты и ограничения из базы данных. Для этого действия требуются соответствующие привилегии. Например, для удаления общего канала связи базы данных требуется привилегия

DROP PUBLIC DATABASE LINK.

cluster_clause::=

contects_clause::=

EXPLAIN PLAN

Описывает каждый шаг плана выполнения оператора SQL и помещает (если задано) это описание в указанную таблицу

ROLLBACK (управление транзакцией)

Отменяет все изменения, сделанные до контрольной точки. Отменяет все изменения, произведенные в текущей транзакции, если контрольная точка не задана.

Команды управления привилегиями и ролями

REVOKE (системные привилегии и роли )

Отменяет системные привилегии и роли, ранее предоставленные пользователям и ролям. Действие, обратное команде GRANT (системные привилегии и роли ) .

REVOKE (привилегии доступа к объектам)

Отменяет привилегии доступа к определенному объекту, ранее предоставленные пользователям и ролям. Действие, обратное команде GRANT (привилегии доступа к объектам). CREATE ROLEСоздает роль.

SET ROLE (управление сеансом)

Разрешает заданную роль в текущем сеансе и запрещает псе другие роли пользователя. Должна выполняться в начале транзакции вместе с оператором SET TRANSACTION.

GRANT (системные привилегии и роли)

Предоставляет системные привилегии пользователям и ролям. Предоставляет роли пользователям и другим ролям.

GRANT (привилегии доступа к объектам)

Предоставляет привилегии доступа к определенным объектам (таблицам, представлениям, синонимам, пакетам, процедурам и т.д.) пользователям и ролям.

Назад | Содержание | Вперед

 

Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...