Tutorial MariaDB: aprenda sintaxe, comandos com exemplos

O que é o MariaDB?

MariaDB é um fork do sistema de gerenciamento de banco de dados MySQL. Ele é criado por seus desenvolvedores originais. Esta ferramenta DBMS oferece recursos de processamento de dados para tarefas pequenas e empresariais.

MariaDB é uma versão melhorada do MySQL. Ele vem com vários recursos poderosos integrados e muitas melhorias de usabilidade, segurança e desempenho que você não encontra no MySQL.

Aqui estão os recursos do MariaDB:

  • Opera sob licenças GPL, BSD ou LGPL.
  • MariaDB oferece suporte a uma linguagem de consulta popular e padrão.
  • Ele vem com muitos mecanismos de armazenamento, incluindo aqueles de alto desempenho que podem ser integrados a outros sistemas de gerenciamento de banco de dados relacional.
  • Ele fornece a tecnologia de cluster Galera.
  • MariaDB oferece suporte a PHP, uma linguagem popular para desenvolvimento web.
  • MariaDB pode ser executado em diferentes sistemas operacionais e oferece suporte a inúmeras linguagens de programação.
  • MariaDB vem com comandos adicionais que não estão disponíveis no MySQL. O MySQL possui recursos que têm um impacto negativo no desempenho do SGBD. Esses recursos foram substituídos no MariaDB.

MariaDB x MySQL

Abaixo estão algumas diferenças importantes entre MariaDB x MySQL

Parâmetro MariaDB MySQL
Mais opções para mecanismos de armazenamento MariaDB possui 12 novos mecanismos de armazenamento que você não encontrará no MySQL. Possui menos opções de armazenamento em comparação com o MariaDB.
Melhorias de velocidade MariaDB apresenta uma velocidade melhorada quando comparado ao MySQL. Ele vem com vários recursos para otimizar a velocidade. Esses recursos incluem visualizações/tabelas derivadas, subconsulta, controle de execução, acesso ao disco e controle do otimizador. MySQL apresenta uma velocidade mais lenta quando comparado ao MariaDB. Ele depende apenas de alguns recursos para otimização de velocidade, por exemplo, índices hash.
Cache/índices mais rápidos Com o mecanismo de armazenamento de memória do MariaDB, uma instrução INSERT pode ser concluída 24% do que no MySQL padrão. O mecanismo de armazenamento de memória do MySQL é mais lento comparado ao MariaDB.
Pool de conexões maior e mais rápido MariaDB vem com um pool de threads avançado capaz de rodar mais rápido e suportar mais de 200,000 conexões. O pool de threads fornecido pelo MySQL não pode suportar até 200,000 conexões por vez.
Replicação aprimorada No MariaDB, a replicação pode ser feita de forma mais segura e rápida. As atualizações também podem ser feitas 2x mais rápido em comparação com o MySQL tradicional. A edição comunitária do MySQL permite que um número estático de threads seja conectado. O plano empresarial do MySQL vem com recursos de thread.
Novos recursos/extensões MariaDB vem com novos recursos e extensões, incluindo as instruções JSON, WITH e KILL. Os novos recursos do MariaDB não são fornecidos no MySQL.
Recursos ausentes MariaDB não possui alguns dos recursos fornecidos pela edição empresarial do MySQL. Para resolver isso, oferece plug-ins alternativos de código aberto. Conseqüentemente, os usuários do MariaDB podem desfrutar das mesmas funcionalidades que os usuários do MySQL Enterprise Edition. A Enterprise Edition do MySQL usa um código proprietário. Somente usuários do MySQL Enterprise Edition têm acesso a isso.

Como instalar o MariaDB

Instalar como um aplicativo independente

Para usar o MariaDB, você deve instalá-lo no seu computador.

A instalação pode ser feita seguindowing as etapas abaixo:

Passo 1) Abra o URL abaixo
Baixe o arquivo de instalação no link https://downloads.mariadb.org/

