Справочник функций, терминов mySQL
Имя функции или название понятия | Начало описания (пройдите по ссылке для полного просмотра) | |
---|---|---|
ABS () |
ABS(x)
Ця функція повертає абсолютне значення аргументу х.
ABS(13.5) ->13.5 |
|
ACOS () |
ACOS(x)
Ця функція повертає арккосинус аргументу х або значення NULL, якщо х не знаходиться в діапазоні від -1 до +1.
ACOS(1) ->0.000000
Функція ACOS() вперше з'явилась в MySQL 3.21.8. |
|
ADDDATE () |
|
|
ALL |
Оператор ALL |
|
ALTER FUNCTION |
Для зміни характеристик процедури призначений синтаксис ОПЕРАТОРА ALTER PROCEDURe. Редагування збереженої функції виконується за допомогою оператора ALTER FUNCTION. Оператори мають наступний синтаксис: ALTER PROCEDURE sp_name [characteristic ...] ALTER FUNCTION sp_name [characteristic ...] Характеристика characteristic може приймати такі значення: |
|
ALTER PROCEDURE |
Для зміни характеристик процедури призначений синтаксис ОПЕРАТОРА ALTER PROCEDURe. Редагування збереженої функції виконується за допомогою оператора ALTER FUNCTION. Оператори мають наступний синтаксис: ALTER PROCEDURE sp_name [characteristic ...] ALTER FUNCTION sp_name [characteristic ...] Характеристика characteristic може приймати такі значення: |
|
ALTER VIEW |
Для редагування переглядів призначений оператор alter view, який має наступний синтаксис: alter [algorithm - {undefined i merge | temptable}] view view_name [ (column_list) ] as select_statement [with [cascaded | local] check option]
Приклад: |
|
AND |
Припустимо ви хочете отримати всіх замовників в Далласі, які мають рейтинг вище 200:
SELECT * FROM Customers WHERE city = 'Dallas' AND rating > 200;
При використанні оператора And, повинні бути виконані обидві умови, тобто повинні бути вибрані всі замовники з Далласа, рейтинг яких більше 200.
|
|
ASIN () |
ASIN(x)
Ця функція повертає арксинус аргументу х або значення NULL, якщо х не знаходиться в діапазоні від -1 до +1.
ASIN(1) ->1.570796
Функція ASIN() вперше з'явилась в MySQL 3.21.8. |
|
ATAN () |
ATAN(x) ATAN(y, x)
Ця функція повертає арктангенс аргументу х.
ATAN(1) ->0.785398
Функція ATAN() вперше з'явилась в MySQL 3.21.8. |
|
AVG () |
Повертає середнє значення аргументу expr |
|
BETWEEN |
Оператор BETWEEN схожий на оператора IN. Відмінність полягає в тому, що IN перераховує всі значення, BETWEEN визначає діапазон, тобто предикат стане вірним тілько тоді, коли значення стовпця, пополо у вказаний діапазон. В запиті вказуємо BETWEEN з початковим значенням, потім AND і кінцеве значення. |
|
BIGINT |
BIGINT. Найбільший тип для цілих чисел. Використовує вісім байт для діапазону значень.
|
|
BIN () |
|
|
BIT_LENGTH () |
|
|
CASE |
Оператор CASE Оператор CASE дозволяє здійснити множинний вибір і має дві форми. Синтаксис першої форми оператора виглядає наступним чином: CASE case_value WHEN when_value THEN statement_list [WHEN when_value THEN statement_list] ... [ELSE statement_list] END CASE Синтаксис другої форми: CASE WHEN search_condition THEN statement_list |
|
CAST () |
CAST(expr AS type)
Перетворювати тип значення expr в заданий тип. Значення type може бути BINARY(подвійний рядок), DATE, DATETIME, TIME, SIGNED, SIGNED INTEGER, UNSIGNED або UNSIGNED INTEGER.
CAST(304 AS BINARY) >'304'
|
|
CEILING () |
CEILING(x)
Ця функція повертає найменше ціле не менше аргументу х.
CEILING(3.8) ->4 |
|
CHAR |
CHAR. Використовується для збереження рядків фіксованої довжини. Після CHAR зазвичай вказується довжина в символах. Якщо ж довжину не вказати то рахується, що тип має довжину в 1 символ. Максимальна довжина поля 255 символів. Якщо рядок менший за довжину типу, то він буде доповнений пробілами, якщо більша то обрізана. При поверненні значення пробіли видаляються СКБД автоматично |
|
CHAR () |
|
|
CHARACTER_LENGTH () |
|
|
CHAR_LENGTH () |
|
|
CONCAT () |
|
|
CONCAT_WS () |
|
|
CONV () |
|
|
COS () |
COS(x)
Ця функція повертає косинус аргументу х, заданого в радіанах.
OS(0) ->1.000000
Функція COS() вперше з'явилась в MySQL 3.21.8. |
|
COT () |
COT(x)
Ця функція повертає котангенс аргументу х, заданого в радіанах.
COT (PI() / 2) ->0.000000
Функція COТ() вперше з'явилась в MySQL 3.21.8. |
|
COUNT () |
|
|
CRC32 () |
CRC32(str) Вираховує значення коду циклічної перевірки збитковості аргументу, який являється рядком. Повернуте число є 32-бітовим значенням без знака в діапазоні від 0 до 2^32-1 або NULL, якщо аргумент має значення "NULL".
CRC32('xyz') ->3951999591 CRC32('0') ->4108050209 |
|
CREATE FUNCTION |
Збережені функції Крім форми CREATE PROCEDURE, що створює процедуру, допускається використання create function, яка створює функцію. Функція на відміну від процедури може викликатися безпосередньо, без використання оператора CALL і повертати одне значення, яке підставляється на місце виклику функції, як у випадку вбудованих функцій MySQL. |
|
CREATE PROCEDURE |
CREATE PROCEDURE sp_name ([parameter [,...]]) [characteristic ...] routine_body CREATE FUNCTION sp_name ([parameter[,...]]) RETURNS type [characteristic ...] routine_body |
|
CREATE TRIGGER |
Оператор create trigger дозволяє створити новий тригер і має наступний синтаксис: create trigger trigger_name trigger_time trigger_event on tbl_name for each row trigger_stmt Оператор create trigger створює trigger_name, прив'язаний до таблиці tbl_name. Таблиця повинна існувати фізично, тобто не допускається прив'язка тригера до тимчасової таблиці або перегляду. |
|
CREATE USER |
Оператор create user дозволяє створити новий обліковий запис і має наступний синтаксис: CREATE USER user [IDENTIFIED BY [PASSWORD] 'password'] Оператор створює обліковий запис user з необов'язковим паролем password. У прикладі представлений запит, створює користувача softtime. Зауваження: |
|
CREATE VIEW |
Створення переглядів здійснюється за допомогою оператора create view, який має наступний синтаксис:
CREATE [or replace] [algorithm = {undefined | merge | temptable}] VIEW view_name [(column_list)] AS select_statement [with [cascaded | local] check option]
|
|
CURDATE () |
|
|
CURRENT_DATE () |
|
|
CURRENT_TIME () |
|
|
CURRENT_TIMESTAMP () |
|
|
CURTIME () |
|
|
DATE |
DATE. Тип використовується для збереження дат в форматі РРРР-ММ-ДД |
|
DATETIME |
DATETIME. Комбінація двох попередніх типів у форматі РРРР-ММ-ДД ГГ:ХХ:СС |
|
DATE_ADD () |
|
|
DATE_FORMAT () |
|
|
DATE_SUB () |
|
|
DAYNAME () |
|
|
DAYOFMONTH () |
|
|
DAYOFWEEK () |
|
|
DAYOFYEAR () |
|
|
DEGREES () |
DEGREES(x)
Ця функція повертає значення аргументу х, перетвореного з радіан в градуси.
DEGREES(PI() ) ->180
Функція DEGREES() вперше з'явилась в MySQL 3.21.16. |
|
DELETE |
Оператор DELETE знищує з таблиці рядки, що задовольняють заданим у where_definition умовам, і повертає кількість вилучених записів. Якщо оператор DELETE запускається без визначення WHERE, то знищуються всі рядки. Синтаксис: |
|
DESC, ASC |
DESC, ASC Desc-descedent, вивід даних в зворотньому порядку (за абеткою і чисельним значенням). По замовчанню використовується ASC. |
|
DISTINCT |
DISTINCT.
|
|
DOUBLE |
DOUBLE. Також з плаваючою крапкою. Тип підвищеної точності використовує 8 байт для збереження числа. Діапазон значень +-10^38. |
|
DROP FUNCTION |
Для удаления хранимых функций необходимо использовать специальный оператор DROP FUNCTION Приклад: DROP FUNCTION test; |
|
DROP PROCEDURE |
DROP PROCEDURE [IF EXISTS] nameproc Оператор DROP ROCEDURE дозволяє видалити збережену процедуру nameproc. Якщо процедури з таким ім'ям не існує, синтаксис оператора повертає помилку, яку можна поглинути, якщо використовувати необов'язкове ключове слово IF EXISTS. |
|
DROP TRIGGER |
Оператор DROP TRIGGER дозволяє видаляти існуючі тригери і має наступний синтаксис: DROP TRIGGER tbl_name.trigger_name Оператор видаляє тригер з ім'ям trigger_name таблиці tbl_name. У прикладі демонструється видалення тригера restrict_user таблиці users, створеного в прикладах вище. Приклад. Видалення тригера |
|
DROP USER |
Оператор DROP USER дозволяє видалити обліковий запис user і має наступний синтаксис: DROP USER user Як обліковий запис user використовується Стандартний для MySQL запис виду 'username' @ 'host'. Зауваження:
Приклад: |
|
DROP VIEW |
Для видалення переглядів призначений оператор drop view, який має наступний синтаксис:
DROP VIEW [IF EXISTS] view_name [, view_name] ...
Оператор drop view дозволяє знищити перегляд або відразу кілька переглядів за їхніми іменами (наступний приклад).
Приклад: DROP VIEW cat, tbl1, tbl2;
|
|
ELT () |
|
|
ENUM |
ENUM. Цей тип зберігає набір значень. Наприклад , ENUM(`m`,`a`,`z`). |
|
EXISTS |
Використовується в підзапитах.
SELECT cnum, cname, city FROM Customers WHERE EXISTS
|
|
EXP () |
EXP(x)
Ця функція повертає значення e в степені х, де e - це основа натурального логарифма.
EXP(1) ->2.718282 |
|
EXTRACT () |
|
|
FIELD () |
|
|
FLOAT |
FLOAT. Це числа з плаваючою крапкою. Точність чотири байти. Може містити значення від 1.18 на 10 в мінус 38 степені до 3.4 на 10 в 38 степені.
|
|
FLOOR () |
FLOOR(x)
Ця функція повертає найбільше ціле значення, яке не більше аргументу х.
FLOOR(3.8) ->3 |
|
FOREІGN KEY |
FOREІGN KEY [іndex_name] (іndex_columns) |
|
FROM_DAYS () |
|
|
GOTO |
Оператор GOTO Оператор goto дозволяє здійснювати безумовний перехід і має наступний синтаксис: GOTO label; |
|
GRANT |
Оператор GRANT |
|
GREATEST () |
GREATEST( expr 1, expr 2, . . .)
Повертає найбільший аргумент. Найбільший серед заданих аргументів визначається згідно з наступними правилами. Якщо всі задані в функції аргументи являються цілими значеннями, то вони порівнюються як цілі. |
|
GROUP BY |
Вираз GROUP BY дозволяє виділити підмножини значень в полі і застосовувати функцію СУБД до підмножини. Це дає можливість об'єднувати поля і функції в єдиному виразі SELECT. Наприклад, припустимо що ви хочете знайти найбільшу суму від продажу отриману кожним продавцем. Ви можете зробити окремий запит для кожного з продавців, вибравши MAX () з таблиці для значень поля. |
|
HAVING |
HAVING відфільтровує значення за умовою, відображаються лише ті значення які перетворюють умову в вірну рівність. Наприклад:
SELECT cid,cname,price,max(price) |
|
HEX () |
|
|
HOUR () |
|
|
IF () |
IF(expr1, expr2, expr3) Якщо аргумент expr1 правильний(не 0 або NULL), повертається аргумент expr2. В іншому випадку ця функція аргумент expr3. Функція IF() повертає число або рядок у відповідності з контекстом, в якому задається.
|
|
IF...THEN...ELSE |
Оператор IF...THEN...ELSE Оператор if дозволяє реалізувати розгалуження програми за умовою і має наступний синтаксис: IF search_condition THEN statement_list [ELSEIF search_condition THEN statement_list] ... [ELSE statement_list] END IF |
|
IFNULL () |
IFNULL(expr1, expr2)
Ця функція повертає аргумент expr2, якщо вираз expr1 має значення NULL. В іншому випадку ця функція повертає значення expr1. Функція INFULL() повертає число або рядок в залежності від контексту, в якому задається.
IFNULL(NULL, 'NULL') -> 'NULL' |
|
IN |
Оператор IN визначає набір значень в яке дане значення може або не може бути включене. Наприклад запит
SELECT * FROM Salespeople WHERE city = 'Barcelona' OR city = 'London';
може бути переписаний простіше:
SELECT * FROM Salespeople WHERE city IN ( 'Barcelona', 'London' );
|
|
INSERT |
INSERT — оператор мовиSQL, котрий додає рядки в таблицю. В реляційній СКБД можна визначити два варіанти оператора INSERT. Однорядковий оператор INSERT дозволяє додавати в таблицю один новий рядок. Він широко використовується в повсякденних аплікаціях, наприклад програмах введення даних. |
|
INSERT () |
|
|
INSTR () |
|
|
INTEGER (INT) |
INTEGER (INT). Ціле число довжиною в 4 байти. Тобто може зберігати значення до двох у тридцять другому степені. Є декілька підтипів цього типу.
|
|
ISNULL () |
ISNULL(expr) Ця функція повертає значення 1, якщо вираз expr має значення NULL. В іншому випадку ця функція повертає значення 0.
ISNULL(NULL) ->1 |
|
ITERATE |
ITERATE label На відміну від оператора LEAVE, оператор ITERATE не припиняє виконання циклу, він лише виконує дострокове припинення поточної ітерації. Зауваження: |
|
JOIN |
З’єднання таблиць за допомогою оператора JOIN може бути двох типів. Перший це повне безумовне з’єднання таблиць тобто ми отримаємо як результат одну таблицю із всіма стовпцями вхідних таблиць. Приклад:
SELECT * FROM table1 JOIN table2;
Результат буде еквівалентним такому запиту:
SELECT * FROM table1, table2;
|
|
LABEL |
LABEL label; У загальному випадку використання операторів goto і label може виглядати так, як це представлено у прикладі. Приклад: CREATE PROCEDURE binrand () BEGIN LABEL labelname; ... GOTO labelname; END |
|
LCASE () |
|
|
LEAST () |
LEAST(expr1, expr2, ...)
Ця функція повертає найменший аргумент. Для визначення найменшого аргументу визначаються ті ж правила, що й для знаходження найбільшого аргументу функції GREATEST().
LEAST(2, 3, 1) ->1
|
|
LEFT () |
|
|
LENGTH () |
|
|
LIKE |
|
|
LN () |
LN(x)
Являється синонімом функції LOG() та вперше з'явилась в MySQL 4.0.3. |
|
LOAD_FILE () |
|
|
LOCATE () |
|
|
LOG () |
LOG(x) LOG(b, x)
Ця функція повертає натуральний(з основою е) логарифм аргументу х.
LOG(0) ->NULL
Формат з двома аргументами повертає логарифм х з основою b.
|
|
LOG10 () |
LOG10(х)
Ця функція повертає логарифм з основою 10 аргументу х.
LOG10(0) ->NULL |
|
LOG2 () |
LOG2(х)
Ця функція повертає логарифм з основою 2 аргументу х.
LOG2(0) ->NULL |
|
LONGTEXT, LONGBLOB |
LONGTEXT, LONGBLOB. Зберігають текст довжини не більше 4 гБ символів. |
|
LOOP |
Оператор LOOP Оператор LOOP призначений для реалізації циклів і має наступний синтаксис: [label:] LOOP statement_list END LOOP [label] Цикл LOOP, на відміну від операторів WHILE і REPEAT, не має умов виходу. Тому даний вид циклу повинен обов'язково мати у своєму складі оператор LEAVE. |
|
LOWER () |
|
|
LPAD () |
|
|
LTRIM () |
|
|
MAX () |
|
|
MEDIUMINT |
MEDIUMINT. Межа значень числа в три байти.
|
|
MEDIUMTEXT, MEDIUMBLOB |
MEDIUMTEXT та MEDIUMBLOB. Зберігають текст довжини не більше 16 мБ символів. |
|
MID () |
|
|
MIN () |
|
|
MINUTE () |
|
|
MOD () |
MOD(m, n)
Ця функція аналогічна оператору m%n (остача від ділення націло). Більш детально про його роботу розповідається в розділі "Арифметичні оператори". |
|
MONTH () |
|
|
MONTHNAME () |
|
|
NOT |
NOT може використовуватися для інвертування значень Буля. Приклад запиту з NOT:
SELECT * FROM Customers WHERE city = 'Dallas' OR NOT rating > 200;
|
|
NOW () |
|
|
NUMERIC |
NUMERIC або DECIMAL (DEC). Ці типи даних ідентичні. Тип числа з плаваючою крапкою. Використовується для зберігання грошових значень.
|
|
OCT () |
|
|
OCTET_LENGTH () |
|
|
OR |
При використанні оператора Or, повинне виконуватися одна з умов. Наприклад:
SELECT * FROM Customers WHERE city = 'Dallas ' OR rating > 200;
В даному випадку будуть вибрані всі замовники з Далласа і ті що мають рейтинг більше 200, навіть якщо вони і не з Далласа.
|
|
ORD () |
|
|
ORDER BY |
Ця команда упорядковує виведення значень запиту згідно значенням в тому або іншому вибраному стовпцю. СУБД може впорядковувати по декількох стовпцях одночасно. |
|
PERIOD_ADD () |
|
|
PERIOD_DIFF () |
|
|
PI () |
PI() Повертає значення числа Пі.
PI() ->3.141593
Функція PI() вперше з'явилась в MySQL 3.21.8. |
|
POSITION () |
|
|
POW () |
POW(x, y)
Повертає х в степені у.
POW(2, 3) ->8.000000
POWER(x, y)
Ця функція являється аналогом функції POW() і вперше з'явилась в MySQL 3.21.16. |
|
POWER(x, y) |
POW(x, y)
Повертає х в степені у.
POW(2, 3) ->8.000000
POWER(x, y)
Ця функція являється аналогом функції POW() і вперше з'явилась в MySQL 3.21.16. |
|
QUARTER () |
|
|
RADIANS () |
RADIANS(x)
Ця функція повертає значення аргументу х, яке перетворене з градусів в радіани.
RADIANS(0) ->0
Функція RADIANS() вперше з'явилась в MySQL 3.21.16. |
|
RAND () |
RAND() RAND(n)
|
|
RENAME USER |
Оператор RENAME USER дозволяє змінювати ім'я користувача у обліковому записі і має наступний синтаксис RENAME USER old_user ТО new_user Тут old_user-старе ім'я користувача, a new_user-нове ім'я користувача. Приклад використання оператора RENAME USER наведено в наступному прикладі. Зауваження: |
|
REPEAT |
Оператор REPEAT Оператор REPEAT, так само як і оператор WHILE, реалізує цикл: [label:] REPEAT statement_list UNTIL search_condition END REPEAT [label] |
|
REPEAT () |
|
|
REPLACE () |
|
|
REVERSE () |
|
|
REVOKE |
Оператор REVOKE Для скасування привілеїв облікового запису використовується оператор REVOKE. (приклад). Його синтаксис схожий на синтаксис оператора GRANT з тією лише різницею що ключове слово TO замінено на FROM, а опції IDENTIFIED BY, REQUIRE і WITH GRANT OPTION відсутні. Приклад: |
|
RIGHT () |
|
|
ROUND () |
ROUND(x) ROUND(x, d)
Функція ROUND(x) повертає значення аргументу х, округлене до цілого числа. Функція ROUND(x, d) повертає значення аргументу х, округленого до числа з d знаками після коми. Якщо аргумент d рівний 0, то повернутий результат не має десяткової точки чи дробової частини.
|
|
RPAD () |
|
|
RTRIM () |
|
|
SECOND () |
|
|
SEC_TO_TIME () |
|
|
SELECT |
SELECT — оператор мови SQL, котрий повертає рядки з однієї чи багатьох таблиць. Повний синтаксис оператора SELECT є складним, проте його можна описати наступним чином:
|
|
SET |
Оператор mySQL set Мова запитів SQL, крім операторів для роботи з базами даних, включає в себе адміністративні команди, які є засобами управління СУБД. Серед команд адміністрування варто згадати оператор set, який дозволяє встановлювати системні і користувальницькі змінні. |
|
SHOW CREATE FUNCTION |
SHOW CREATE FUNCTION funcname; Оператор виводить синтаксис оператора CREATE FUNCTION, за допомогою якого була створена процедура funcname. |
|
SHOW CREATE PROCEDURE |
Ще одним оператором, який дозволяє отримати інформацію о збережених процедурах, є оператор SHOW CREATE PROCEDURE, який має наступний синтаксис: SHOW CREATE PROCEDURE procname; Оператор виводить синтаксис оператора CREATE PROCEDURE, за допомогою якого була створена процедура procname (приклад). Приклад: mysql> SHOW CREATE PROCEDURE binstring\G; |
|
SHOW FUNCTION STATUS |
Для перегляду списку збережених функцій призначений оператор SHOW FUNCTION STATUS. Оператор має наступний синтаксис: SHOW FUNCTION STATUS [LIKE 'pattern']; |
|
SHOW PROCEDURE STATUS |
Оператор SHOW PROCEDURE STATUS Переглянути список вже створених збережених процедур можна за допомогою оператора show procedure status, який має наступний синтаксис: SHOW PROCEDURE STATUS [LIKE 'pattern']; |
|
SIGN () |
SIGN(x)
Ця функція повертає значення -1, 0 або 1, якщо значення аргументу х відповідно від'ємне, рівне нулю або додатне.
SIGN(15.803) ->1 |
|
SIN () |
SIN(x)
Ця функція повертає синус аргументу х, заданого в радіанах.
SIN(0) ->0.000000
Функція SIN() вперше з'явилась в MySQL 3.21.8. |
|
SMALLINT |
SMALLINT. Межа значень числа в два байти.
|
|
SPACE () |
|
|
SQRT () |
SQRT(x)
Ця функція повертає додатній квадратний корінь аргументу х.
SQRT(625) ->25.000000 |
|
STD () |
|
|
STDDEV () |
|
|
STRCMP () |
STRCMP(str1, str2)
Ця функція повертає результат 1, 0, -1, якщо перший аргумент лексично більший, рівний чи менший за другий. Результат буде NULL, якщо хоча б один з аргументів має значення NULL. Починаючи з MySQL 4.0.0, при порівнянні регістр символів не враховується, за винятком тих випадків, якщо один з аргументів є бінарним рядком.
|
|
STRCMP () |
Функція
|
|
SUBDATE () |
|
|
SUBSTRING () |
|
|
SUBSTRING_INDEX () |
|
|
SUM () |
|
|
SYSDATE () |
|
|
TAN () |
TAN(x)
Ця функція повертає тангенс аргументу х, заданого в радіанах.
TAN(0) ->0.000000
Функція TAN() вперше з'явилась в MySQL 3.21.8. |
|
TEXT, BLOB |
TEXT та BLOB. Ці типи полів використовуються для збереження більш довших рядків (фрагментів) тексту. Абревіатура BLOB означає великий двійковий об’єкт. Ці два типи однакові за винятком того, що в BLOB обробка йде з урахуванням регістру символів, а в TEXT – без. Обидва типи мають змінну довжину. Зберігають 64 кБ символів тексту. |
|
TIME |
TIME. Зберігає час у форматі ГГ:ХХ:СС |
|
TIMESTAMP |
TIMESTAMP. Якщо при заповненні запису не вказати значення цього типу буде автоматично підставлено значення дата зміни або створення запису. Має формат аналогічний до DATETIME.
|
|
TIME_FORMAT () |
|
|
TIME_TO_SEC () |
|
|
TINYINT |
TINYINT. Комірка для збереження числа в один байт, тобто від 1 до 127 (один біт відводиться для від’ємного діапазону).
|
|
TINYTEXT, TINYBLOB |
TINYTEXT та TINYBLOB. Зберігають текст довжини не більше 255 символів. |
|
TO_DAYS () |
|
|
TRIM () |
|
|
TRUNCATE () |
TRUNCATE(x, d)
Повертає значення аргументу х з дробовою частиною, заокругленою до d знаків після коми. Якщо аргумент d рівний нулю, то повернутий результат не має десяткової коми або дробової частини. Якщо d більше, ніж кількість десяткових розрядів в х, то вкінці дробової частини додається відповідна кількість нулів.
|
|
UCASE () |
|
|
UNION |
Оператор UNION може бути використаний, якщо потрібно так би мовити "склеїти" декілька таблиць в ондну. Коли це може бути корисним? Розглянемо такий приклад: у нас є магазин який складається з декількох відділів, а саме: відділ спиртних напоїв, м’ясний відділ та кондитерський відділ. |
|
UPDATE |
Синтаксис: UPDATE ім’я таблиці SET список полів та значень WHERE умова
UPDATE змінює значення вказаних полів на нові, причому тільки у тих рядках, які задовольняють умові. Наприклад:
UPDATE table1 SET name=’vasya’ WHERE name=’semen’
|
|
UPPER () |
|
|
VARCHAR |
VARCHAR. Тип використовується для збереження радків змінної довжини. Так як і в попередньому типі вказується його довжина, наприклад VARCHAR(30), при такому оголошенні рядки довше 30 символів будуть обрізані. Різниця між цим і попереднім типом в тому, що в типі з фіксованою довжиною обробка інформації відбувається швидше, але розмір самої БД буде більший. |
|
WEEK () |
|
|
WEEKDAY () |
Повертає індекс дня тижня для аргумента date (0 =понеділок, 1 = вівторок, ... 6 = неділя):
SELECT WEEKDAY('1997-10-04 22:23:00'); -> 5 |
|
WHERE |
WHERE.
SELECT u_id,lname from publishers WHERE city ='New York'; |
|
WHILE |
Оператор WHILE Оператор WHILE виконує цикл і має наступний синтаксис: [label:] while search_condition DO statement_list END while [label] |
|
YEAR |
YEAR. Зберігає значення року, можливі дві довжини типу в 2 та в 4 байти. Якщо довжина 2 байти то значення поля буде між 1970 та 2069. |
|
YEAR () |
|
|
ZEROFILL |
ZEROFILL – означає, що число буде відображатися з 0 записаними спереду. Наприклад якщо довжина поля 4 цифри то число 25 буде відображене (і записане) як 0025.
|
|
Багаторядковий INSERT |
Синтаксис
INSERT INTO таблиця (колонка1, [колонка2, ... ]) SELECT (колонка1a, [колонка2a, ...]) FROM таблиця_вибірки WHERE ...
В запис, що міститься в середині багаторядкового оператора INSERT, стандарт SQL вимагає деяких логічних обмежень:
|
|
Булеві оператори |
Основні Булеві оператори також розпізнаються в MYSQL. Вирази Буля - є або вірними або невірними, подібно до предикатів. Булеві оператори зв'язують одне або більш правдивих/неправдивих значень і повертають єдине вірне або невірне значення. Стандартними операторами Буля розпізнаваними в SQL є: and,or і NOT. |
|
Видалення збережених процедур |
Для видалення збережених процедур використовується синтаксис оператора DROP PROCEDURE, який має наступний синтаксис: DROP PROCEDURE [IF EXISTS] nameproc |
|
Видалення переглядів |
Для видалення переглядів призначений оператор drop view, який має наступний синтаксис:
DROP VIEW [IF EXISTS] view_name [, view_name] ...
Оператор drop view дозволяє знищити перегляд або відразу кілька переглядів за їхніми іменами (наступний приклад).
Приклад: DROP VIEW cat, tbl1, tbl2;
|
|
Використання вкладеного запиту в списку стовпців |
SELECT id_catalog, (SELECT MAX(price) FROM products) FROM catalogs;
id_catalog (SELECT MAX(price) FROM products) 1 7259.00 2 7259.00 3 7259.00
|
|
Вкладені запити в операторі CREATE TABLE |
При створенні таблиці за допомогою оператора create table її можна заповнити, використовуючи вкладений запит, який звертається до іншоїтаблиці. |
|
Вкладені запити у операторі INSERT |
За допомогою вкладеного select-запиту оператор insert дозволяє швидковставляти безліч записів з іншої (інших) таблиць.
Зауваження Даний вид запитів з'явився у версії 3.23, тому синтаксис не вимагає записувативкладений запит в обов'язкові круглі дужки.
|
|
Вкладені запити, які повертають декілька стовпців |
До цих пір розглядалися вкладені запити, які повертають єдиний стовпець,проте в СУБД MySQL реалізовані так звані рядкові запити, які повертаютьбільше одного стовпця. Приклади таких запитів представлені в прикладі
Приклад SELECT * FROM tbll WHERE (1,2) = (SELECT coll, col2 FROM tbl2); |
|
Вкладені запити, які повертають кілька рядків |
У попередньому були розглянуті запити, де вкладений запит повертає єдине значення. Якщо вкладений запит повертає кілька рядків, СУБД MySQL повертаєпомилку 1242 - вкладений запит повертає більш ніж один рядок (приклад).
SELECT name FROM catalogs WHERE id_catalog = (SELECT id_catalog FROM products);
ERROR 1242: Subquery returns more than 1 row
|
|
Група характеристик збережених процедур |
Синтаксис збережених процедур допускає використання наступних характеристик characteristic У визначенні CREATE PROCEDURE та CREATE FUNCTION: LANGUAGE SQL | [NOT] DETERMINISTIC | SQL SECURITY {DEFINER | INVOKER} |COMMENT 'string' |
|
Збережені процедури |
Часто при виконанні рутинних операцій потрібно здійснювати послідовність однакових запитів. Збережені процедури дозволяють об'єднати послідовність таких запитів і зберегти їх на сервері. Після цього клієнтам не доведеться посилати серверу послідовність запитів, достатньо надіслати один запит на виконання збереженої процедури. Зауваження: |
|
Збережені функції |
Крім форми CREATE PROCEDURE, що створює процедуру, допускається використання create function, яка створює функцію. Функція на відміну від процедури може викликатися безпосередньо, без використання оператора CALL і повертати одне значення, яке підставляється на місце виклику функції, як у випадку вбудованих функцій MySQL. |
|
Змінні SQL |
СУБД MySQL надає можливість збереження результатів поточного запиту для використання в наступних запитах в змінних SQL. Оголошення змінних починається з символу @ за яким слідує ім'я змінної. Значення змінним присвоюються за допомогою оператора select з використанням оператора присвоювання ":=". Приклад (Оголошення і використання змінних SQL) |
|
Корельовані запити |
У вкладеному запиті часто потрібно посилатися на значення стовпця впоточному рядку зовнішнього запиту. Розглянемо запит, що витягає з таблиціproducts назви придбаних товарів, для яких число куплених товарних позиційзбігається із запасами на складі (приклад).
SELECT name, count FROM products WHERE count = (SELECT SUM(count) FROM orders |
|
Однорядковий INSERT |
Синтакс оператора INSERT виглядає наступним чином:
INSERT INTO таблиця (колонка1, [колонка2, ... ]) VALUES (значення1, [значення2, ...])
Наприклад, якщо ми маємо таблиці такого типу: Таблиця 1
|
|
Підзапити в конструкції FROM |
Так як вкладені запити повертають результуючу таблицю, яка стає предметомподальших запитів, стандарт SQL дозволяє використання вкладених запитівскрізь, де допускаються посилання на таблиці. Зокрема, вкладений запит можевказуватись замість імені таблиці в виразі from. |
|
Параметри процедури |
У попередніх прикладах збережені процедури не містили параметрів. Як згадувалося раніше, кожен параметр може бути проголошений одним з модифікатором IN, OUT або INOUT. У наступному прикладі наводиться приклад функції, яка присвоює змінній користувача @ х нове значення. Приклад: CREATE PROCEDURE set_K (IN value INT) BEGIN SET @x = value; |
|
Перегляди |
|
|
Редагування збережених процедур |
Для зміни характеристик процедури призначений синтаксис ОПЕРАТОРА ALTER PROCEDURe. Редагування збереженої функції виконується за допомогою оператора ALTER FUNCTION. Оператори мають наступний синтаксис: ALTER PROCEDURE sp_name [characteristic ...] ALTER FUNCTION sp_name [characteristic ...] |
|
Редагування переглядів |
Для редагування переглядів призначений оператор alter view, який має наступний синтаксис: alter [algorithm - {undefined i merge | temptable}] view view_name [ (column_list) ] as select_statement [with [cascaded | local] check option]
Приклад: |
|
Реляційні оператори |
Реляційний оператор - математичний символ який вказує на певний тип порівняння між двома значеннями. Реляційні оператори які розуміє MYSQL :
= Рівно
|
|
Створення збереженої процедури |
CREATE PROCEDURE sp_name ([parameter [,...]]) [characteristic ...] routine_body CREATE FUNCTION sp_name ([parameter[,...]]) RETURNS type [characteristic ...] routine_body |
|
Створення переглядів |
Створення переглядів здійснюється за допомогою оператора create view, який має наступний синтаксис:
CREATE [or replace] [algorithm = {undefined | merge | temptable}] VIEW view_name [(column_list)] AS select_statement [with [cascaded | local] check option]
|
|
Текстові типи даних |
Текстові типи даних: |
|
Тимчасові таблиці |
Змінна SQL дозволяє зберегти одне проміжне значення. Коли необхідно зберегти результуючу таблицю, вдаються до тимчасових таблиць. Створення тимчасових таблиць здійснюється за допомогою оператора CREATE temporary table, синтаксис якого нічим не відрізняється від синтаксису оператора CREATE TABLE.
|
|
Типи дати та часу |
Типи дати та часу. |
|
Числові типи |
Використовуються для зберігання чисел, всі числові типи можна умовно поділити на два підтипи для зберігання точних чисел і чисел з плаваючою комою. Всі числові типи характеризуються довжиною зберігаємих чисел, а типи з плаваючою комою ще і кількістю знаків після коми. |