Мова SQL. Оператори створення та видалення об’єктів баз даних. Оператори пошуку інформації. Агрегатні функції. Вкладені запити
ФОРМАТИ КОМАНД SQL ACCESS
1. Типи запитів SQL ACCESS
1.1. CREATE TABLE – створити таблицю (визначити структуру таблиці)
1.2. CREATE INDEX – створити індекс, в т.ч. складений
1.3. INSERT - вставити (додати) дані (рядок або із іншої таблиці/запиту)
1.4. UPDATE - оновити дані (поля) в таблиці
1.5. DELETE – видалити рядки із таблиці
1.6. ALTER TABLE - змінити структури таблиці (додати поле –ADD, видалити – DROP)
1.7. DROP TABLE - видалити таблицю(і).
1.8. DROP INDEX - видалити індекс
Оператор SELECT
1.9. SELECT - вибірка
1.10. SELECT ... INTO – створити таблицю під час запиту
Оператор UNION
1.11. SELECT ... UNION SELECT ...
2. Створити таблицю:
CREATE TABLE Ім’яТаблиці (поле1 тип [(nРозмір[,nТочність]]
[PRIMARY KEY|UNIQUE][, поле2 тип [(nРозмір[,nТочність]][індекс2]][, … ]
[, CONSTRAINT ім’яСоставногоІндексу PRIMARY KEY|UNIQUE] (полеN[,поле M …]]);
де тип – text, smallinteger, integer, single, date, memo ……
Приклад : CREATE TABLE WWW5 (P1 TEXT(2), P4 TEXT (4) ,
CONSTRAINT RR PRIMARY KEY (P1, P4) );
3. Зміни властивостей таблиці програмними засобами
Ця команда дозволяє вам робити практично все з таблицями, що являються частиною бази даних
додати поле
ALTER TABLE Ім’яТаблиці1
ADD [COLUMN] Ім’яПоля1 Тип поля [ (nРозмір [,nТочність])]
[ NULL | NOT NULL]
[CONSTRAINT ім’я PRIMARY KEY | UNIQUE (Ім’яПоляN, Ім’яПоляM];
Наприклад: додати 2 поля і составний індекс
ALTER TABLE WWW5 ADD P2 TEXT(6),P3 TEXT (4),
CONSTRAINT RR1 UNIQUE (P2, P3) );
додати составний індекс
ALTER TABLE Ім’яТаблиці1
ADD [CONSTRAINT ім’я PRIMARY KEY | UNIQUE (Ім’яПоляN, Ім’яПоляM]
Наприклад: ALTER TABLE WWW5 ADD CONSTRAINT NN3 UNIQUE (P1,P3);
DROP TABLE Ім’яТаблиці1
ALTER TABLE Ім’яТаблиці1 DROP COLUMN Ім’яПоля1
ALTER TABLE Ім’яТаблиці1 DROP CONSTRAINT ім’я
Наприклад:
ALTER TABLE WWW5 DROP CONSTRAINT EE;
Додати значення у всі поля
INSERT INTO Ім’яТаблиці1 VALUES (Значення1, Значення2,…, ЗначенняN)
Додати рядок зі значеннями лише у деяких полях
INSERT INTO Ім’яТаблиці1 (Ім’яПоляN, ..., Ім’яПоляM )VALUES (ЗначенняN, …,ЗначенняM)
Наприклад: INSERT INTO www5 (p1,p4) VALUES (“03”,”t121”)
Приклад
UPDATE DISTINCTROW ace
INNER JOIN sale ON ace.pol1=sale.pol1
SET ace.summa=summa*5,25
WHERE (((sale.summa)>20000));
SQL-92 таJet SQL
Мова SQL є найбільш поширеною мовою визначення (DDL) та маніпулювання (DML) в сучасних СКБД. Тому для забезпечення єдності граматичних конструкцій мови та їх семантики в 1989 р. ANSI було розроблено перший стандарт SQL, в 1992 – другий. Мова, що відповідає цьому стандарту, позначається SQL-92 або SQL/2. На даний час розроблено стандарт SQL/3, але у більшості СКБД за основу взято SQL/2. Оскільки стандарт має рекомендований характер (іншим він і не може бути), кожний із розробників СКБД в силу різних причин розробляли свої версії SQL, тобто кожна СКБД має свій діалект мови SQL. Так, СКБД Access має свою реалізацію SQL –Jet SQL. Він має деякі відмінності від SQL/2, зокрема є відмінності в операторі SELECT. Так, основна структура оператора SELECT в SQL/2 має таку граматику:
SELECT[ DISTINCT] [DISTINCTROW]{* | <список атрибутів проекції >}
[WHERE <умова вибірки (до групування)>]
[GROUP BY <ім'я атрибута >]
[HAVING <умова вибірки (після групування)>]
[ORDER BY <список атрибутів > [ASC|DESC] ]
Але в Jet SQL (Access SQL) граматична конструкція фрагменту FROM ... має інший вигляд. Справа в тому, що в SQL-92 закладена класичне із реляційної алгебри θ-з’єднання таблиць, що перелічені після ключового слова FROM. Умова θ-з’єднання задається після ключового слова WHERE.
Приклад. Таблиці TCHS та POST містять такі дані
TCHS POST
CdTh |
NmTh |
CdPs |
CdCf |
CdPs |
NmPs |
NrNv |
|
3 |
Середа І.С. |
01 |
6 |
01 |
професор |
600 |
|
5 |
Бандура В.М. |
02 |
6 |
02 |
доцент |
700 |
|
6 |
Мунтян Р.Д. |
01 |
7 |
03 |
старший викладач |
750 |
|
11 |
Сірко В.В. |
02 |
7 |
04 |
викладач |
800 |
|
15 |
Оприско Ю.Й. |
02 |
2 |
||||
17 |
Колчак А.Д. |
05 |
12 |
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.