Passo 2) Clique duas vezes no arquivo para iniciar a instalação
Assim que o download for concluído, abra o arquivo

Passo 3) Clique no botão Next
Na janela que aparece, clique no botão Avançar:

Instalação do MariaDB

Passo 4) Aceite o contrato de licença
Em seguida, clique no botão Avançar:

Instalação do MariaDB

Passo 5) Escolha o servidor MariaDB
Escolha os recursos que serão instalados e clique em Avançar

Instalação do MariaDB

Passo 6) Digite a senha
Na próxima janela, você será solicitado a alterar a senha do usuário root.

  1. Digite a senha e confirme digitando novamente a mesma senha. Se você deseja permitir o acesso de máquinas remotas, ative a verificação necessáriabox.
  2. Quando terminar, clique no botão Avançar.

Instalação do MariaDB

Passo 7) Digite o nome e escolha o número da porta
Na próxima janela, digite um nome para a instância, escolha o número da porta e defina o tamanho necessário. Clique no botão Avançar:

Instalação do MariaDB

Passo 8) Clique em Avançar
Na próxima janela, basta clicar no botão Avançar.

Passo 9) Clique em Instalar
Inicie a instalação clicando no botão Instalar.

Instalação do MariaDB

Passo 10) Uma barra de progresso mostrada
Uma barra de progressowing o progresso da instalação será mostrado:

Instalação do MariaDB

Passo 11) Clique no botão Concluir
Assim que a instalação for concluída, você verá o botão Concluir. Clique no botão para fechar a janela:

Instalação do MariaDB

Passo 12) Parabéns!
Agora você tem o MariaDB instalado no seu computador.

Trabalhando com prompt de comando

Agora que você tem o MariaDB instalado em seu computador, é hora de iniciá-lo e começar a usá-lo. Isso pode ser feito através do prompt de comando do MariaDB.

Siga os passos abaixo:

Passo 1) Clique em Iniciar, escolha Todos os Programas e clique em MariaDB…

Passo 2) Escolha um prompt de comando MariaDB.

Prompt de comando MariaDB

Passo 3) O prompt de comando do MariaDB será iniciado. Agora é hora de fazer login. Você deve fazer o login como usuário root e a senha que você definiu durante a instalação do MariaDB. Digite o seguintewing comando no prompt de comando:

MySQL -u root -p

Passo 4) Digite a senha e pressione a tecla Enter. Você deverá estar logado, conforme mostrado abaixo:

Prompt de comando MariaDB

Agora você está logado no MariaDB.

Tipos de dados

MariaDB suporta o seguintewing tipos de dados:

  • Tipos de dados de sequência
  • Tipos de dados numéricos
  • Tipos de dados de data/hora
  • Tipos de dados de objetos grandes

Tipos de dados de sequência

Isso inclui o seguintewing:

Tipo de dados String Descrição
caractere (tamanho) O tamanho indica o número de caracteres a serem armazenados. Ele armazena no máximo 255 caracteres. Strings de comprimento fixo.
varchar(tamanho) O tamanho indica o número de caracteres a serem armazenados. Ele armazena no máximo 255 caracteres. Strings de comprimento variável.
Tamanho do texto) O tamanho indica o número de caracteres a serem armazenados. Ele armazena no máximo 255 caracteres. Strings de comprimento fixo.
binário (tamanho) O tamanho indica o número de caracteres a serem armazenados. Ele armazena no máximo 255 caracteres. Strings de tamanho fixo.

Tipos de dados numéricos

Eles incluem o seguintewing:

Tipos de dados numéricos Descrição
bocado Um valor inteiro muito pequeno equivalente a tinyint(1). Os valores assinados variam entre -128 e 127. Os valores não assinados variam entre 0 e 255.
interno(m) Um valor inteiro padrão. Os valores assinados variam entre -2147483648 e 2147483647. Os valores não assinados variam entre 0 e 4294967295.
flutuar (m, d) Um número de ponto flutuante com precisão única.
duplo (m, d) Um número de ponto flutuante com dupla precisão.
flutuar (p) Um número de ponto flutuante.

