Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Оператори SQL




CREATE TABLE (створення таблиць)

CREATE TABLE <ім'я таблиці> (Ім'я стовпця 1, тип стовпця 1 [NOT NULL],..., Ім'я стовпця п, тип стовпця n [NOT NULL])

Тип стовпця:

CHAR (m) - рядок символів довжиною m (240 - max),

NUMBER - числові значення (+ або -, м.б. десяткова крапка, не більше 40

цифр),

NUMBER (m) - m - кількість цифр (m <= 40),

NUMBER (m, d) - d - кількість знаків після коми,

DATE - календарні дати.

Припустимо, треба створити таку таблицю:

Таблиця 10.1 Таблиця "Бюджет":

Номер теми Назва Бюджет
  α 250 000
  β 175 000
  γ 95 000

 

CREATE TABLE Themes <ВК> (Theme_number NUMBER (3) NOT_NULL, <BK>, Name CHAR (10), <BK>, Budget NUMBER (8,2)); <BK>

Розглянемо ще один приклад:

SQL> CREATE TABLE Співробітники (Таб_номер NUMBER (6),

Прізвище CHAR (15),

Посада CHAR (15),

Керівник NUMBER (6),

Дата_прийому DATE,

Оклад NUMBER (6,2),

Премія NUMBER (5,2),

Відділ NUMBER (3));

Специфікація максимальних довжин не означає обов'язкового відповідного витрачання фізичної пам'яті БД.

INSERT INTO (Вставка записів)

Вставка записів в таблицю здійснюється за допомогою оператора INSERT, який дозволяє додавати до таблиць одну або кілька записів. При додаванні одного запису оператор INSERT має формат:

INSERT INTO <ім'я таблиці>

(ім'я стовпця 1,..., ім'я стовпця п)

VALUES (значення 1,..., значення п);

В результаті виконання цього оператора до таблиці, ім'я якої вказане після слова INTO, додається один запис. Для додавання запису заповнюються поля перераховані в списку. Значення полів беруться зі списку, розташованого після слова VALUES. Списки полів і списки значень повинні відповідати один одному по числу і по типу їх елементів. При присвоєнні значень для першого поля береться перше значення, для другого - друге і т. д. У команді INSERT можна вказувати імена тільки тих стовпців, в які вводяться значення, решта стовпці залишаються порожніми, тобто приймають значення NULL.

Приклад. Додаємо інформацію в таблицю "Співробітники":

INSERT INTO Співробітники

VALUES (4954, 'Карпов', 'Бугалтер', 7698, '4 NOV 86 ', 120, NULL, 30);

Порядок введення значень повинен відповідати оголошеному порядку стовпців у таблиці. У команді INSERT можна вказувати не всі стовпці, які виявляться порожніми.

Приклад:

INSERT INTO Співробітники (ТабНомер, Прізвище, Дата прийому, Відділ)

VALUES (7954, 'Волков', '10 NOV 86 ', 30);

 

UPDATE (Редагування записів)

Редагування записів - це зміна значень полів в групі записів. Воно виконується оператором UPDATE:

UPDATE <ім'я таблиці>

SET <ім'я стовпця 1> = <вираз 1>

(<ім'я стовпця 2> = <вираз 2>,...)

[WHERE <умова відбору>];

У всіх записах, що задовольняють умові відбору, змінюються значення полів. Ім'я стовпця вказує модифікуються поле всієї сукупності записів, а вираз визначає значення, які будуть присвоєні цьому полю.

• Критерій відбору, вказаний в операнді WHERE, не відрізняється від критерію, заданого в операторі SELECT. Якщо він не заданий, то змінюються значення всіх зазначених полів. Критерій відбору може варіюватися від найпростішого, в якому порівнюються два значення, до складного, коли враховується багато факторів.

• Критерій відбору являє собою логічне вираження, у якому можна використовувати наступні операції:

 

ОПЕРАЦІЇ МОВИ SQL

 

Операції порівняння

= > < >= <= <> або!= !> !< LIKE IS NULL IN BETWEEN Дорівнює Більше Менше Більше або дорівнює Менше або дорівнює Не дорівнює Не більше Не менше Порівняння за шаблоном Перевірка нульового значення Перевірка входження Перевірка входження в діапазон

 

Логічні операції

AND OR NOT Круглі дужки Логічне І Логічне АБО Логічне НЕ Підвищення пріоритету

 

Запишемо ряд логічних правил SQL:

1. У мові SQL пріоритет операцій порівняння вище пріоритету логічних операцій.

2. Оператор AND означає, що загальний предикат буде істинним тільки тоді, коли умови, пов'язані з "AND", будуть істинні.

3. Оператор OR означає, що загальний предикат буде істинним, коли хоча б одна з умов, пов'язаних з "OR", буде істинним.

4. Оператор NOT означає, що загальний предикат буде істинним, коли умова, перед яким стоїть цей оператор, буде помилковим.

5. В одному предикаті логічні оператори виконуються в наступному порядку: спочатку виконується оператор NOT, потім - AND і тільки після цього - оператор OR. Для зміни порядку виконання операторів дозволяється використовувати дужки.

 

Приклад. Збільшимо Вороніну оклад на 10%: UPDATE Співробітники SET Оклад = Оклад * 1.1 WHERE ТабНомер = 7738;

 

Приклад. Збільшити оклад аналітиків та економістів відділу 20 на 15%:

UPDATE Співробітники SET Оклад = Оклад * 1,15

WHERE (Посада = 'Аналітик' OR Посада = 'Економіст') AND Відділ = 20;

Якщо відсутня пропозиція WHERE, оновлюються всі рядки. Пропозиція WHERE може містити запит, в цьому випадку будуть оновлюватися рядки, що задовольняють цьому запиту.

 

Приклад. Збільшити оклад співробітників, що містяться в таблиці "Список":

UPDATE Співробітники SET Оклад = Оклад * 1,05 WHERE Прізвище IN (SELECT Прізвище FROM Список) Пропозиція SET теж може містити запит.

 

Приклад. Встановити оклад економістам як у співробітника з номером 7456: UPDATE Співробітники SET Оклад =

(SELECT Оклад FROM Співробітники WHERE Табномер = 7456) WHERE Посада = 'Економіст';

 

DELETE (Видалення записів)

Для видалення записів використовується оператор DELETE, що має формат:

DELETE FROM <ім'я таблиці> WHERE <умова відбору>;

З таблиці, ім'я якої вказане після слова FROM, видаляються всі записи, які задовольняють критерію відбору.

 

Приклад. Видалити з таблиці "Співробітники" запис про економіста Вороніна:

DELETE FROM Співробітники WHERE Табномер = 7738

або

DELETE FROM Співробітники

WHERE Прізвище = 'Воронін' AND Посада = 'Економіст'

 




Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 632; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.023 сек.