Тема 3.2.1 Введение в SQL. Типы данных

advertisement
История развития языка SQL
Structured Query Language
’ɛs’kju’ɛl или ‘si:kwəl
DML (Data Manipulation Language)
DDL (Data Definition Language)
DCL (Data Control Language)
TCL (Transaction Control Language)
DML
SELECT
INSERT
UPDATE
DELETE
DDL
CREATE DATABASE
CREATE TABLE
CREATE VIEW
CREATE INDEX
CREATE TRIGGER
CREATE PROCEDURE
ALTER DATABASE
ALTER TABLE
ALTER VIEW
ALTER INDEX
ALTER TRIGGER
ALTER PROCEDURE
DROP DATABASE
DROP TABLE
DROP VIEW
DROP INDEX
DROP TRIGGER
DROP PROCEDURE
DCL
GRANT
REVOKE
TCL
COMMIT
ROLLBACK
SAVEPOINT
SET TRANSACTION
Типы данных
INTEGER
SMALLINT
DECIMAL(p,q)
FLOAT
CHAR(n)
VARCHAR(n)
DATE
TIME
DATETIME
MONEY
-0,123 может быть записано как -12.3е-2
Пример
БЛ
Блюдо
В
Основа
Выход
Труд
1
Салат летний
З
Овощи
200
3
2
Салат мясной
З
Мясо
200
4
3
Салат витаминный
З
Овощи
200
4
4
Салат рыбный
З
Рыба
200
4
5
Паштет из рыбы
З
Рыба
120
5
6
Мясо с гарниром
З
Мясо
250
3
CREATE TABLE Блюда
(БЛ
SMALLINT,
Блюдо CHAR (70),
В
CHAR (1),
Основа CHAR (10),
Выход FLOAT,
Труд
SMALLINT);
Предложение SELECT
SELECT [ALL | DISTINCT] в_выражение, ...
FROM имя_табл [син_табл], ...
[WHERE сложн_условие]
[GROUP BY полн_имя_столбца|ном_столбца, ...]
[ORDER BY полн_имя_столбца|ном_столбца
[ASC|DESC], ...]
[HAVING сложн_условие];
WHERE [NOT] WHERE_условие
[[AND|OR][NOT] WHERE_условие]...
значение { = | <> | < | < = | > | > = } { значение | ( подзапрос ) }
значение_1 [NOT] BETWEEN значение_2 AND значение_3
значение [NOT] IN { ( константа [,константа]... ) | ( подзапрос ) }
значение IS [NOT] NULL
[таблица.]столбец [NOT] LIKE 'строка_символов' [ESCAPE 'символ']
EXISTS ( подзапрос )
GROUP BY [таблица.]столбец [,[таблица.]столбец] ... [HAVING фраза]
HAVING [NOT] HAVING_условие [[AND|OR][NOT] HAVING_условие]...
Простая выборка
SELECT
Основа
FROM Блюда;
SELECT DISTINCT Основа
Основа
FROM Блюда;
Овощи
Мясо
Овощи
Основа
Рыба
Овощи
Рыба
Мясо
Мясо
Рыба
Выборка c использованием фразы WHERE
SELECT Продукт, Белки, Жиры, Углев, K, Ca, Na, B2, PP, C
FROM Продукты
WHERE Углев = 0
SELECT Продукт, Белки, Жиры, Углев, K, Ca, Na, B2, PP, C
FROM Продукты
WHERE Углев = 0 AND Na = 0;
Использование BETWEEN
SELECT
Продукт, Белки
FROM Продукты
WHERE
Белки BETWEEN 10 AND 50;
SELECT
Продукт, Белки, Жиры
FROM Продукты
WHEREБелки NOT BETWEEN 10 AND 50 AND Жиры > 100;
Пример
Таблица
Минимальные
оклады
Миноклад
Начало
Конец
2250
01-01-1993
31-03-1993
4275
01-04-1993
30-06-1993
7740
01-07-1993
30-11-1993
14620
01-12-1993
30-06-1994
20500
01-07-1994
09-09-9999
SELECT
Начало, Миноклад
FROM Миноклады
WHEREНачало BETWEEN '1-9-1993' AND '31-8-1994'
Начало
Миноклад
01-12-1993
14620
01-07-1994
20500
Синтаксис оператора GRANT
GRANT privilege_list ON table_name TO user_name
Синтаксис оператора REVOKE
REVOKE privilege_list ON table_name FROM user_name
Download