Tipos de dados de data/hora

Isso inclui o seguintewing:

Tipo de dados de data/hora Descrição
Data Exibido no formato 'aaaa-mm-dd'. Os valores variam entre '1000-01-01' e '9999-12-31'.
Data hora Exibido no formato 'aaaa-mm-dd hh:mm:ss'. Os valores variam entre '1000-01-01 00:00:00' e '9999-12-31 23:59:59'.
carimbo de data/hora (m) Exibido no formato 'aaaa-mm-dd hh:mm:ss'. Os valores variam entre '1970-01-01 00:00:01' utc e '2038-01-19 03:14:07' utc.
Horário Exibido no formato 'hh:mm:ss'. Os valores variam entre '-838:59:59' e '838:59:59'.

Tipos de dados de objetos grandes (LOB)

Eles incluem o seguintewing:

Tipo de dados de objeto grande Descrição
minúsculoblob Seu tamanho máximo é 255 bytes.
bolha (tamanho) Leva 65,535 bytes como tamanho máximo.
bolha média Seu tamanho máximo é 16,777,215 bytes.
texto longo Leva 4 GB como tamanho máximo.

Crie um banco de dados e tabelas

Para criar um novo banco de dados no MariaDB, você deve ter privilégios especiais que são concedidos apenas ao usuário root e administradores.

Para criar um novo banco de dados, você deve usar o comando CREATE DATABASE que leva o seguintewing sintaxe:

CREATE DATABASE DatabaseName;

Neste caso, você precisa criar um banco de dados e dar-lhe o nome de Demo.

Inicie o prompt de comando do MariaDB e faça login como usuário root digitando o seguintewing comando:

mysql -u root -p

Digite a senha root e pressione a tecla Enter. Você estará logado.

Agora, execute o seguintewing comando:

CREATE DATABASE Demo;

Crie um banco de dados e tabelas no MariaDB

Você então criou um banco de dados chamado Demo. Será bom você confirmar se o banco de dados foi criado com sucesso ou não. Você só precisa mostrar a lista dos bancos de dados disponíveis executando o seguintewing comando:

SHOW DATABASES;

Crie um banco de dados e tabelas no MariaDB

A saída acima mostra que o banco de dados Demo faz parte da lista, portanto, o banco de dados foi criado com sucesso.

Banco de dados selecionado MariaDB

Para poder usar ou trabalhar em um determinado banco de dados, você deve selecioná-lo na lista de bancos de dados disponíveis. Depois de selecionar um banco de dados, você pode executar tarefas como criar tabelas no banco de dados.

Para selecionar um banco de dados, você deve usar o comando USE. Leva a sintaxe fornecida abaixo:

USE database_name;

Você precisa usar o banco de dados Demo. Você pode selecioná-lo executando o seguintewing comando:

USE Demo;

Crie um banco de dados e tabelas no MariaDB

A imagem acima mostra que o prompt de comando do MariaDB mudou de nenhum para o nome do banco de dados que foi selecionado.

Agora você pode prosseguir e criar tabelas no banco de dados Demo.

MariaDB – Criar Tabela

Para poder criar uma tabela, você deve ter selecionado um banco de dados. A tabela pode ser criada usando a instrução CREATE TABLE. Aqui está a sintaxe do comando:

CREATE TABLE tableName (columnName columnType);

Você pode definir uma das colunas como a chave primária. Esta coluna não deve permitir valores nulos.

Criaremos duas tabelas no banco de dados Demo, tabelas Livro e Preço. Cada tabela terá duas colunas.

Vamos começar criando a tabela Book com duas colunas, id e name. Execute o seguintewing comando:

CREATE TABLE Book(  
id INT NOT NULL AUTO_INCREMENT,  
name VARCHAR(100) NOT NULL,  
PRIMARY KEY (id));  

Crie um banco de dados e tabelas no MariaDB

