Учебники

Учебник MariaDB

Что такое MariaDB?

MariaDB — это форк системы управления базами данных MySQL. Он создан его оригинальными разработчиками. Этот инструмент СУБД предлагает возможности обработки данных как для небольших, так и для корпоративных задач.

MariaDB — улучшенная версия MySQL. Он поставляется с многочисленными встроенными мощными функциями и множеством улучшений удобства использования, безопасности и производительности, которые вы не можете найти в MySQL.

Вот особенности MariaDB:

  • Он работает под лицензиями GPL, BSD или LGPL.
  • MariaDB поддерживает популярный и стандартный язык запросов.
  • Он поставляется со многими механизмами хранения, включая высокопроизводительные, которые могут быть интегрированы с другими системами управления реляционными базами данных.
  • Это обеспечивает кластерную технологию Galera.
  • MariaDB поддерживает PHP, популярный язык для веб-разработки.
  • MariaDB может работать в разных операционных системах и поддерживает множество языков программирования.
  • MariaDB поставляется с дополнительными командами, которые недоступны в MySQL. MySQL имеет функции, которые негативно влияют на производительность СУБД. Такие функции были заменены в MariaDB.

В этом уроке MariaDB вы узнаете:

MariaDB против MySQL

параметр MariaDB MySQL
Дополнительные параметры для систем хранения MariaDB имеет 12 новых механизмов хранения, которые вы не найдете в MySQL. У него меньше вариантов хранения по сравнению с MariaDB.
Улучшения скорости MariaDB показывает улучшенную скорость по сравнению с MySQL. Он поставляется с многочисленными функциями для оптимизации скорости. К таким функциям относятся производные представления / таблицы, подзапрос, контроль выполнения, доступ к диску и управление оптимизатором. MySQL демонстрирует более медленную скорость по сравнению с MariaDB. Он использует только несколько функций для оптимизации скорости, например, хеш-индексы.
Более быстрый кеш / индексы С механизмом хранения памяти MariaDB оператор INSERT может быть выполнен на 24% больше, чем в стандартном MySQL. Механизм хранения памяти MySQL медленнее по сравнению с этим MariaDB.
Большой и быстрый пул соединений MariaDB поставляется с расширенным пулом потоков, способным работать быстрее и поддерживающим до 200 000 подключений. Пул потоков, предоставляемый MySQL, не может поддерживать до 200 000 соединений за раз.
Улучшенная репликация В MariaDB репликация может выполняться безопаснее и быстрее. Обновления также можно сделать в 2 раза быстрее по сравнению с традиционным MySQL. Редакция сообщества MySQL позволяет подключать статическое число потоков. Корпоративный план MySQL поставляется с возможностями потоков.
Новые функции / расширения MariaDB поставляется с новыми функциями и расширениями, включая операторы JSON, WITH и KILL. Новые функции MariaDB не предоставляются в MySQL.
Недостающие функции В MariaDB отсутствуют некоторые функции, предоставляемые корпоративной версией MySQL. Для решения этой проблемы предлагаются альтернативные плагины с открытым исходным кодом. Следовательно, пользователи MariaDB могут пользоваться теми же функциями, что и пользователи MySQL Enterprise Edition. Enterprise Edition MySQL использует проприетарный код. Только пользователи MySQL Enterprise Edition имеют доступ к этому.

Установка MariaDB

Установить как отдельное приложение

Чтобы использовать MariaDB, вы должны установить его на свой компьютер.

Установка может быть выполнена, следуя инструкциям ниже:

Шаг 1) Загрузите установочный файл со следующего URL:

https://downloads.mariadb.org/

Шаг 2) После завершения загрузки дважды щелкните файл, чтобы начать установку.

Шаг 3) В появившемся окне нажмите кнопку «Далее»:

Шаг 4) Затем примите лицензионное соглашение, установив флажок, затем нажмите кнопку «Далее»:

Шаг 5) Затем выберите функции, которые необходимо установить, и нажмите кнопку «Далее».

Шаг 6) В следующем окне вам будет необходимо изменить пароль для пользователя root.

  1. Введите пароль и подтвердите его, повторно введя тот же пароль. Если вы хотите разрешить доступ с удаленных компьютеров, установите соответствующий флажок.
  2. После этого нажмите кнопку «Далее».

Шаг 7) В следующем окне введите имя для экземпляра, выберите номер порта и установите необходимый размер. Нажмите кнопку Далее:

Шаг 8) В следующем окне просто нажмите кнопку «Далее».

Шаг 9) Запустите установку, нажав кнопку «Установить».

Шаг 10) Индикатор выполнения, показывающий ход установки, будет показан:

Шаг 11) После завершения установки вы увидите кнопку Готово. Нажмите кнопку, чтобы закрыть окно:

