Здесь показаны различия между двумя версиями данной страницы.
Предыдущая версия справа и слева Предыдущая версия Следующая версия | Предыдущая версия | ||
subjects:programming:sql [2017/06/01 20:03] ¶ |
subjects:programming:sql [2023/12/27 15:08] ¶ |
||
---|---|---|---|
Строка 1: | Строка 1: | ||
====== SQL ====== | ====== SQL ====== | ||
+ | **''SQL''** -- Structured Query Language (//язык структурированных запросов//), т.е. язык программирования, применяемый для создания, модификации и управления данными в реляционной базе данных, управляемой соответствующей системой управления базами данных. | ||
+ | |||
===== Классификация SQL команд или что есть DML, DDL, DCL и TCL ===== | ===== Классификация SQL команд или что есть DML, DDL, DCL и TCL ===== | ||
==== Data Manipulation Language (работа со строками) ==== | ==== Data Manipulation Language (работа со строками) ==== | ||
Строка 139: | Строка 141: | ||
* instr(string1, string2[, a][, b]) - возвращает b вхождение строки string2 в строке string1 начиная с позиции a. Если a отрицательно, то поиск происходит справа. По умолчанию a и b присваиваются значение 1. В MySQL последние два аргумента не поддерживаются. В PostgreSQL данной функции нет, однако ее реализация дана в документации, как раз для совместимости с Oracle; | * instr(string1, string2[, a][, b]) - возвращает b вхождение строки string2 в строке string1 начиная с позиции a. Если a отрицательно, то поиск происходит справа. По умолчанию a и b присваиваются значение 1. В MySQL последние два аргумента не поддерживаются. В PostgreSQL данной функции нет, однако ее реализация дана в документации, как раз для совместимости с Oracle; | ||
* substr(string, pos, len) - возвращает подстрку с позиции pos и длины len. | * substr(string, pos, len) - возвращает подстрку с позиции pos и длины len. | ||
+ | |||
+ | |||
+ | **Пример:** | ||
+ | <code sql> | ||
+ | UPDATE `table_name` | ||
+ | SET `field_name` = REPLACE(`field_name`, 'что_заменить', 'чем_заменить') | ||
+ | WHERE доп_условие_если_нужно; | ||
+ | </code> | ||
==== Статистические ==== | ==== Статистические ==== | ||
Строка 147: | Строка 157: | ||
Синтаксис функции COUNT: | Синтаксис функции COUNT: | ||
- | SELECT COUNT(expression) FROM table WHERE predicates; | + | <code sql> |
+ | SELECT COUNT(expression) FROM table WHERE predicates; | ||
+ | </code> | ||
Функция COUNT принимает один из нескольких параметров: | Функция COUNT принимает один из нескольких параметров: | ||
- | * — означает то, что функция COUNT возвращает все записи в таблице; | + | * %%*%% — означает то, что функция COUNT возвращает все записи в таблице; |
- | column_name — функция COUNT возвращает количество записей конкретного столбца (только NOT NULL); | + | * column_name — функция COUNT возвращает количество записей конкретного столбца (только NOT NULL); |
- | DISTINCT column_name — функция COUNT возвращает количество только разных записей конкретного столбца (только NOT NULL). | + | * DISTINCT column_name — функция COUNT возвращает количество только разных записей конкретного столбца (только NOT NULL). |
== Примеры SQL COUNT == | == Примеры SQL COUNT == | ||
- | |||
- | |||
Напишем запрос SELECT COUNT, возвращающий количество записей в таблице users. | Напишем запрос SELECT COUNT, возвращающий количество записей в таблице users. | ||
- | SELECT COUNT(*) FROM users; | + | <code sql> |
+ | SELECT COUNT(*) FROM users; | ||
+ | </code> | ||
Напишем запрос, возвращающий количество записей столбца User_ID в таблице users, дата которых равна «20.05.2012». | Напишем запрос, возвращающий количество записей столбца User_ID в таблице users, дата которых равна «20.05.2012». | ||
- | SELECT COUNT(User_ID) FROM users WHERE date = «20.05.2012»; | + | <code sql> |
+ | SELECT COUNT(User_ID) FROM users WHERE date = «20.05.2012»; | ||
+ | </code> | ||
Теперь получим количество только разных записей столбца User_ID. | Теперь получим количество только разных записей столбца User_ID. | ||
- | SELECT COUNT(DISTINCT User_ID) FROM users; | + | <code sql> |
+ | SELECT COUNT(DISTINCT User_ID) FROM users; | ||
+ | </code> | ||
=== Функция SQL AVG === | === Функция SQL AVG === | ||
Строка 176: | Строка 192: | ||
Рассмотрим пример. Допустим в таблице Price есть столбец Price_unit. В этой таблице содержатся 5 записей. Значения полей столбца Price_unit 3, 5, 14, 38 и 83. Выполним запрос, возвращающий среднее значение столбца Price_unit | Рассмотрим пример. Допустим в таблице Price есть столбец Price_unit. В этой таблице содержатся 5 записей. Значения полей столбца Price_unit 3, 5, 14, 38 и 83. Выполним запрос, возвращающий среднее значение столбца Price_unit | ||
- | SELECT AVG(Price_unit) AS PriceAvg FROM Price; | + | <code sql> |
+ | SELECT AVG(Price_unit) AS PriceAvg FROM Price; | ||
+ | </code> | ||
Результатом выполнения запроса будет | Результатом выполнения запроса будет | ||
- | PriceAvg = 28,6 | + | <code sql> |
+ | PriceAvg = 28,6 | ||
+ | </code> | ||