A restrição PRIMARY KEY foi usada para definir a coluna id como a chave primária da tabela. A propriedade AUTO_INCREMENT incrementará os valores da coluna id em 1 automaticamente para cada novo registro inserido na tabela. Todas as colunas não permitirão valores nulos.

Agora, crie a segunda tabela, a tabela Price:

CREATE TABLE Price(  
id INT NOT NULL AUTO_INCREMENT,  
price float NOT NULL,  
PRIMARY KEY (id));  

Crie um banco de dados e tabelas no MariaDB

A coluna id foi definida como a chave primária da tabela.

Showing Tabelas

Agora que você criou as duas tabelas, será bom verificar se as tabelas foram criadas com sucesso ou não. Você pode mostrar a lista de tabelas contidas em um banco de dados executando o seguintewing comando:

SHOW TABLES;

Crie um banco de dados e tabelas no MariaDB

A captura de tela acima mostra que as duas tabelas foram criadas com sucesso no banco de dados Demo.

Showing Estrutura da tabela

Para ver a estrutura de qualquer tabela específica, você pode usar o comando DESCRIBE, comumente abreviado como DESC. É preciso o seguintewing sintaxe:

DESC TableName;

Por exemplo, para ver a estrutura da tabela chamada Livro, você pode executar o seguintewing comando;

DESC Book;

Crie um banco de dados e tabelas no MariaDB

A tabela possui duas colunas. Para ver a estrutura da tabela de preços, você pode executar o seguintewing comando:

DESC Price;

Crie um banco de dados e tabelas no MariaDB

CRUD e cláusulas

INSIRA

Para inserir dados em uma tabela MariaDB, você deve usar a instrução INSERT INTO. Este comando segue a sintaxe fornecida abaixo:

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

A sintaxe acima mostra que você deve especificar as colunas da tabela nas quais deseja inserir os dados, bem como os dados que precisa inserir.

Vamos inserir um registro na tabela Book:

INSERT INTO book  
(id, name)  
VALUES(1, 'MariaDB Book');  

CRUD e Cláusulas-INSERT

Você inseriu um único registro na tabela. Insira um registro na tabela Preço:

INSERT INTO price
(id, price)  
VALUES(1, 200);  

CRUD e Cláusulas-INSERT

O registro foi criado.

SELECIONE

A instrução SELECT nos ajuda a visualizar ou ver o conteúdo de uma tabela de banco de dados. Para ver o conteúdo da tabela Book, por exemplo, você precisa executar o seguintewing comando:

SELECT * from book;

CRUD e Cláusulas-INSERT

Agora, visualize o conteúdo da tabela Preço:

SELECT * from price;

CRUD e Cláusulas-INSERT

Inserindo Vários Registros

É possível inserir vários registros em uma tabela MariaDB de uma só vez. Para demonstrar isso, execute o seguintewing exemplo:

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

Inserindo Vários Registros

Você pode consultar a tabela para verificar se os registros foram inseridos com sucesso:

SELECT * FROM book;

Inserindo Vários Registros

Os registros foram inseridos com sucesso. Insira vários registros na tabela Price executando este exemplo:

INSERT INTO price 
(id, price)  
VALUES  
(2, 250),  
(3, 220),  
(4, 190),  
(5, 300); 

Inserindo Vários Registros

Vamos confirmar se os registros foram criados com sucesso:

SELECT * FROM price;

Inserindo Vários Registros

ATUALIZAÇÃO

O comando UPDATE nos ajuda a alterar ou modificar os registros que já foram inseridos em uma tabela. Você pode combiná-lo com a cláusula WHERE para especificar o registro que será atualizado. Aqui está a sintaxe:

UPDATE tableName SET field=newValue, field2=newValue2,...  
[WHERE ...]  

O comando UPDATE também pode ser combinado com cláusulas como SET, WHERE, LIMIT e ORDER BY. Você verá isso em breve:

Considere a tabela chamada Preço com o seguintewing registros:

CRUD e Cláusulas-ATUALIZAÇÃO

Vamos alterar o preço do livro com id 1 de 200 para 250:

