Aprenda todos os comandos mais importantes para começar a trabalhar com um banco de dados MySQL.
MySQL é um sistema de gerenciamento de banco de dados relacional de código aberto com suporte para Structured Query Language (SQL). Ele ajuda no desenvolvimento de uma ampla gama de aplicativos baseados na web e conteúdo online. MySQL roda em todas as plataformas de SO como Linux/UNIX, macOS, Windows e é um componente importante da pilha LAMP.
O MySQL é um dos sistemas de banco de dados mais populares e muitos provedores de nuvem o oferecem como parte de seu serviço. Ele usa comandos com consultas e dados para realizar tarefas e funções comunicando-se com o banco de dados. Este artigo aborda as instruções MySQL mais usadas que permitem que os usuários trabalhem com bancos de dados de forma eficiente.
Usando o cliente MySQL
O MySQL permite que você se conecte a um servidor usando um cliente como a ferramenta de linha de comando, mysql . Use os sinalizadores -u e -p para fornecer seu nome de usuário e senha:
mysql -u [username] -p
mysql -u [username] -p [database]
Quando terminar, saia do cliente de linha de comando MySQL da seguinte maneira:
exit
Trabalhando com contas de usuário
Para criar uma nova conta de usuário, abra o novo terminal para acessar o MySQL como root e crie um novo usuário da seguinte forma:
$ sudo mysql -u root -p
...
mysql> CREATE USER 'username' IDENTIFIED BY 'password';
Você também pode configurar uma conta de usuário com acesso restrito especificando um host do qual eles devem acessar o banco de dados:
CREATE USER 'user'@'localhost';
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
Para especificar uma conexão remota, você pode substituir o ‘localhost’ pelo endereço IP da máquina da seguinte forma:
CREATE USER 'username'@'ip_address' IDENTIFIED BY 'password';
Por fim, você pode excluir uma conta com a seguinte declaração:
DROP USER 'user'@'ip_address' IDENTIFIED BY 'password';
Privilégios da conta de usuário
Antes de prosseguir, você precisará definir as permissões apropriadas na nova conta de usuário. Isso evita o risco de acesso desnecessário do usuário ao banco de dados.
Você pode trabalhar com privilégios de usuário no MySQL usando instruções como GRANT, REVOKE e ALTER. Dependendo das ações que você deseja que um usuário possa realizar, você pode atribuir todas ou algumas permissões. Essas permissões são ALL PRIVILEGES, SELECT, UPDATE, INSERT, DELETE, CREATE, DROP e GRANT OPTION.
Você pode atribuir o privilégio administrativo de inserir dados em todas as tabelas pertencentes a qualquer banco de dados:
GRANT INSERT ON *.* TO 'username'@'ip_address';
No entanto, você também pode limitar o acesso do usuário especificando o banco de dados antes do período. Você pode permitir que um usuário selecione, insira e exclua dados de e para todas as tabelas dentro de um banco de dados da seguinte forma:
GRANT SELECT, INSERT, DELETE ON database.* TO 'user'@'ip_address' IDENTIFIED BY 'password';
Da mesma forma, você pode restringir o acesso do usuário a uma tabela específica especificando um nome de tabela após o ponto.
GRANT SELECT, INSERT, DELETE ON database.table_name TO 'user'@'ip_address' IDENTIFIED BY 'password';
Você pode conceder todas as permissões para cada tabela dentro de um banco de dados específico da seguinte forma:
GRANT ALL PRIVILEGES ON database.* TO 'user'@'ip_address' IDENTIFIED BY 'password';
Para revogar permissões de um usuário de um único banco de dados:
REVOKE ALL PRIVILEGES ON database.* FROM 'user'@'ip_address';
Você pode revogar todos os privilégios de usuário de cada banco de dados da seguinte forma:
REVOKE ALL PRIVILEGES, GRANT OPTION FROM 'user'@'ip_address';
Finalmente, você pode definir senhas como esta:
SET PASSWORD FOR 'user'@'ip_address' = PASSWORD('new_password');
Observe o uso da função PASSWORD que faz o hash da senha em texto simples .
Trabalhando com bancos de dados
Você pode criar um novo banco de dados com um nome que ainda não existe:
CREATE DATABASE database_name;
Você pode alternar o banco de dados atual para outro com o qual deseja trabalhar:
USE database_name;
Por fim, você pode excluir um banco de dados inteiro junto com suas tabelas da seguinte forma:
DROP DATABASE database_name;
Trabalhando com tabelas
Uma tabela é o principal elemento estrutural de um banco de dados MySQL , agrupando um conjunto de registros relacionados como linhas. Cada linha possui colunas com diferentes tipos de dados que podem ser CHAR, VARCHAR e TEXT entre muitos outros.
A sintaxe geral para criar uma tabela é a seguinte:
CREATE TABLE table_name (column_1 data_type1, column_2 data_type2);
Você também pode criar uma nova tabela a partir de uma tabela existente selecionando colunas específicas da seguinte forma:
CREATE TABLE new_table_name AS SELECT column_1, column_2 FROM existing_table_name;
Você pode adicionar dados a uma tabela usando o seguinte comando:
INSERT INTO table_name (column_1, column_2) VALUES (value_1, value_2);
Para excluir uma tabela, use a instrução DROP TABLE da seguinte forma:
DROP TABLE table_name;
Ou você mantém a tabela, mas exclui todos os seus dados usando:
TRUNCATE TABLE table_name;
Acessando Bancos de Dados
Use a seguinte instrução para mostrar todos os bancos de dados disponíveis dentro do MySQL DMS:
SHOW DATABASES;
Da mesma forma, você pode listar todas as tabelas no banco de dados atual:
SHOW TABLES;
Para visualizar todas as colunas dentro de uma tabela:
DESCRIBE table_name;
Para exibir informações de coluna dentro de uma tabela:
DESCRIBE table_name column_name;
Consultando Bancos de Dados
O MySQL permite que você use uma instrução SELECT para consultar dados do banco de dados. Você pode usar várias cláusulas do MySQL para estender sua funcionalidade básica.
A instrução a seguir retorna um conjunto de resultados que consiste em duas colunas de cada linha em uma tabela:
SELECT column1, column2 FROM table_name;
Ou exiba todas as colunas da seguinte forma:
SELECT * FROM table_name;
Você também pode consultar bancos de dados/tabelas e recuperar informações usando as seguintes condições:
SELECT column1, column2 FROM table_name WHERE condition;
A instrução SELECT também permite agrupar o conjunto de resultados por uma ou mais colunas usando a cláusula GROUP BY. Você pode então usar funções agregadas para calcular dados de resumo:
SELECT COUNT(CustomerID), Country FROM Customers GROUP BY Country;
Atualizando tabelas
Você pode modificar os dados dentro da tabela usando as instruções UPDATE ou ALTER. A instrução UPDATE permite atualizar registros/linhas únicos ou múltiplos existentes.
O seguinte comando MySQL altera o UserName e City de um único registro onde o UserID é 2 :
UPDATE Users SET UserName = 'Alfred James', City= 'Munich' WHERE UserID = 2;
Enquanto este exemplo atualiza todos os UserNames para todos os registros em que a cidade é Munique :
UPDATE Users SET UserName='Juan' WHERE City='Munich';
Você pode adicionar uma coluna a uma tabela como esta:
ALTER TABLE table_name ADD COLUMN column_name;
Para remover uma coluna da tabela, use a instrução ALTER TABLE da seguinte forma:
ALTER TABLE table_name DROP COLUMN column_name;
MySQL para iniciantes
Neste artigo, você viu os comandos MySQL mais comuns. Eles permitem que você gerencie contas de usuários, altere a estrutura de bancos de dados e manipule dados.
Quando estiver familiarizado com o básico, será útil aprender sobre MySQL e segurança. Seu banco de dados pode conter dados pessoais valiosos e confidenciais, portanto, mantê-lo protegido de olhares indiscretos é vital.