MariaDB Підручник: вивчення синтаксису, команди з прикладами
Що таке MariaDB?
MariaDB є розгалуженням MySQL система управління базами даних. Він створений його оригінальними розробниками. Цей інструмент СУБД пропонує можливості обробки даних як для малих, так і для корпоративних завдань.
MariaDB є вдосконаленою версією MySQL. Він поставляється з численними вбудованими потужними функціями та багатьма функціями використання, безпекою та покращеннями продуктивності, яких ви не знайдете MySQL.
Ось особливості MariaDB:
- Він працює за ліцензіями GPL, BSD або LGPL.
- MariaDB підтримує популярну та стандартну мову запитів.
- Він постачається з багатьма механізмами зберігання, включаючи високопродуктивні, які можна інтегрувати з іншими системами керування реляційними базами даних.
- Він забезпечує кластерну технологію Galera.
- MariaDB підтримує PHP, популярну мову для веб-розробки.
- MariaDB може працювати на різних операційних системах і підтримує численні мови програмування.
- MariaDB поставляється з додатковими командами, недоступними в MySQL. MySQL має особливості, які негативно впливають на продуктивність СУБД. Такі функції були замінені в MariaDB.
MariaDB проти MySQL
Нижче наведено деякі ключові відмінності між MariaDB vs MySQL
Параметр | MariaDB | MySQL |
---|---|---|
Більше опцій для механізмів зберігання | MariaDB має 12 нових механізмів зберігання, яких ви не знайдете MySQL. | Він має менше можливостей для зберігання в порівнянні з MariaDB. |
Покращення швидкості | MariaDB показує кращу швидкість порівняно з MySQL. Він оснащений численними функціями для оптимізації швидкості. Такі функції включають похідні представлення/таблиці, підзапит, контроль виконання, доступ до диска та контроль оптимізатора. | MySQL показує меншу швидкість порівняно з MariaDB. Він використовує лише кілька функцій для оптимізації швидкості, наприклад, хеш-індекси. |
Швидший кеш/індекси | З механізмом зберігання пам'яті MariaDB, оператор INSERT може бути завершеним на 24%, ніж у стандарті MySQL. | Механізм зберігання пам'яті MySQL повільніше порівняно з цим MariaDB. |
Більший і швидший пул підключень | MariaDB поставляється з розширеним пулом потоків, здатним працювати швидше та підтримувати до 200,000 XNUMX+ підключень. | Пул потоків, наданий MySQL не підтримує до 200,000 XNUMX підключень за раз. |
Покращена реплікація | In MariaDB, реплікацію можна зробити безпечніше та швидше. Оновлення також можна виконувати вдвічі швидше порівняно з традиційним MySQL. | MySQLРедакція спільноти дозволяє підключати статичну кількість потоків. MySQLКорпоративний план має можливості потоків. |
Нові функції/розширення | MariaDB поставляється з новими функціями та розширеннями, включаючи оператори JSON, WITH і KILL. | Новий MariaDB функції не передбачені в MySQL. |
Відсутні функції | MariaDB не має деяких функцій, які надає MySQL корпоративне видання. Щоб вирішити цю проблему, він пропонує альтернативні плагіни з відкритим кодом. Отже, MariaDB користувачі можуть користуватися тими ж функціями, що й MySQL Користувачі Enterprise Edition. | Корпоративне видання MySQL використовує власний код. Лише користувачі MySQL Enterprise Edition мають доступ до цього. |
Як встановити MariaDB
Встановити як окрему програму
Для того щоб використовувати MariaDB, його потрібно встановити на свій комп’ютер.
Встановлення можна виконати, дотримуючись наведених нижче кроків.
Крок 1) Відкрити URL-адресу нижче
Завантажте інсталяційний файл за посиланням https://downloads.mariadb.org/
Крок 2) Double клацніть файл, щоб розпочати встановлення
Після завершення завантаження відкрийте файл
Крок 3) Натисніть кнопку Далі
У вікні, що з’явиться, натисніть кнопку Далі:
Крок 4) Прийміть ліцензійну угоду
Потім натисніть кнопку Далі:
Крок 5) Вибрати MariaDB сервер
Виберіть функції, які потрібно встановити, і натисніть «Далі».
Крок 6) Введіть пароль
У наступному вікні вам буде запропоновано змінити пароль для користувача root.
- Введіть пароль і підтвердьте його, ввівши той самий пароль ще раз. Якщо ви хочете дозволити доступ з віддалених машин, установіть відповідний прапорець.
- Після завершення натисніть кнопку Далі.
Крок 7) Введіть назву та виберіть номер порту
У наступному вікні введіть назву екземпляра, виберіть номер порту та встановіть необхідний розмір. Натисніть кнопку Далі:
Крок 8) Натисніть Далі
У наступному вікні просто натисніть кнопку Далі.
Крок 9) Натисніть Встановити
Запустіть інсталяцію, натиснувши кнопку «Встановити».
Крок 10) Показано панель прогресу
Буде показано індикатор перебігу інсталяції:
Крок 11) Натисніть кнопку Готово
Після завершення встановлення ви побачите кнопку Готово. Натисніть кнопку, щоб закрити вікно:
Крок 12) Вітаємо!
Тепер у вас є MariaDB встановлено на вашому комп'ютері.
Робота з командним рядком
Тепер у вас є MariaDB встановлено на вашому комп’ютері, вам пора запустити його та почати використовувати. Це можна зробити через MariaDB командний рядок.
Виконайте наведені нижче дії.
Крок 1) Натисніть «Пуск», виберіть «Усі програми», а потім натисніть MariaDB...
Крок 2) Вибрати MariaDB Командний рядок.
Крок 3) Команда MariaDB буде запущено командний рядок. Настав час увійти. Ви повинні увійти як користувач root і пароль, який ви встановили під час інсталяції MariaDB. Введіть таку команду в командному рядку:
MySQL -u root -p
Крок 4) Введіть пароль і натисніть клавішу повернення. Ви повинні увійти, як показано нижче:
Ви ввійшли в систему MariaDB.
Типи даних
MariaDB підтримує такі типи даних:
- Рядкові типи даних
- Числові типи даних
- Типи даних дати/часу
- Типи даних великих об’єктів
Рядкові типи даних
Сюди входять такі:
Рядковий тип даних | Опис |
---|---|
символ (розмір) | Розмір означає кількість символів, які потрібно зберегти. Він зберігає максимум 255 символів. Рядки фіксованої довжини. |
varchar (розмір) | Розмір означає кількість символів, які потрібно зберегти. Він зберігає максимум 255 символів. Рядки змінної довжини. |
текст (розмір) | Розмір означає кількість символів, які потрібно зберегти. Він зберігає максимум 255 символів. Рядки фіксованої довжини. |
двійковий (розмір) | Розмір означає кількість символів, які потрібно зберегти. Він зберігає максимум 255 символів. Рядки фіксованого розміру. |
Числові типи даних
Вони включають наступне:
Числові типи даних | Опис |
---|---|
біт | Дуже маленьке ціле число, еквівалентне tinyint(1). Діапазон значень зі знаком – від -128 до 127. Значення без знака – від 0 до 255. |
int(m) | Стандартне ціле число. Діапазон значень зі знаком – від -2147483648 до 2147483647. Значення без знака – від 0 до 4294967295. |
float(m, d) | Число з плаваючою комою з одинарною точністю. |
подвійний (м, д) | Число з плаваючою комою з подвійною точністю. |
float(p) | Число з плаваючою комою. |
Типи даних дати/часу
Сюди входять такі:
Дата/час Тип даних | Опис |
---|---|
Дата | Відображається у формі "рррр-мм-дд". Діапазон значень від «1000-01-01» до «9999-12-31». |
Дата, час | Відображається у формі «рррр-мм-дд гг:хх:сс». Діапазон значень від «1000-01-01 00:00:00» до «9999-12-31 23:59:59». |
позначка часу (м) | Відображається у формі «рррр-мм-дд гг:хх:сс». Діапазон значень між «1970-01-01 00:00:01» UTC і «2038-01-19 03:14:07» UTC. |
Time | Відображається у формі «гг:хх:сс». Діапазон значень між «-838:59:59» і «838:59:59». |
Типи даних великих об'єктів (LOB)
Вони включають наступне:
Тип даних великого об’єкта | Опис |
---|---|
крихітна крапка | Його максимальний розмір становить 255 байт. |
крапля (розмір) | Приймає 65,535 XNUMX байт як максимальний розмір. |
середня пляма | Його максимальний розмір становить 16,777,215 байт. |
довгий текст | Максимальний розмір – 4 ГБ. |
Створення бази даних і таблиць
Щоб створити нову базу даних у MariaDB, ви повинні мати спеціальні привілеї, які надаються лише користувачеві root та адміністраторам.
Щоб створити нову базу даних, вам слід використати команду CREATE DATABASE, яка має такий синтаксис:
CREATE DATABASE DatabaseName;
У цьому випадку вам потрібно створити базу даних і назвати її Demo.
Почніть MariaDB командного рядка та увійдіть як користувач root, ввівши таку команду:
mysql -u root -p
Введіть пароль root і натисніть клавішу повернення. Ви увійдете в систему.
Тепер виконайте таку команду:
CREATE DATABASE Demo;
Потім ви створили базу даних під назвою Demo. Вам буде корисно підтвердити, чи базу даних було створено успішно чи ні. Вам потрібно лише показати список доступних баз даних, виконавши таку команду:
SHOW DATABASES;
Наведені вище результати показують, що демонстраційна база даних є частиною списку, отже, базу даних створено успішно.
MariaDB Виберіть База даних
Щоб ви могли використовувати або працювати з конкретною базою даних, ви повинні вибрати її зі списку доступних баз даних. Вибравши базу даних, ви можете виконувати такі завдання, як створення таблиць у базі даних.
Для вибору бази даних необхідно скористатися командою USE. Він приймає синтаксис, наведений нижче:
USE database_name;
Вам необхідно використовувати базу даних Demo. Ви можете вибрати його, виконавши таку команду:
USE Demo;
На зображенні вище показано, що MariaDB Командний рядок змінився з none на назву вибраної бази даних.
Тепер ви можете створювати таблиці в демонстраційній базі даних.
MariaDB – Створити таблицю
Щоб ви могли створити таблицю, ви повинні вибрати базу даних. Таблицю можна створити за допомогою оператора CREATE TABLE. Ось синтаксис команди:
CREATE TABLE tableName (columnName columnType);
Ви можете встановити один зі стовпців як первинний ключ. Цей стовпець не повинен допускати нульових значень.
Ми створимо дві таблиці в базі даних Demo, таблиці Book і Price. Кожна таблиця матиме два стовпці.
Почнемо зі створення таблиці Book із двома стовпцями: id та name. Виконайте таку команду:
CREATE TABLE Book( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(100) NOT NULL, PRIMARY KEY (id));
Обмеження PRIMARY KEY було використано для встановлення стовпця id як первинного ключа для таблиці. Властивість AUTO_INCREMENT автоматично збільшує значення стовпця id на 1 для кожного нового запису, вставленого в таблицю. Усі стовпці не допускатимуть нульових значень.
Тепер створіть другу таблицю, таблицю цін:
CREATE TABLE Price( id INT NOT NULL AUTO_INCREMENT, price float NOT NULL, PRIMARY KEY (id));
Стовпець id було встановлено як первинний ключ для таблиці.
Показ таблиць
Тепер, коли ви створили дві таблиці, вам буде корисно перевірити, чи було створено таблиці успішно чи ні. Ви можете показати список таблиць, що містяться в базі даних, виконавши таку команду:
SHOW TABLES;
Наведений вище знімок екрана показує, що дві таблиці було успішно створено в демонстраційній базі даних.
Відображення структури таблиці
Щоб побачити структуру будь-якої окремої таблиці, ви можете використати команду DESCRIBE, яку зазвичай скорочують як DESC. Він приймає такий синтаксис:
DESC TableName;
Наприклад, щоб побачити структуру таблиці під назвою Book, ви можете виконати таку команду;
DESC Book;
Таблиця має дві колонки. Щоб побачити структуру таблиці цін, ви можете виконати таку команду:
DESC Price;
CRUD і пункти
INSERT
Щоб вставити дані в a MariaDB таблиці, ви повинні використовувати оператор INSERT INTO. Ця команда використовує синтаксис, наведений нижче:
INSERT INTO tableName (column_1, column_2, ... ) VALUES (value1, value2, ... ), (value1, value2, ... ), ...;
Наведений вище синтаксис показує, що вам потрібно вказати стовпці таблиці, у які ви хочете вставити дані, а також дані, які вам потрібно вставити.
Вставимо запис у таблицю Book:
INSERT INTO book (id, name) VALUES(1, 'MariaDB Book');
Ви вставили в таблицю один запис. Вставте запис у таблицю цін:
INSERT INTO price (id, price) VALUES(1, 200);
Запис створено.
ВИБІР
Оператор SELECT допомагає нам переглядати або бачити вміст таблиці бази даних. Наприклад, щоб переглянути вміст таблиці Book, потрібно виконати таку команду:
SELECT * from book;
Тепер перегляньте вміст таблиці цін:
SELECT * from price;
Вставлення кількох записів
Ми можемо вставити кілька записів у a MariaDB стіл на ходу. Щоб продемонструвати це, запустіть такий приклад:
INSERT INTO book (id, name) VALUES (2,'MariaDB Book2'), (3,'MariaDB Book3'), (4,'MariaDB Book4'), (5,'MariaDB Book5');
Ви можете запитати таблицю, щоб перевірити, чи успішно вставлено записи:
SELECT * FROM book;
Записи успішно вставлено. Вставте кілька записів у таблицю цін, виконавши цей приклад:
INSERT INTO price (id, price) VALUES (2, 250), (3, 220), (4, 190), (5, 300);
Давайте перевіримо, чи успішно створено записи:
SELECT * FROM price;
ОНОВЛЕННЯ
Команда UPDATE допомагає нам змінювати або модифікувати записи, які вже були вставлені в таблицю. Ви можете поєднати його з пропозицією WHERE, щоб указати запис, який потрібно оновити. Ось синтаксис:
UPDATE tableName SET field=newValue, field2=newValue2,... [WHERE ...]
Команду UPDATE також можна комбінувати з такими пропозиціями, як SET, WHERE, LIMIT і ORDER BY. Незабаром ви побачите це:
Розглянемо таблицю під назвою Price із такими записами:
Змінимо ціну книги з id 1 з 200 на 250:
UPDATE price SET price = 250 WHERE id = 1;
Команда виконана успішно. Тепер ви можете запитати таблицю, щоб дізнатися, чи відбулася зміна:
Наведений вище знімок екрана показує, що зміни внесено. Розглянемо таблицю Книги з такими записами:
Давайте змінимо назву книги на Book MariaDB Книга1. Зверніть увагу, що книга має ідентифікатор 1. Ось команда для цього:
UPDATE book SET name = “MariaDB Book1” WHERE id = 1;
Перевірте, чи впроваджено зміни:
Наведений вище знімок екрана показує, що зміну внесено успішно.
У наведених вище прикладах ми змінювали лише один стовпець за раз. Однак ми можемо змінити кілька стовпців одночасно. Продемонструємо це на прикладі.
Скористаємося таблицею цін з такими даними:
Давайте змінимо ідентифікатор і ціну книги з ідентифікатором 5. Ми змінимо її ідентифікатор на 6 і ціну на 6. Виконайте таку команду:
UPDATE price SET id = 6, price = 280 WHERE id = 5;
Тепер надішліть запит до таблиці, щоб перевірити, чи успішно внесено зміни:
Зміну внесено успішно.
видаляти
Ми використовуємо команду DELETE, коли нам потрібно видалити один або кілька записів із таблиці. Ось синтаксис команди:
DELETE FROM tableName [WHERE condition(s)] [ORDER BY exp [ ASC | DESC ]] [LIMIT numberRows];
Розглянемо таблицю цін із такими записами:
Нам потрібно видалити останній запис із таблиці. Він має ідентифікатор 6 і ціну 280. Давайте видалимо запис:
DELETE FROM price WHERE id = 6;
Команда виконана успішно. Давайте запитаємо таблицю, щоб підтвердити, чи було видалення успішним:
Результат показує, що запис успішно видалено.
де
Речення WHERE допомагає нам вказати точне місце, де нам потрібно внести зміни. Він використовується разом із такими операторами, як INSERT, SELECT, UPDATE і DELETE. Розглянемо таблицю цін з такими даними:
Припустимо, нам потрібно переглянути записи, у яких ціна менше 250. Ми можемо виконати таку команду:
SELECT * FROM price WHERE price < 250;
Всі записи, в яких ціна нижче 250, повернуто.
Речення WHERE можна поєднати з оператором AND. Припустімо, нам потрібно переглянути всі записи в таблиці цін, де ціна нижча за 250, а ідентифікатор — вище 3. Ми можемо запустити таку команду:
SELECT * FROM price WHERE id > 3 AND price < 250;
Повернено лише один запис. Причина полягає в тому, що він має відповідати всім зазначеним умовам, тобто ідентифікатор вище 3 і ціна нижче 250. Якщо будь-яка з цих умов буде порушена, запис не буде повернено.
Речення також можна комбінувати з командою OR. Давайте замінимо AND у нашій попередній команді на OR і подивимося, який результат ми отримаємо:
SELECT * FROM price WHERE id > 3 OR price < 250;
Тепер ми отримуємо 2 записи, а не 1. Це пояснюється тим, що для кваліфікаційного запису він має відповідати лише одній із зазначених умов.
Люблю
Це положення використовується для вказівки шаблону даних під час доступу до даних таблиці, у яких необхідна точна відповідність. Його можна комбінувати з операторами INSERT, UPDATE, SELECT і DELETE.
Ви повинні передати шаблон даних, які ви шукаєте, у пункт, і він поверне або true, або false. Ось символи узагальнення, які можна використовувати разом із пропозицією:
- %: для відповідності 0 або більше символів.
- _: для відповідності одному символу.
Ось синтаксис пропозиції LIKE:
SELECT field_1, field_2,... FROM tableName1, tableName2,... WHERE fieldName LIKE condition;
Давайте продемонструємо, як використовувати речення із символом підстановки %. Скористаємося таблицею Book з такими записами:
Нам потрібно переглянути всі записи, ім’я яких починається з M. Ми можемо виконати таку команду:
SELECT name FROM book WHERE name LIKE 'M%';
Усі записи повернено, оскільки їхні назви починаються з літери M. Щоб побачити всі назви, які закінчуються на 4, ви можете виконати таку команду:
SELECT name FROM book WHERE name LIKE '%4';
Повернуто лише одне ім’я, оскільки воно єдине відповідає умові.
Ми також можемо обвести шаблон пошуку символом підстановки:
SELECT name FROM book WHERE name LIKE '%DB%';
Крім символу підстановки %, речення LIKE можна використовувати разом із знаком підстановки _. Це символ підкреслення, і він шукатиме лише один символ.
Попрацюємо з таблицею Price з такими записами:
Давайте перевіримо запис, у якому ціна схожа на 1_0. Виконуємо таку команду:
SELECT * FROM price WHERE price LIKE '1_0';
Він повернув запис, у якому ціна становить 190. Ми також можемо спробувати інший шаблон:
SELECT * FROM price WHERE price LIKE '_2_';
Ми можемо використовувати пропозицію LIKE разом з оператором NOT. Це поверне всі записи, які не відповідають вказаному шаблону. Наприклад:
Скористаємося таблицею цін із такими записами:
Знайдемо всі записи, у яких ціна не починається з 2:
SELECT * FROM price WHERE price NOT LIKE '2%';
Лише один запис не відповідає вказаному шаблону.
Сортувати за
Цей пункт допомагає нам сортувати наші записи в порядку зростання або спадання. Ми використовуємо його з оператором SELECT, як показано нижче:
SELECT expression(s) FROM tables [WHERE condition(s)] ORDER BY exp [ ASC | DESC ];
Ми можемо використовувати це положення без додавання частини ASC або DESC. Наприклад:
Ми будемо використовувати таблицю цін із такими записами:
Виконайте таку команду для таблиці:
SELECT * FROM price WHERE price LIKE '2%.' ORDER BY price;
У наведеній вище команді ми впорядкували за ціною. Записи впорядковано з цінами в порядку зростання. Це означає, що якщо ми не вказуємо порядок, за замовчуванням сортування виконується в порядку зростання.
Запустимо речення з опцією DESC:
SELECT * FROM price WHERE price LIKE '2%' ORDER BY price DESC;
Записи відсортовано за ціною в порядку спадання, як ми вказали.
Давайте використаємо речення ORDER BY разом з атрибутом ASC:
SELECT * FROM price WHERE price LIKE '2%.' ORDER BY price ASC;
Записи впорядковано, але з цінами в порядку зростання. Це схоже на те, коли ми використовуємо речення ORDER BY без атрибутів ASC або DESC.
DISTINCT
Цей пункт допомагає нам позбутися дублікатів під час вибору записів із таблиці. Це означає, що це допомагає нам отримувати унікальні записи. Його синтаксис наведено нижче:
SELECT DISTINCT expression(s) FROM tableName [WHERE condition(s)];
Щоб продемонструвати це, ми використаємо таблицю цін із такими даними:
Коли ми вибираємо стовпець ціни з таблиці, ми отримуємо такий результат:
SELECT price FROM Price;
У нас є два записи з ціною 250, створюючи дублікат. Нам потрібні лише унікальні записи. Ми можемо відфільтрувати їх за допомогою пропозиції DISTINCT, як показано нижче:
SELECT DISTINCT price FROM Price;
Тепер ми не маємо дублікатів у наведеному вище виводі.
From
Речення FROM, яке використовується для отримання даних із таблиці бази даних. Це також може допомогти при з’єднанні таблиць. Ось синтаксис команди:
SELECT columnNames FROM tableName;
Щоб переглянути вміст таблиці книги, виконайте таку команду:
SELECT * FROM price;
Речення може допомогти вам отримати лише один стовпець із таблиці бази даних. Наприклад:
SELECT price FROM Price;
Складні завдання
Збережена процедура
Процедура - це a MariaDB програма, якій можна передавати параметри. Процедура не повертає значення. Для створення процедури використовується команда CREATE PROCEDURE.
Щоб продемонструвати, як створити та викликати процедуру, ми створимо процедуру під назвою myProcedure(), яка допоможе нам вибрати стовпець імені з таблиці книги. Ось процедура:
DELIMITER $ CREATE PROCEDURE myProcedure() BEGIN SELECT name FROM book; END; ;
Процедуру створено. Ми просто включили оператор SELECT у пропозиції BEGIN і END процедури.
Тепер ми можемо назвати процедуру за її назвою, як показано нижче:
CALL myProcedure();
Під час виклику процедура повертає стовпець імені таблиці книги.
Ми можемо створити процедуру, яка приймає параметр. Наприклад, нам потрібно вибрати назву книги та відфільтрувати її за ідентифікатором книги. Для цього ми можемо створити таку процедуру:
DELIMITER $ CREATE PROCEDURE myProcedure2(book_id int) BEGIN SELECT name FROM book WHERE id = book_id; END; ;
Вище ми створили процедуру під назвою myProcedure2(). Ця процедура приймає один цілочисельний параметр під назвою book_id, який є ідентифікатором книги, назву якої нам потрібно побачити. Щоб побачити назву книги з ідентифікатором 3, ми можемо викликати процедуру наступним чином:
CALL myProcedure2(3);
функція
На відміну від процедур, ми повинні передавати параметри функціям, а функція повинна повертати значення. Щоб створити функцію в MariaDB, ми використовуємо інструкцію CREATE FUNCTION. Інструкція має такий синтаксис:
CREATE [ DEFINER = { CURRENT-USER | username } ] FUNCTION function-name [(parameter datatype [, parameter datatype]) ] RETURNS datatype [LANGUAGE SQL | DETERMINISTIC | NOT DETERMINISTIC | {CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA} | SQL SECURITY {DEFINER | INVOKER} | COMMENT 'comment' BEGIN declaration-section executable-section END;
Наведені вище параметри описані нижче:
Параметр | Опис |
---|---|
Речення DEFINER | Цей параметр необов'язковий. Якщо ви не вкажете його, визначником стане користувач, який створив функцію. Якщо потрібно вказати інший визначник, додайте пропозицію DEFINER, у якій user_name буде визначником функції. |
ім'я_функції | Ім'я, яке потрібно призначити цій функції в MariaDB. |
параметр | Параметр(и), переданий у функцію. Під час створення функції всі параметри обробляються як Параметри IN (а не параметри OUT/INOUT). |
return_datatype | Тип даних значення, що повертається функцією. |
МОВА SQL | Це впливає на мобільність, але не на функції. |
ДЕТЕРМІНІСТЬ | Функція поверне один результат лише тоді, коли буде задано кілька параметрів. |
НЕ ДЕТЕРМІНІСТОВИЙ | Функція може повернути інший результат, якщо їй задано кілька параметрів. |
МІСТИТЬ SQL | Інформує MariaDB що ця функція містить SQL. База даних не перевірить, чи це правда. |
БЕЗ SQL | Цей пункт не використовується і не впливає на вашу функцію. |
ЧИТАЄ ДАНІ SQL | Розповідає MariaDB що ця функція використовуватиме оператори SELECT для читання даних, але не змінюватиме дані. |
МОДИФІКУЄ ДАНІ SQL | Розповідає MariaDB що ця функція використовуватиме INSERT, DELETE, UPDATE тощо DDL оператори для зміни даних SQL. |
декларація-розд | Тут повинні бути оголошені локальні змінні. |
виконуваний розділ | Тут слід додати код функції. |
Ось приклад MariaDB функція:
DELIMITER // CREATE FUNCTION sumFunc (x INT ) RETURNS INT DETERMINISTIC BEGIN DECLARE sum INT; SET sum = 0; label1: WHILE sum <= 3000 DO SET sum = sum + x; END WHILE label1; RETURN sum; END; // DELIMITER ;
Потім ми можемо викликати наведену вище функцію наступним чином:
select sumFunc(1000);
Команда поверне наступне:
Після того, як ви закінчите з функцією, вам буде добре видалити її. Це легко, оскільки вам потрібно лише викликати оператор DROP FUNCTION, який приймає наступний синтаксис:
DROP FUNCTION function_name;
Наприклад, щоб видалити функцію з назвою myFunc, ми можемо виконати таку команду:
DROP FUNCTION myFunc;
РЕЄСТРАЦІЯ
Якщо вам потрібно отримати дані з кількох таблиць одночасно, використовуйте MariaDB ПРИЄДНАЄТЬСЯ. Це означає, що a РЕЄСТРАЦІЯ працює на двох і більше столах. Наступні три типи JOIN підтримуються MariaDB:
- ВНУТРІШНЄ/ПРОСТЕ З'ЄДНАННЯ
- LEFT OUTER JOIN/LEFT JOIN
- ПРАВЕ ЗОВНІШНЄ З'ЄДНАННЯ/ПРАВЕ З'ЄДНАННЯ
Давайте обговоримо їх по черзі:
INNER JOIN
Внутрішнє об’єднання повертає всі рядки з таблиць, у яких умова об’єднання виконується. Його синтаксис такий:
SELECT columns FROM table-1 INNER JOIN table-2 ON table-1.column = table-2.column;
Наприклад:
Ми будемо використовувати наші два столи, книги та книгу.
Таблиця книги містить такі дані:
Таблиця цін містить такі дані:
Мета полягає в тому, щоб об’єднати стовпець імені з таблиці Book і стовпець ціни з таблиці Price в одну таблицю. Це можливо за допомогою внутрішнього об’єднання, як показано нижче:
SELECT book.name, price.price FROM book INNER JOIN price ON book.id = price.id;
Команда повертає наступне:
ЗАЛИШИЛИ ЗОВНІШНЕ ПРИЄДНАННЯ
Це об’єднання повертає всі рядки з лівої таблиці та лише ті рядки, у яких умова об’єднання виконується, з іншої таблиці. Його синтаксис такий:
SELECT columns FROM table-1 LEFT [OUTER] JOIN table-2 ON table-1.column = table-2.column;
Ключове слово OUTER було взято в квадратні дужки, оскільки воно необов’язкове.
Наприклад:
SELECT book.name, price.price FROM book LEFT JOIN price ON book.id = price.id;
Команда повертає наступне:
Останній запис у таблиці вище не має відповідного значення зліва. Ось чому його було замінено на NULL.
ПРАВЕ ЗОВНІШНЄ З'ЄДНАННЯ
Це об’єднання повертає всі рядки з правої таблиці та лише ті рядки, у яких умова з’єднання виконується, з іншої таблиці. Його синтаксис такий:
SELECT columns FROM table-1 RIGHT [OUTER] JOIN table-2 ON table-1.column = table-2.column;
Ключове слово OUTER було взято в квадратні дужки, оскільки воно необов’язкове.
Наприклад:
SELECT book.name, price.price FROM book RIGHT JOIN price ON book.id = price.id;
Команда повертає наступне:
Причина в тому, що всі рядки в правій таблиці були зіставлені з рядками в іншій таблиці. Якщо деякі рядки не збігаються, ми матимемо NULL у першому стовпці.