UPDATE price 
SET price = 250
WHERE id = 1;

CRUD e Cláusulas-ATUALIZAÇÃO

O comando foi executado com sucesso. Agora você pode consultar a tabela para ver se a alteração ocorreu:

CRUD e Cláusulas-ATUALIZAÇÃO

A captura de tela acima mostra que a mudança foi implementada. Considere o livro de mesa com o seguintewing registros:

CRUD e Cláusulas-ATUALIZAÇÃO

Vamos mudar o nome do livro chamado Book para MariaDB Book1. Observe que o livro tem um id 1. Aqui está o comando para isso:

UPDATE book
SET name = “MariaDB Book1”
WHERE id = 1;

CRUD e Cláusulas-ATUALIZAÇÃO

Verifique se a mudança foi implementada:

CRUD e Cláusulas-ATUALIZAÇÃO

A captura de tela acima mostra que a mudança foi implementada com sucesso.

Nos exemplos acima, alteramos apenas uma coluna por vez. No entanto, é possível alterar várias colunas de uma só vez. Vamos demonstrar isso usando um exemplo.

Vamos usar a tabela Price com o seguintewing Dados:

CRUD e Cláusulas-ATUALIZAÇÃO

Vamos alterar o id e o preço do livro com um id 5. Vamos mudar o id para 6 e o ​​preço para 6. Execute o seguintewing comando:

UPDATE price
SET id = 6,
price = 280
WHERE id = 5;

CRUD e Cláusulas-ATUALIZAÇÃO

Agora, consulte a tabela para verificar se a alteração foi feita com sucesso:

CRUD e Cláusulas-ATUALIZAÇÃO

A alteração foi feita com sucesso.

Apagar

Usamos o comando DELETE quando precisamos excluir um ou vários registros de uma tabela. Aqui está a sintaxe do comando:

DELETE FROM tableName  
[WHERE condition(s)]  
[ORDER BY exp [ ASC | DESC ]]  
[LIMIT numberRows];   

Considere a tabela de preços com o seguintewing registros:

CRUD e Cláusulas-DELETE

Precisamos deletar o último registro da tabela. Tem id 6 e preço 280. Vamos deletar o registro:

DELETE FROM price
WHERE id = 6;   

CRUD e Cláusulas-DELETE

O comando foi executado com sucesso. Vamos consultar a tabela para confirmar se a exclusão foi bem-sucedida:

CRUD e Cláusulas-DELETE

A saída mostra que o registro foi excluído com sucesso.

Onde

A cláusula WHERE nos ajuda a especificar o local exato onde precisamos fazer uma alteração. É usado junto com instruções como INSERT, SELECT, UPDATE e DELETE. Considere a tabela de preços com o seguintewing Dados:

CRUD e cláusulas-onde

Suponha que precisamos ver os registros cujo preço é inferior a 250. Podemos executar o seguintewing comando:

SELECT *   
FROM price 
WHERE price < 250;  

CRUD e cláusulas-onde

Todos os registros em que o preço está abaixo de 250 foram retornados.

A cláusula WHERE pode ser combinada com a instrução AND. Suponha que precisamos ver todos os registros na tabela Price onde o preço está abaixo de 250 e o id está acima de 3. Podemos executar o seguintewing comando:

SELECT *  
FROM price  
WHERE id > 3  
AND price < 250;   

CRUD e cláusulas-onde

Apenas um registro foi retornado. A razão é que deve atender a todas as condições que foram especificadas, ou seja, id acima de 3 e preço abaixo de 250. Se alguma dessas condições for violada, o registro não será devolvido.

A cláusula também pode ser combinada com o comando OR. Vamos substituir AND em nosso comando anterior por OR e ver o tipo de saída que recebemos:

SELECT *  
FROM price 
WHERE id > 3  
OR price < 250;   

CRUD e cláusulas-onde

Agora obtemos 2 recordes em vez de 1. Isto porque, para um recorde de qualificação, só tem de cumprir uma das condições especificadas.

Como

