Genshin Impact Web Event
874 palavras
4 minutos
Domine os comandos essenciais do MariaDB
NOTEVocê consegue rodar os comandos no site sqliteonline
Criar uma tabela
CREATE TABLE Clientes (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(50) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
telefone VARCHAR(20),
datanascto DATE,
endereco VARCHAR(150),
idade INT
);
Alterar a estrutura de uma tabela
ALTER TABLE Clientes
CHANGE id clienteid
INT AUTO_INCREMENT PRIMARY KEY;
Apagar um campo (coluna)
ALTER TABLE Clientes
DROP COLUMN endereco;
Incluir um campo na tabela
ALTER TABLE Clientes
ADD COLUMN cep VARCHAR(9);
Inserir dados na tabela
INSERT INTO Clientes
(nome, email, datanascto, endereco, cep)
VALUES
("Fulano de Tal", "fulano@email.com", "1980-01-01", "Rua das Flores, 123", "12345-678");
Selecionar todos os registros (campos)
SELECT * FROM Clientes;
Usar alias (apelidos) para campos
SELECT nome AS "Nome do Cliente" FROM Clientes;
Contar o número de registros
SELECT COUNT(*) AS TotalDeRegistros FROM Clientes;
Retornar valor do conjunto de dados (OVER)
SELECT nome,
COUNT(*) OVER() AS Total
FROM Clientes;
Ordenar os dados
-- Ordenar em ordem crescente
SELECT * FROM Clientes
ORDER BY nome ASC;
-- Ordenar em ordem decrescente
SELECT * FROM Clientes
ORDER BY nome DESC;
Cláusulas de condição
SELECT id, nome, cep, email
FROM Clientes
WHERE id < 11
ORDER BY nome ASC;
-- O comando acima seleciona os campos id, nome, cep e email da tabela Clientes,
-- onde o id é menor que 11, ordenando os registros pelo campo nome em ordem crescente (alfabética).
Uso do operador LIKE
SELECT nome, email
FROM Clientes
WHERE nome LIKE '%a%';
ORDER BY nome ASC;
-- O comando acima seleciona os campos nome e email da tabela Clientes,
-- onde o nome contém a letra "a",
-- ordenando os registros pelo campo nome em ordem crescente (alfabética).
Uso do operador IN
SELECT nome, email
FROM Clientes
WHERE id IN (1, 3, 5, 7, 9);
ORDER BY nome ASC;
-- O comando acima seleciona os campos nome e email da tabela Clientes,
-- onde o id é igual a 1, 3, 5, 7 ou 9,
-- ordenando os registros pelo campo nome em ordem crescente (alfabética).
Conectivos (AND) e Disjuntivos (OR)
SELECT nome, email
FROM Clientes
WHERE nome LIKE '%a%' AND email LIKE '%@%';
ORDER BY nome ASC;
-- O comando acima seleciona os campos nome e email da tabela Clientes,
-- onde o nome contém a letra "a" *E* o email contém o caractere "@",
-- ordenando os registros pelo campo nome em ordem crescente (alfabética).
SELECT nome, email
FROM Clientes
WHERE nome LIKE '%a%' OR email LIKE '%@%';
ORDER BY nome ASC;
-- O comando acima seleciona os campos nome e email da tabela Clientes,
-- onde o nome contém a letra "a" *OU* o email contém o caractere "@",
-- ordenando os registros pelo campo nome em ordem crescente (alfabética).
Operadores lógicos relacionais
SELECT nome, email
FROM Clientes
WHERE id > 10 AND id < 21;
ORDER BY nome ASC;
-- O comando acima seleciona os campos nome e email da tabela Clientes,
-- onde o id é maior que 10 *E* menor que 21,
-- ordenando os registros pelo campo nome em ordem crescente (alfabética).
SELECT nome, idade
FROM pessoas
WHERE idade > 18
AND sexo = "Feminino";
-- O comando acima seleciona os campos nome e idade da tabela pessoas,
-- onde a idade é maior que 18 *E* o sexo é "Feminino".
SELECT idade, estado
FROM pessoas
WHERE idade > 78
AND estado <> "RN"
AND estado <> "TO";
-- O comando acima seleciona os campos idade e estado da tabela pessoas,
-- onde a idade é maior que 78 *E* o estado é diferente de "RN" *E* diferente de "TO".
DICAOutros operadores lógicos relacionais:
=
,<>
,>
,<
,>=
,<=
.
Funções
-- SUM() - Soma
-- AVG() - Média
-- MAX() - Máximo
-- MIN() - Mínimo
SELECT SUM(idade) AS "Soma das Idades" FROM Clientes;
SELECT AVG(idade) AS "Média das Idades" FROM Clientes;
SELECT MAX(idade) AS "Maior Idade" FROM Clientes;
SELECT MIN(idade) AS "Menor Idade" FROM Clientes;
Limitar o número de registros
SELECT id, idade
FROM Clientes
ORDER BY idade DESC
LIMIT 1, 10;
-- O comando acima seleciona os campos id e idade da tabela Clientes,
-- ordenando os registros pelo campo idade em ordem decrescente,
-- limitando a exibição de 10 registros a partir do registro 1.
Limitar o número de intervalos
SELECT nome, idade
FROM Clientes
WHERE idade BETWEEN 18 AND 30
ORDER BY idade ASC;
-- O comando acima seleciona os campos nome e idade da tabela Clientes,
-- onde a idade está entre 18 e 30 anos,
-- ordenando os registros pelo campo idade em ordem crescente.
Agrupar registros
SELECT estado, idade, COUNT(*) AS "Total"
FROM Clientes
GROUP BY estado
ORDER BY estado, idade ASC;
-- O comando acima seleciona os campos estado, idade e o total de registros da tabela Clientes,
-- agrupando os registros pelo campo estado,
-- ordenando os registros pelo campo estado e idade em ordem crescente.
Agrupamento com filtragem
SELECT estado, COUNT(*)
FROM Clientes
GROUP BY estado
HAVING COUNT(*) > 10;
-- O comando acima seleciona o campo estado e o total de registros da tabela Clientes,
-- agrupando os registros pelo campo estado,
-- filtrando os registros onde o total de registros é maior que 10.
Apagar uma tabela fisicamente
DROP TABLE Clientes;
Apagar TODOS os dados de uma tabela
TRUNCATE Clientes;
Atualizar um registro
UPDATE Clientes
SET idade = 20, endereco = "Rua das Flores, 123"
WHERE id = 1;
Referências
Todo o conteúdo deste post foi baseado na aula de Modelagem de Banco de Dados, do professor Edson M. de Souza
Fonte da imagem do post
Domine os comandos essenciais do MariaDB
https://kurumi30-blog.vercel.app/posts/mariadb-commands/