Шаг 12) Поздравляем! Теперь у вас на компьютере установлена ​​MariaDB.

Работа с командной строкой

Теперь, когда на вашем компьютере установлена ​​программа MariaDB, пришло время запустить ее и начать использовать. Это можно сделать через командную строку MariaDB.

Следуйте инструкциям ниже:

Шаг 1) Нажмите Пуск, выберите Все программы, затем нажмите MariaDB…

Шаг 2) Выберите командную строку MariaDB.

Шаг 3) Будет запущена командная строка MariaDB. Пришло время войти в систему. Вы должны войти в систему как пользователь root и пароль, который вы установили при установке MariaDB. Введите в командной строке следующую команду:

MySQL -u root -p

Шаг 4) Введите пароль и нажмите клавишу возврата. Вы должны войти в систему, как показано ниже:

Вы вошли в MariaDB.

Типы данных

MariaDB поддерживает следующие типы данных:

  • Строковые типы данных
  • Числовые типы данных
  • Типы данных даты / времени
  • Типы данных больших объектов

Типы данных String

К ним относятся следующие:

Тип данных String Описание
символ (размер) Размер обозначает количество символов для хранения. Он хранит максимум 255 символов. Струны фиксированной длины.
VARCHAR (размер) Размер обозначает количество символов для хранения. Он хранит максимум 255 символов. Строки переменной длины.
размер текста) Размер обозначает количество символов для хранения. Он хранит максимум 255 символов. Струны фиксированной длины.
двоичный (размер) Размер обозначает количество символов для хранения. Он хранит максимум 255 символов. Строки фиксированного размера.

Числовые типы данных

Они включают в себя следующее:

Числовые типы данных Описание
немного Очень маленькое целочисленное значение, эквивалентное tinyint (1). Диапазон значений со знаком составляет от -128 до 127. Диапазон значений без знака находится между 0 и 255.
INT (м) Стандартное целочисленное значение. Диапазон значений со знаком составляет от -2147483648 до 2147483647. Диапазон значений без знака находится между 0 и 4294967295.
плавать (м, д) Число с плавающей запятой с одинарной точностью.
двойная (м, д) Число с плавающей запятой с двойной точностью.
Поплавок (р) Число с плавающей запятой.

Типы данных даты / времени

К ним относятся следующие:

Дата / Время Тип данных Описание
Свидание Отображается в виде ‘гггг-мм-дд.’ Значения находятся в диапазоне от 1000-01-01 до 9999-12-31.
Datetime Отображается в виде «гггг-мм-дд чч: мм: сс». Диапазон значений между 1000-01-01 00:00:00 и 9999-12-31 23:59:59.
метка времени (м) Отображается в виде «гггг-мм-дд чч: мм: сс». Значения находятся в диапазоне между «1970-01-01 00:00:01» и «2038-01-19 03:14:07».
Время Отображается в виде «чч: мм: сс». Значения находятся в диапазоне от -838: 59: 59 до 838: 59: 59.

Типы больших объектов (LOB)

Они включают в себя следующее:

Крупный объект Тип данных Описание
TINYBLOB Его максимальный размер составляет 255 байт.
блоб (размер) Максимальный размер — 65 535 байт.
MEDIUMBLOB Его максимальный размер составляет 16 777 215 байт.
LONGTEXT Максимальный размер — 4 ГБ.

Создать базу данных и таблицы

Для создания новой базы данных в MariaDB у вас должны быть специальные привилегии, которые предоставляются только пользователю root и администраторам.

Чтобы создать новую базу данных, вы должны использовать команду CREATE DATABASE, которая имеет следующий синтаксис:

CREATE DATABASE DatabaseName;  

В этом случае вам необходимо создать базу данных и дать ей имя Demo.

Запустите командную строку MariaDB и войдите в систему как пользователь root, введя следующую команду:

mysql -u root -p

Введите пароль пользователя root и нажмите клавишу возврата. Вы будете авторизованы.

Теперь запустите следующую команду:

CREATE DATABASE Demo;

Затем вы создали базу данных с именем Demo. Вам будет полезно подтвердить, была ли база данных создана успешно или нет. Вам нужно только показать список доступных баз данных, выполнив следующую команду:

SHOW DATABASES;  

Приведенный выше вывод показывает, что база данных Demo является частью списка, следовательно, база данных была успешно создана.

Выбор базы данных

Чтобы вы могли использовать определенную базу данных или работать с ней, вы должны выбрать ее из списка доступных баз данных. После выбора базы данных вы можете выполнять такие задачи, как создание таблиц в базе данных.

Чтобы выбрать базу данных, вы должны использовать команду USE. Он принимает синтаксис, приведенный ниже:

USE database_name;

Вам необходимо использовать демонстрационную базу данных. Вы можете выбрать его, выполнив следующую команду:

USE Demo;

На изображении выше показано, что командная строка MariaDB изменилась с none на имя выбранной базы данных.

Теперь вы можете создавать таблицы в демонстрационной базе данных.

Создание таблицы

Чтобы вы могли создать таблицу, вы должны выбрать базу данных. Таблицу можно создать с помощью оператора 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;

На приведенном выше снимке экрана показано, что две таблицы были успешно созданы в демонстрационной базе данных.

Showing Table Structure

To see the structure of any particular table, you can use the DESCRIBE command, commonly abbreviated as DESC. It takes the following syntax:

DESC TableName;

For example, to see the structure of the table named Book, you can run the following command;

DESC Book;

The table has two columns. To see the structure of the Price table, you can run the following command:

DESC Price;

CRUD and Clauses

INSERT

To insert data into a MariaDB table, you should use the INSERT INTO statement. This command takes the syntax given below:

INSERT INTO tableName
(column_1, column_2, ... )  
VALUES  
(value1, value2, ... ),  
(value1, value2, ... ),  
...;   

The above syntax shows that you have to specify the table columns into which you want to insert data as well as the data that you need to insert.

Let us insert a record into the Book table:

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;

Вставка нескольких записей

Мы можем сразу вставить несколько записей в таблицу MariaDB. Чтобы продемонстрировать это, запустите следующий пример:

INSERT INTO book
(id, name)  
VALUES  
(2,'MariaDB Book2'),  
(3,'MariaDB Book3'),  
(4,'MariaDB Book4'),  
(5,'MariaDB Book5');

Вы можете запросить таблицу, чтобы проверить, были ли записи вставлены успешно:

SELECT * FROM book;

Записи были вставлены успешно. Вставьте несколько записей в таблицу Price, запустив этот пример:

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 со следующими записями:

Изменим цену книги с идентификатором 1 с 200 на 250:

UPDATE price 
SET price = 250
WHERE id = 1;

Команда выполнена успешно. Теперь вы можете запросить таблицу, чтобы увидеть, произошло ли изменение:

На приведенном выше снимке экрана показано, что изменение было реализовано. Рассмотрим таблицу Book со следующими записями:

Давайте изменим название книги с именем Book на MariaDB Book1. Обратите внимание, что книга имеет идентификатор 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;   

Только одна запись была возвращена. Причина заключается в том, что он должен удовлетворять всем указанным условиям, то есть id выше 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. Например:

Мы будем использовать таблицу Price со следующими записями:

Запустите следующую команду для таблицы:

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, используемое для извлечения данных из таблицы базы данных. Это также может помочь при объединении таблиц. Вот синтаксис команды:

SELECT columnNames FROM tableName;   

Чтобы просмотреть содержимое таблицы книги, выполните следующую команду:

SELECT * FROM price;

Предложение может помочь вам выбрать только один столбец из таблицы базы данных. Например:

SELECT price FROM Price;

Расширенные задачи

Хранимая процедура

Процедура — это программа 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 будет определителем функции.
function_name Имя, которое должно быть присвоено этой функции в MariaDB.
параметр Параметр (ы) передан функции. При создании функции все параметры обрабатываются как параметры IN (а не параметры OUT / INOUT).
return_datatype Тип данных возвращаемого значения функции.
ЯЗЫК SQL Это влияет на портативность, но не на функцию.
DETERMINISTIC Функция вернет один результат только при наличии ряда параметров.
НЕ ДЕТЕРМИНИСТИЧЕСКИЙ Функция может возвращать другой результат при заданном количестве параметров.
СОДЕРЖИТ 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 JOINS. Это означает, что JOIN работает с двумя или более таблицами. В MariaDB поддерживаются следующие три типа JOINS:

  • INNER / SIMPLE JOIN
  • СЛЕВАЯ НАРУЖНАЯ / СЛЕВАЯ
  • ПРЯМОЕ НАРУЖНОЕ СОЕДИНЕНИЕ

Давайте обсудим их один за другим:

ВНУТРЕННЕЕ СОЕДИНЕНИЕ

The inner join returns all rows from the tables in which the join condition is true. Its syntax is as follows:

SELECT columns  
FROM table-1   
INNER JOIN table-2  
ON table-1.column = table-2.column;  

For example:

We will use our two tables, books, and book.

The book table has the following data:

The Price table has the following data:

The goal is to join the name column from the Book table and the price column from Price table into a single table. This is possible with an inner join, as demonstrated below:

SELECT book.name, price.price 
FROM book   
INNER JOIN price 
ON book.id = price.id;   

The command returns the following:

LEFT OUTER JOIN

This join returns all the rows from the left-hand table and only rows in which the join condition is true from the other table. Its syntax is as follows:

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.