Esta cláusula é usada para especificar o padrão de dados ao acessar dados da tabela em que é necessária uma correspondência exata. Pode ser combinado com as instruções INSERT, UPDATE, SELECT e DELETE.

Você deve passar o padrão de dados que está procurando para a cláusula e ela retornará verdadeiro ou falso. Aqui estão os caracteres curinga que podem ser usados ​​junto com a cláusula:

  • %: para combinar 0 ou mais caracteres.
  • _: para combinar um único caractere.

Aqui está a sintaxe da cláusula LIKE:

SELECT field_1, field_2,... FROM tableName1, tableName2,...  
WHERE fieldName LIKE condition;

Vamos demonstrar como usar a cláusula com o caractere curinga %. Vamos usar a tabela Book com o seguintewing registros:

CRUD e cláusulas-onde

Precisamos ver todos os registros em que o nome começa com M. Podemos executar o seguintewing comando:

SELECT name  
FROM book  
WHERE name LIKE 'M%';  

CRUD e cláusulas-onde

Todos os registros foram retornados porque seus nomes começam com a letra M. Para ver todos os nomes que terminam com 4, você pode executar o seguintewing comando:

SELECT name  
FROM book  
WHERE name LIKE '%4';  

CRUD e cláusulas-onde

Apenas um nome foi retornado porque é o único que atende à condição.

Também podemos cercar o padrão de pesquisa pelo curinga:

SELECT name  
FROM book  
WHERE name LIKE '%DB%';  

CRUD e cláusulas-onde

Além do curinga %, a cláusula LIKE pode ser usada junto com o curinga _. Este é o curinga de sublinhado e procurará apenas um único caractere.

Vamos trabalhar com a tabela Price com o seguintewing registros:

CRUD e cláusulas-onde

Vamos verificar o registro em que o preço é semelhante a 1_0. Nós executamos o seguintewing comando:

SELECT *  
FROM price
WHERE price LIKE '1_0';  

CRUD e cláusulas-onde

Devolveu o registo em que o preço é 190. Também podemos tentar outro padrão:

SELECT *  
FROM price 
WHERE price LIKE '_2_';  

CRUD e cláusulas-onde

É possível usarmos a cláusula LIKE junto com o operador NOT. Isso retornará todos os registros que não atendem ao padrão especificado. Por exemplo:

Vamos usar a tabela Price com o seguintewing registros:

CRUD e cláusulas-onde

Vamos encontrar todos os registros onde o preço não começa com 2:

SELECT *  
FROM price  
WHERE price NOT LIKE '2%';  

CRUD e cláusulas-onde

Apenas um registro não atende ao padrão especificado.

Por fim

Esta cláusula nos ajuda a classificar nossos registros em ordem crescente ou decrescente. Nós o usamos com a instrução SELECT, conforme mostrado abaixo:

SELECT expression(s)  
FROM tables  
[WHERE condition(s)]  
ORDER BY exp [ ASC | DESC ];   

É possível usarmos esta cláusula sem adicionar a parte ASC ou DESC. Por exemplo:

Usaremos a tabela Price com o seguintewing registros:

CRUD e cláusulas-onde

Execute o seguintewing comando contra a mesa:

SELECT * FROM price 
WHERE price LIKE '2%.'
ORDER BY price;   

CRUD e cláusulas-onde

No comando acima, ordenamos pelo preço. Os registros foram ordenados com os preços em ordem crescente. Isso significa que quando não especificamos a ordem, a classificação é feita em ordem crescente por padrão.

Vamos executar a cláusula com a opção DESC:

SELECT * FROM price
WHERE price LIKE '2%'  
ORDER BY price DESC;   

CRUD e cláusulas-onde

Os registros foram classificados com o preço em ordem decrescente conforme especificamos.

Vamos usar a cláusula ORDER BY junto com o atributo ASC:

SELECT * FROM price 
WHERE price LIKE '2%.'  
ORDER BY price ASC;   

CRUD e cláusulas-onde

