Compartilhamento de tecnologia

Funções comuns do MySQL

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Como um sistema de gerenciamento de banco de dados relacional amplamente utilizado, o MySQL fornece funcionalidades ricas para suportar vários tipos de aplicativos. A seguir estão algumas funções comuns do MySQL:

Gerenciamento de banco de dados

1. Crie e gerencie bancos de dados e tabelas:

MySQL fornece instruções SQL flexíveis para criar, modificar e excluir bancos de dados e suas tabelas.

CREATE DATABASE mydatabase;
CREATE TABLE mytable (id INT PRIMARY KEY, name VARCHAR(50));
  • 1
  • 2

2. Inserção, atualização e exclusão de dados:

Use instruções SQL padrão para manipulação de dados.

INSERT INTO mytable (id, name) VALUES (1, 'Alice');
UPDATE mytable SET name = 'Bob' WHERE id = 1;
DELETE FROM mytable WHERE id = 1;
  • 1
  • 2
  • 3

3. Consulta de dados:

Recuperação de dados por meio de instruções SELECT, incluindo JOINs complexos, subconsultas, classificação e agrupamento.

SELECT * FROM mytable WHERE name = 'Alice';
SELECT name, COUNT(*) FROM mytable GROUP BY name;
  • 1
  • 2

Segurança e permissões

1. Gerenciamento de usuários e controle de permissões:

O MySQL fornece controle de permissão refinado, permitindo que administradores atribuam permissões diferentes a usuários diferentes.

CREATE USER 'user1'@'localhost' IDENTIFIED BY 'password';
GRANT SELECT, INSERT ON mydatabase.* TO 'user1'@'localhost';
  • 1
  • 2

2. Gestão de funções:

A partir do MySQL 8.0, o gerenciamento de funções é suportado, simplificando a atribuição e o gerenciamento de permissões.

CREATE ROLE 'developer';
GRANT SELECT, INSERT, UPDATE ON mydatabase.* TO 'developer';
GRANT 'developer' TO 'user1'@'localhost';
  • 1
  • 2
  • 3

Otimização de performance

1. Índice:

O MySQL oferece suporte a vários tipos de índice, como índice B-Tree, índice de texto completo e índice espacial, para melhorar o desempenho da consulta.

CREATE INDEX idx_name ON mytable(name);
  • 1

2. Cache de consulta:

O MySQL fornece uma função de cache de consulta, que pode armazenar em cache os resultados da consulta e melhorar a eficiência de execução da mesma consulta (removida no MySQL 8.0).

3. Esquema de Desempenho:

Um conjunto de tabelas e ferramentas é fornecido para monitorar e analisar o desempenho do banco de dados.

SELECT * FROM performance_schema.events_statements_summary_by_digest;
  • 1

Replicação e alta disponibilidade

1. Replicação mestre-escravo:

MySQL suporta replicação mestre-escravo para distribuição de dados e alta disponibilidade.

CHANGE MASTER TO MASTER_HOST='master_host', MASTER_USER='replication_user', MASTER_PASSWORD='password';
START SLAVE;
  • 1
  • 2

2. Cluster (cluster MySQL InnoDB):

Forneça soluções de cluster de banco de dados de alta disponibilidade para garantir alta disponibilidade e consistência de dados.

Backup e recuperação de dados

1. Backup lógico:

usar mysqldump Ferramentas para backup lógico.

mysqldump -u root -p mydatabase > mydatabase.sql
  • 1

2. Backup físico:

usar mysqlbackup(Backup Empresarial MySQL) ou xtrabackup(Percona XtraBackup) para backup físico.

Outros recursos avançados

1. Gatilho:

Código SQL que é executado automaticamente quando eventos específicos (como INSERT, UPDATE, DELETE) ocorrem em uma tabela específica.

CREATE TRIGGER mytrigger BEFORE INSERT ON mytable FOR EACH ROW SET NEW.name = UPPER(NEW.name);
  • 1

2. Procedimentos e funções armazenados:

Encapsule um conjunto de instruções SQL para que possam ser chamadas diversas vezes para melhorar a capacidade de reutilização e manutenção do código.

CREATE PROCEDURE myprocedure(IN param1 INT)
BEGIN
  SELECT * FROM mytable WHERE id = param1;
END;
  • 1
  • 2
  • 3
  • 4

3. Visualizar:

Crie tabelas virtuais para consultas complexas para melhorar a legibilidade e a reutilização das consultas.

CREATE VIEW myview AS SELECT name FROM mytable WHERE id > 10;
  • 1

Através dessas funções, o MySQL fornece um conjunto de ferramentas poderoso para atender às necessidades de vários cenários de aplicação.