2.85M
Категория: Базы данныхБазы данных

SQL Lection3 v3

1.

Типы данных
Числовые
Строковые
Календарные

2.

Числовые
Tinyint, smallint, mediumint, int, bigint
BOOL = Tinyint(1) = Bit (1) = ENUM (0,1)
Float (m,d), Double (m,d) = REAL, Decimal(m,d) =
NUMERIC

3.

Строковые
CHAR (m), VARCHAR (m)
TEXT and BLOB (tiny, medium and long)
ENUM, SET

4.

Календарные
Date (YYYY-MM-DD)
Datetime (YYYY-MM-DD HH:MM:SS)
Timestamp (YYYYMMDDHHMMSS)
Year (YYYY)
Time (HH:MM:SS)

5.

Дополнительные
NOT NULL
DEFAULT
UNIQUE
AUTO_INCREMENT
ZEROFILL

6.

DDL (Data Definition Language) - язык описания
данных
DML (Data Manipulation Language) - язык управления
(манипулирования) данными
DQL - Data Query Language - язык запросов

7.

DDL
CREATE
ALTER
DROP

8.

DDL
CREATE TABLE table1
(column1 datatype EXTRA CONDITIONS,
PRIMARY KEY (column),
FOREIGN KEY (column) REFERENCES table2(COLUMN_F)

9.

DDL
ALTER TABLE table1
ADD column_name date_type
DROP Column_name
MODIFY column_name datetype

10.

DML
INSERT
UPDATE
DELETE

11.

DML
INSERT INTO table_name VALUES (v1, v2, v2,,v4,v5);
INSERT INTO table_name (colum A, column B, column
X) VALUES (a, b, x);

12.

DML
UPDATE tablename
SET column1 = value1, column15=value15
WHERE условие
DELETE FROM tablename WHERE условие;

13.

DQL
SELECT
DISTINCT
WHERE
AND/OR, IN/BETWEEN, LIKE
ORDER BY

14.

SELECT DISTINCT colum1, column 2…
FROM table where условие;
LIKE используется при работе со строками, чтобы
вывести записи, текст которых совпадает с патерном.
% - задаёт любую последовательность символов
_ - задаёт 1 символ.
[] задаёт диапазон
^ отрицание
Например:
where address like %1%

15.

DQL
Aggregate functions
AVG() - Возвращает среднее значение аргумента
COUNT() - Подсчитывает количество записей
FIRST() – Возвращает первое значение
LAST() – Возвращает последнее значение
MAX() - Возвращает наибольшее из всех выбранных значений
MIN() - Возвращает наименьшее из всех выбранных значений
SUM() – Возвращает сумму значений

16.

DQL
Scalar functions
UCASE() – Конвертирует поле в upper case
LCASE() - Конвертирует поле в lower case
MID(str,pos,len) - Возвращает подстроку строки str
длиною len символов с позиции pos
LENGTH() – Возвращает длину текстового поля
ROUND() - Возвращает аргумент, округленный до
ближайшего целого числа
NOW() / SYSDATE () – Возвращает текущую дату и
время

17.

DQL
GROUP BY
HAVING
SELECT column_name, aggregate_function(column_name)
FROM table_name
WHERE column_name operator value
GROUP BY column_name
HAVING aggregate_function(column_name) operator value;

18.

DQL
[INNER] JOIN
LEFT [OUTER] JOIN
RIGHT [OUTER] JOIN
FULL [OUTER] JOIN
CROSS JOIN

19.

DQL
SELECT column1, column2, column3
FROM table1
INNER JOIN table2 ON table1_pk = table2_fk

20.

[INNER] JOIN

21.

LEFT [OUTER] JOIN
table2

22.

RIGHT [OUTER] JOIN
table1

23.

FULL [OUTER] JOIN

24.

CROSS JOIN
table1
x
table2

25.

JOIN
LEFT JOIN
RIGHT JOIN
A
B
A
B
A
B
A
B
1
3
3
3
1
null
3
3
2
4
4
4
2
null
4
4
3
5
3
3
null
5
4
6
4
4
null
6

26.

FULL JOIN
A
B
A
B
1
3
1
null
2
4
2
null
3
5
3
3
4
6
4
4
null
5
null
6

27.

DQL
Подзапросы
Замкнутый (Внутренний запрос повторяется один раз)
Коррелированный (Внутренний запрос зависит от
внешнего для всех его значений)

28.

DQL
Подзапросы
SELECT * FROM Employees
WHERE Department_id_fk in (select Department_id
from Department WHERE Location = 'Dallas');

29.

DQL
UNION
Select col1, col2, col3 from table1
UNION
Select col1, col2, col3 from table2
English     Русский Правила