Os discos foram ordenados mas com os preços em ordem crescente. Isso é semelhante a quando usamos a cláusula ORDER BY sem os atributos ASC ou DESC.

DISTINCT

Esta cláusula nos ajuda a eliminar duplicatas ao selecionar registros de uma tabela. Isso significa que nos ajuda a obter registros únicos. Sua sintaxe é fornecida abaixo:

SELECT DISTINCT expression(s)  
FROM tableName  
[WHERE condition(s)];   

Para demonstrar isso, usaremos a tabela Price com o seguintewing Dados:

CRUD e Cláusulas-DISTINCT

Quando selecionamos a coluna de preço da tabela, obtemos o seguintewing resultado:

SELECT price FROM Price;

CRUD e Cláusulas-DISTINCT

Temos dois registros com preço de 250, criando uma duplicata. Precisamos ter apenas registros únicos. Podemos filtrá-los usando a cláusula DISTINCT conforme mostrado abaixo:

SELECT DISTINCT price FROM Price;

CRUD e Cláusulas-DISTINCT

Agora não temos duplicatas na saída acima.

De

A cláusula FROM usada para buscar dados de uma tabela de banco de dados. Também pode ajudar na junção de tabelas. Aqui está a sintaxe do comando:

SELECT columnNames FROM tableName; 

Para ver o conteúdo da tabela do livro, execute o seguintewing comando:

SELECT * FROM price;

CRUD e cláusulas de

A cláusula pode ajudá-lo a buscar apenas uma única coluna de uma tabela de banco de dados. Por exemplo:

SELECT price FROM Price;

CRUD e cláusulas de

Tarefas Avançadas

Procedimento armazenado

Um procedimento é um programa MariaDB para o qual você pode passar parâmetros. Um procedimento não retorna valores. Para criar um procedimento, usamos o comando CREATE PROCEDURE.

Para demonstrar como criar e chamar um procedimento, criaremos um procedimento chamado myProcedure() que nos ajuda a selecionar a coluna de nome na tabela book. Aqui está o procedimento:

DELIMITER $
    CREATE PROCEDURE myProcedure()
        BEGIN
            SELECT name FROM book;
        END;
;

Procedimento armazenado de tarefas avançadas

O procedimento foi criado. Simplesmente incluímos a instrução SELECT nas cláusulas BEGIN e END do procedimento.

Agora, podemos chamar o procedimento pelo seu nome, conforme mostrado abaixo:

CALL myProcedure();

Procedimento armazenado de tarefas avançadas

O procedimento retorna a coluna de nome da tabela book quando chamado.

Podemos criar um procedimento que receba um parâmetro. Por exemplo, precisamos selecionar o nome do livro e filtrar usando o id do livro. Podemos criar o seguintewing procedimento para isso:

DELIMITER $
    CREATE PROCEDURE myProcedure2(book_id int)
        BEGIN
            SELECT name FROM book WHERE id = book_id;
        END;
;

Procedimento armazenado de tarefas avançadas

Acima, criamos um procedimento chamado myProcedure2(). Este procedimento usa um parâmetro inteiro chamado book_id que é o id do livro cujo nome precisamos ver. Para ver o nome do livro com id 3, podemos chamar o procedimento da seguinte forma:

CALL myProcedure2(3);

Procedimento armazenado de tarefas avançadas

função

Ao contrário dos procedimentos, devemos passar parâmetros para funções e uma função deve retornar um valor. Para criar uma função no MariaDB, usamos a instrução CREATE FUNCTION. A declaração segue o seguintewing sintaxe:

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;

Os parâmetros acima são descritos abaixo:

Parâmetro Descrição
Cláusula DEFINER Este parâmetro é opcional. Se você não especificar, o definidor se tornará o usuário que criou a função. Caso haja necessidade de especificar um definidor diferente, inclua a cláusula DEFINER na qual o nome_do_usuário será o definidor da função.
nome_função O nome que será atribuído a esta função no MariaDB.
parâmetro Os parâmetros passados ​​para a função. Durante a criação da função, todos os parâmetros são tratados como Parâmetros IN (em vez dos parâmetros OUT/INOUT).
return_datatype O tipo de dados do valor de retorno da função.
IDIOMA SQL Afeta a portabilidade, mas não a função.
DETERMINISTICO A função retornará um resultado apenas quando receber vários parâmetros.
NÃO DETERMINISTA É possível que a função retorne um resultado diferente quando recebe vários parâmetros.
CONTÉM SQL Informa ao MariaDB que esta função contém SQL. O banco de dados não verificará se isso é verdade.
SEM SQL Esta cláusula não é usada e não tem impacto na sua função.
LÊ DADOS SQL Diz ao MariaDB que esta função usará instruções SELECT para ler dados, mas não modificará os dados.
MODIFICA DADOS SQL Diz ao MariaDB que esta função usará INSERT, DELETE, UPDATE e outros DDL instruções para modificar dados SQL.
seção de declaração É aqui que as variáveis ​​locais devem ser declaradas.
seção executável O código da função deve ser adicionado aqui.

Aqui está um exemplo de função 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 ;

Função no MariaDB

Podemos então chamar a função acima da seguinte forma:

select sumFunc(1000);

O comando retornará o seguintewing:

Função no MariaDB

Depois de concluir uma função, será bom excluí-la. Isso é fácil, pois você só precisa chamar a instrução DROP FUNCTION que leva o seguintewing sintaxe:

DROP FUNCTION function_name;

Por exemplo, para eliminar a função chamada myFunc, podemos executar o seguintewing comando:

DROP FUNCTION myFunc;

Cadastre-se

Quando você precisar recuperar dados de mais de uma tabela de uma só vez, use MariaDB JOINS. Isto significa que um Cadastre-se funciona em duas ou mais tabelas. O seguintewing três tipos de JOINS são suportados no MariaDB:

  • JUNÇÃO INTERNA/SIMPLES
  • LEFT OUTER JOIN/LEFT JOIN
  • RIGHT OUTER JOIN/RIGHT JOIN

Vamos discuti-los um por um:

INNER JOIN

A junção interna retorna todas as linhas das tabelas nas quais a condição de junção é verdadeira. Sua sintaxe é a seguinte:

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

Por exemplo:

Usaremos nossas duas tabelas, livros e livro.

A mesa do livro tem o seguintewing Dados:

INNER JOIN

A tabela de preços tem o seguintewing Dados:

INNER JOIN

O objetivo é unir a coluna nome da tabela Livro e a coluna preço da tabela Preço em uma única tabela. Isso é possível com uma junção interna, conforme demonstrado abaixo:

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

O comando retorna o seguintewing:

INNER JOIN

JUNÇÃO EXTERNA ESQUERDA

Esta junção retorna todas as linhas da tabela à esquerda e apenas as linhas nas quais a condição de junção é verdadeira da outra tabela. Sua sintaxe é a seguinte:

SELECT columns  
FROM table-1  
LEFT [OUTER] JOIN table-2  
ON table-1.column = table-2.column;  

A palavra-chave OUTER foi colocada entre colchetes porque é opcional.

Por exemplo:

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

O comando retorna o seguintewing:

JUNÇÃO EXTERNA ESQUERDA

O último registro na tabela acima não possui valor correspondente à esquerda. É por isso que foi substituído por NULL.

DIREITO OUTER JOIN

Esta junção retorna todas as linhas da tabela à direita e apenas as linhas nas quais a condição de junção é verdadeira da outra tabela. Sua sintaxe é a seguinte:

SELECT columns  
FROM table-1  
RIGHT [OUTER] JOIN table-2  
ON table-1.column = table-2.column;  

A palavra-chave OUTER foi colocada entre colchetes porque é opcional.

Por exemplo:

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

O comando retorna o seguintewing:

DIREITO OUTER JOIN

A razão é que todas as linhas da tabela à direita foram correspondidas com as da outra tabela. Se algumas das linhas não correspondessem, teríamos NULLs na primeira coluna.