Como inserir dados no MySQL

O comando INSERT INTO é usado para inserir dados em uma tabela – e você pode fazer uso dele tanto na linha de comando do MySQL, quanto dentro de um script PHP.

Saiba Mais:

Veja como criar um banco de dados no MySQL
como criar uma tabela no MySQL

Sintaxe

Simplificando, para inserir dados na sua tabela, o comando é usado assim:

INSERT INTO nome_da_tabela (campo1, campo2, ... )
  VALUES (valor1, valor2, ... );

Usando a linha de comando do MySQL

Vamos tomar como exemplo a primeira tabela criada aqui:

CREATE TEMPORARY TABLE IF NOT EXISTS contatos (
nome VARCHAR(50) NOT NULL,
telefone VARCHAR(25) NOT NULL
)ENGINE=CSV;

Veja, abaixo, o procedimento para inserir dados na tabela:

INSERT INTO contatos (nome, telefone) VALUES ("Jose Santos", "572593478832");

Se quiser, insira mais alguns registros, com valores diferentes, para praticar.

Como criar um script PHP para inserir dados numa tabela

Basicamente, você vai usar o mesmo comando, só que dentro do script.
A melhor maneira de explicar como inserir dados desta forma é através de um exemplo prático. Veja como fazer:

<html><html>
<head>
<title>Como criar tabelas com PHP</title>
</head>
<body>
<?php
/* substitua as variáveis abaixo pelas que se adequam ao seu caso */
$dbhost = 'localhost:3036'; // endereco do servidor de banco de dados
$dbuser = 'root'; // login do banco de dados
$dbpass = 'cachorro'; // senha
$dbname = 'primeiro'; // nome do banco de dados a ser usado
$conecta = mysql_connect($dbhost, $dbuser, $dbpass, $dbname);
$seleciona = mysql_select_db($dbname);
$nome = "Justo Verissimo";
$telefone = "88888888";
$sqlinsert = "INSERT INTO contatos (nome, telefone) VALUES ('$nome', '$telefone')";
$inserenome = mysql_query( $sqlinsert, $conecta );
// inicia a conexao ao servidor de banco de dados
if(! $conecta )
{
  die("<br />Nao foi possivel conectar: " . mysql_error());
}
echo "<br />Conexao realizada!";

// seleciona o banco de dados no qual a tabela vai ser criada
if (! $seleciona)
{
  die("<br />Nao foi possivel selecionar o banco de dados $dbname");
}
echo "<br />selecionado o banco de dados $dbname";

// finalmente, cria a tabela 
if(! $inserenome )
{
  die("<br />Nao foi possivel inserir registro: " . mysql_error());
}
echo "<br />Um novo registro foi feito!";
// encerra a conexão
mysql_close($conecta);
?>
</body>
</html>

O exemplo acima, insere na tabela contatos sempre os mesmos valores (definidos nas linhas 11 e 12, a cada vez que a página
for recarregada.
Se tudo der certo, o resultado, no seu navegador será parecido com o da figura abaixo:
MySQL Tutorial - Script PHP para inserir dados no MySQL
Você pode ver os registros inseridos ao rodar o comando abaixo no cliente MySQL:

mysql> SELECT * FROM contatos;
+-----------------+----------+
| nome            | telefone |
+-----------------+----------+
| Justo Verissimo | 88888888 |
| Justo Verissimo | 88888888 |
| Justo Verissimo | 88888888 |
+-----------------+----------+
11 rows in set (0.06 sec)

Isto serve para mostrar que o script funcionou. O ideal é que ele tenha um formulário para inserir os dados – tarefa que renderia um outro post.

Recuperação do Motorola Razr brickado

A Flávia Jobstraibizer recuperou o Motorola Razr D1 XT910 dela e contou como fez isto.
Depois de uma falha no LCD e no fone, o aparelho “brickou” em uma atualização do Android.
Portanto, com o sistema operacional danificado e sem a possibilidade de carregar a bateria, o smartphone estava inutilizado.
Me acompanhe e veja como ela resolveu o problema.

O que você vai precisar
  • RSD Lite – um programa para fazer flash da ROM. Pegue aqui;
  • ROMs oficiais – uma delas será necessária e você vai encontrar as do Motorola Razr XT910 (o nosso aparelho) aqui;
  • Drivers da Motorola – para seu computador reconhecer o seu aparelho, e mostrar as informações pro RSD Lite. Você encontra aqui
  • Chave Torx T3

Os procedimentos, aqui descritos, são voltados para usuários avançados e que sabem o que estão fazendo. Se você decidir que deve aplicar as dicas no seu aparelho, faça isto por sua própria conta e risco.

LEIA MAIS:

Abrindo o Motorola

Embaixo da proteção da câmera, há um parafuso T3 escondido. Remova a proteção com cuidado.
Para isto, você pode usar uma palheta de plástico ou outro objeto fino o suficiente.
motorola razr D1 remover proteção da câmera
Aparelhos “blindados”, cujas baterias não podem ser removidas facilmente, dão um pouco mais de trabalho. Tenha paciência.
Agora remova a caixa de proteção da câmera, desatarraxando o parafuso T3.
motorola razr desatarraxando o parafuso T3
A capa traseira dele é feita de Kevlar, resistente e flexível, como você pode ver na próxima figura.
Motorola Razr D1 D3 Droid Android

Conectando a energia

Diferente de outros aparelhos, este usa pontos de contato (contact points) entre a bateria e o restante da carcaça. É um objeto vermelho.
motorola razr D1 - pontos de contato com a bateria
Você pode usar uma chave torx T5 ou outro objeto pontudo e/ou fino para cuidadosamente remover a peça de contato entre a bateria e o aparelho — feita de silicone e muito flexível.
motorola razr D1 - pontos de contato com a bateria
Neste modelo, a remoção da bateria implicaria em tirar 6 parafusos. Portanto foi feita a opção de dar carga diretamente com o cabo mini USB, como você pode ver nas próximas figuras.
Desencape as pontas dos fios — o vermelho é o positivo. O preto é o negativo. Fique atento.
Motorola Razr D1 cabo mini USB
Em seguida em seguida, desatarraxe um pouco os parafusos T3 – não os remova totalmente.
Desaparafuse os parafusos T3
Agora passe os fios, enrolando-os, nos parafusos. O vermelho no positivo e o preto no negativo.
parafusos t3 motorola razr
Assim que você conectar a outra ponta na tomada de energia, o aparelho vai ligar.

Reinstalando o sistema operacional

Conecte um outro cabo mini USB na entrada de dados do aparelho, para comunicar com o computador.
Neste aparelho, o sistema operacional está corrompido – e nós vamos resolver isto em breve.
Motorola Razr D1 - Android corrompido
No computador, abra o RSD Lite e refaça a flash da ROM do seu aparelho. É possível que você tenha que fazer isto várias vezes até dar certo.
motorola rzar d1 odin android
Aguarde enquanto o aparelho reinicia. Ele vai fazer isto várias vezes.
Não desconecte os cabos e aguarde.
Motorola Razr D1 Android
Após a última reinicialização, o sistema vai iniciar – observe o robozinho verde aparecer rapidamente, para informar que houve atualização no sistema.
Motorola Logo Logotipo
Quando o sistema estiver iniciado e rodando, ele irá atualizar os seus próprios pacotes.
motorola razr D1 atualização do Android

Finalmente

Neste momento, o seu aparelho já voltou a funcionar. Desligue-o.
Remova todos os cabos, feche tudo e ligue novamente o celular.
Conecte o celular a uma carregador e termine de carregar a bateria.
Para finalizar, vou deixar alguns links, que podem ser úteis:

Leia mais!
  • Os segredos do Razr D1 — veja como acessar os menus secretos no seu aparelho
  • Site da Flávia Jobstraibizer — Neste post, eu relatei o trabalho que ela realizou
  • @flaviajobs — Twitter da Flávia. Vale acompanhar
  • iFixit — de onde retirei parcialmente algumas imagens e informações de aparelhos semelhantes ao que foi objeto deste post

O Razr, agora, é uma central multimídia, no carro da Flavinha… 😉

Como criar tabelas no MySQL

Neste post vou tentar mostrar objetivamente como criar tabelas em um banco de dados através da linha de comando do cliente MySQL.
Dada a grande quantidade de parâmetros aceitos, a declaração CREATE TABLE é uma das mais complexas no MySQL. Por isto vou procurar simplificar através de exemplos práticos — já pressupondo que você tenha privilégios para criar novas tabelas e saiba como criar bancos de dados. Ao final do texto, vou mostrar como criar tabelas em um script PHP.
Comece por selecionar o banco de dados dentro do qual uma nova tabela será criada:

USE nome_do_banco;

Sintaxe de CREATE TABLE

De acordo com a documentação da Oracle, a sintaxe mais simplificada é esta aqui:

CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name
    (create_definition,...)

As partes da declaração que se encontram entre [] (colchetes) são opcionais:

  • TEMPORARY – indica que a tabela criada será temporária, o que significa que ela expira assim que a sua sessão no MySQL terminar. Use-a sempre que estiver fazendo testes.
  • IF NOT EXISTS – verifica a prévia existência da tabela e evita uma interrupção do script, causada por erro.

Os nomes das tabelas são sensíveis à caixa (case sensitive). Ou seja, tbl_name e Tbl_Name são dois nomes totalmente diferentes pro MySQL.
Uma tabela é composta por uma ou mais colunas, cada qual com suas definições. Vamos ver, daqui pra frente, algumas formas de definir este item durante a criação da tabela

Exemplos de criação de tabelas no MySQL

Vou começar pela criação de uma agenda telefônica, como esta que você usa no celular e é armazenável no cartão SIM, que contenha apenas strings (cadeias de caracteres) curtas – nome e telefone:

CREATE TABLE contatos (
nome VARCHAR(50) NOT NULL,
telefone VARCHAR(25) NOT NULL
)ENGINE=CSV;

Note que a engine escolhida foi a CSV. Leia mais sobre mecanismos de armazenamento (storage engines), para saber entender mais sobre o assunto.
Verifique se a tabela foi criada:

SHOW TABLES;

Mysql tutorial - Create Table - Show Tables
Podemos melhorar um pouco mais a tabela contatos, ao acrescentar mais alguns campos, como sobrenome dos contatos, DDD, data de nascimento e email. Antes de criar uma nova tabela, com o mesmo nome, vamos remover a anterior:

DROP TABLE contatos;

Agora, vamos criar a nova tabela:

CREATE TABLE IF NOT EXISTS contatos (
nome VARCHAR(20),
sobrenome VARCHAR(30),
ddd INT(2),
telefone VARCHAR(9),
data_nasc DATE,
email VARCHAR(30)
)ENGINE=MyISAM;

Note que acrescentamos alguns outros itens a esta declaração:

  • Usar IF NOT EXISTS é uma boa prática dentro de scripts (veremos mais sobre isto, mais afrente);
  • Ao final do código, optamos por um outro mecanismo de armazenamento

Saiba mais:

Campos vazios, numeração automática e chave primária

Vou fazer uma apresentação rápida de alguns parâmetros que podem ser usados para melhorar a usabilidade e, mesmo, a segurança das tabelas criadas.

NOT NULL

Comumente, o desenvolvedor, ao projetar o banco de dados, não deseja que certos campos sejam deixados em branco, pelo usuário. Para evitar que isto ocorra, usa-se o parâmetro NOT NULL – o sistema irá retornar um erro, caso o usuário não preencha os campos configurados com este parâmetro.

AUTO_INCREMENT

Quando se quer aplicar uma ação a um determinado registro, na tabela, é importante que se encontre exatamente aquele que se quer, mesmo que haja 10 pessoas registradas com o mesmo nome e sobrenome. Apagar um registro errado, por exemplo, pode ser fonte para uma grande dor de cabeça.
Ter um campo de identificação única para cada registro pode prevenir este tipo de erro. É aí que entra o parâmetro AUTO_INCREMENT que pode ser usado para criar um campo numérico com uma identificação única e automática dentro da tabela.

PRIMARY KEY

O parâmetro PRIMARY KEY é usado para definir uma coluna como chave primária e ajudar a identificar um registro em relação aos outros dentro da tabela. Os valores de uma chave primária têm que ser únicos e não podem ser nulos. Pense na palavra inglesa primary com o significado de principal.
Vamos ver estes conceitos aplicados ao exemplo da tabela de contatos:

DROP TABLE contatos;
CREATE TABLE IF NOT EXISTS contatos (
id INT(5) AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(20) NOT NULL,
sobrenome VARCHAR(30) NOT NULL,
ddd INT(2),
telefone VARCHAR(9) NOT NULL,
data_nasc DATE,
email VARCHAR(30)
)ENGINE=MyISAM;

Veja abaixo o resultado que eu obtive:

DROP TABLE contatos;
Query OK, 0 rows affected (0.14 sec)

CREATE TABLE IF NOT EXISTS contatos (
    -> id INT(5) AUTO_INCREMENT PRIMARY KEY,
    -> nome VARCHAR(20) NOT NULL,
    -> sobrenome VARCHAR(30) NOT NULL,
    -> ddd INT(2),
    -> telefone VARCHAR(9) NOT NULL,
    -> data_nasc DATE,
    -> email VARCHAR(30)
    -> )ENGINE=MyISAM;
Query OK, 0 rows affected (0.10 sec)

show tables;
+--------------------+
| Tables_in_primeiro |
+--------------------+
| contatos           |
+--------------------+
1 row in set (0.00 sec)

Evite mensagens de erros, usando IF NOT EXISTS

Note que, ao executar este código, ele irá criar uma tabela, com o nome contatos se ela já não existir. O que significa que o script retornará uma mensagem de erro, se você recarregar a página, logo após tê-lo executado:
script php mysql criar tabela comando create table
Se você mudar a linha 14, acrescentando o parâmetro opcional IF NOT EXISTS, tal como vimos no começo deste texto, a mensagem de erro não será exibida e o script prosseguirá normalmente. Veja como:

$sqlcriatabela = "CREATE TABLE IF NOT EXISTS contatos (nome VARCHAR(50), telefone VARCHAR(25));";

Mas, neste caso, isto não seria útil.

Faça o trabalho com o PHP

Até aqui, você aprendeu a criar novas tabelas e alguns parâmetros relacionados a este comando, dentro da linha de comando do cliente MySQL. Espero ter conseguido demonstrar que, embora seja complexa (pela quantidade de recursos) a declaração CREATE TABLE não é, de modo algum, complicada.
Se estiver interessado em realizar a tarefa através da linguagem de programação PHP, leia este post — onde a construção do script em PHP é explicado com bastante detalhamento.

Tipos de dados do MySQL e MariaDB

Tipos de dados são uma forma de classificar as informações que serão armazenados no banco de dados.
Entender os tipos de dados que podem ser armazenados no banco e a que situações se adequam é importante para projetar um banco de dados o mais eficiente possível. Veja, a seguir, alguns dos tipos de dados mais comuns no MySQL, acompanhado de uma breve descrição.

Antes de definir exatamente o tipo de dado que você deseja definir, vale a pena prestar atenção nas seguintes diretrizes, para ajudar a ter melhores resultados:

  • os tipos de valores que podem ser usados;
  • que tamanhos podem ter
  • as operações que podem ser realizadas;
  • seus significados;
  • se podem/serão indexados
  • como devem ser armazenados etc.

Tipos de dados numéricos no MySQL

O MySQL tem todos os tipos numéricos possíveis, o que inclui exatos, aproximados, inteiros, de ponto fixo, ponto flutuante etc. A lista, abaixo, mostra um resumo dos tipos de dados possíveis no MySQL:

  • TINYINT — número inteiro muito pequeno (tiny);
  • SMALLINT — número inteiro pequeno;
  • MEDIUMINT — número inteiro de tamanho médio;
  • INT — número inteiro de tamanho comum;
  • BIGINT — número inteiro de tamanho grande;
  • DECIMAL — número decimal, de ponto fixo;
  • FLOAT — número de ponto flutuante de precisão simples (32 bits);
  • DOUBLE — número de ponto flutuante de precisão dupla (64 bits);
  • BIT — um campo de um bit.

Tipos de dados em strings

Strings são cadeias de caracteres. No MySQL, uma string pode ter qualquer conteúdo, desde texto simples a dados binários – tais como imagens e arquivos. Cadeias de caracteres podem ser comparadas e ser objeto de buscas.

  • CHAR — uma cadeia de caracteres (string), de tamanho fixo e não-binária;
  • VARCHAR — uma string de tamanho variável e não-binária;
  • BINARY — uma string binária de tamanho fixo;
  • VARBINARY — uma string binária de tamanho variável;
  • BLOB — um BLOB (Binary Large OBject – OBjeto Grande Binário) pequeno;
  • TINYBLOB — um BLOB muito pequeno;
  • MEDIUMBLOB — um BLOB de tamanho médio;
  • LONGBLOB — um BLOB grande;
  • TINYTEXT — uma string não-binária e de tamanho bem reduzido;
  • TEXT — uma string não-binária e pequena;
  • MEDIUMTEXT — uma string de tamanho comum e não-binária;
  • LONGTEXT — uma string não-binária de tamanho grande;
  • ENUM — de acordo com o manual do MySQL, é uma string, com um valor que precisa ser selecionado de uma lista predefinida na criação da tabela;
  • SET — é um objeto que pode ter zero ou mais valores – cada um dos quais precisa ser escolhido de uma lista de valores predeterminados quando da criação da tabela.

Armazenamento de data e hora

Há várias opções para armazenar dados relacionados a data e hora. Se você quiser apenas armazenar o ano referente a um evento, pode usar o tipo YEAR. O tipo TIMESTAMP pode ser usado para acompanhar as mudanças ocorridas em um campo de uma tabela. Veja os tipos e suas descrições:

  • DATE — o valor referente a uma data no formato 'CCYY-MM-DD'. Por exemplo 1985-11-25 (ano-mês-dia). O 'CC' se refere aos dois dígitos do século (Century, em inglês);
  • TIME — um valor horário no formato 'hh:mm:ss' (hora:minutos:segundos);
  • TIMESTAMP — timestamp é uma sequência de caracteres ou informação codificada que identifica uma marca temporal ou um dado momento em que um evento ocorreu. No MySQL, ele tem o formato 'CCYY-MM-DD hh:mm:ss' – neste caso, seguem a padronização ISO 8601;
  • YEAR — armazena um ano no formato 'CCYY' ou 'YY';

Dados espaciais

O MySQL tem suporte a tipos de dados que correspondem às classes OpenGIS. Alguns destes carregam valores geométricos simples:

  • GEOMETRY
  • POINT
  • LINESTRING
  • POLYGON

O GEOMETRY pode armazenar qualquer tipo de valor geométrico. Os outros valores simples (POINT, LINESTRING e POLYGON) têm seus valores restritos aos tipos geométricos a que se referem.
Os outros, que seguem listados, carregam valores relativos a coleções/coletivos:

  • GEOMETRYCOLLECTION
  • MULTILINESTRING
  • MULTIPOINT
  • MULTIPOLYGON

Assim, GEOMETRYCOLLECTION pode armazenar coletâneas de objetos de qualquer tipo. Os outros tipos coletivos (MULTILINESTRING, MULTIPOLYGON e GEOMETRYCOLLECTION) restringem-se a cada forma geométrica particular.

Mecanismos de armazenamento no MySQL ou Storage Engines

Tutorial Mysql - Storage Types - Mecanismos de armazenamentoEntenda os tipos de tabelas do MySQL ou os mecanismos de armazenamento (storage engines) e conheça os mais comuns.
O MySQL suporta diversos tipos de tabelas ou mecanismos de armazenamento. Ao entender os recursos presentes em cada tipo, você poderá criar e usar tabelas com maior eficiência e melhorar a performance de seus bancos de dados.
Neste texto, vou abordar 8 tipos de tabelas MySQL e explicar suas características, seus recursos, vantagens e desvantagens, no sentido de te ajudar a obter máxima eficiência e melhor performance do banco de dados.
Os mecanismos de armazenamento de dados são componentes de software dos bancos de dados que permitem criar, ler, atualizar e apagar dados do sistema.

MyISAM

O MyISAM estende os recursos do antigo ISAM. É otimizado para compressão, velocidade e as tabelas neste formato são portáveis entre várias plataformas e sistemas operacionais.
As tabelas neste formato, padrão até a versão 5.5, podem ter até 256 TB de tamanho – o que é um tamanho considerável. As tabelas MyISAM podem ser convertidas para tabelas comprimidas e somente leitura (read-only).
Ao iniciar, o sistema de banco de dados verifica as tabelas deste tipo e pode encontrar e corrigir setores defeituosos nas tabelas.
Este tipo é plenamente apropriado a ambientes com intensa leitura de dados e pouca escrita – melhor ainda, com nenhuma escrita. Sua principal deficiência é não ter suporte a transações e chaves estrangeiras.
Leia mais: No artigo “vantagens e desvantagens do MyISAM“, são delineados mais detalhadamente os casos em que este mecanismo de armazenamento é mais indicado ou não.

InnoDB

Este é, atualmente, o mecanismo padrão do MySQL. A Oracle é a mantenedora e dona do InnoDB (após ter adquirido, em 2005, a empresa responsável pelo seu desenvolvimento, a finlandesa Innobase Oy).
O banco de dados MariaDB e o Percona Server usam um fork deste mecanismo, chamado XtraDB – que costuma incorporar os novos recursos do InnoDB, tão logo eles sejam disponibilizados pela Oracle.
Entre seus recursos, cito o suporte total ao ACID, à transações, chaves estrangeiras, commit, rollback etc. Têm ótima performance e as tabelas neste mecanismo podem chegar a 64 Terabytes.
Tal como o seu antecessor, o InnoDB também é portável entre diferentes plataformas. E o MySQL também faz checagem e reparos nas tabelas, ao ser iniciado.
Resumindo, o InnoDB tem suporte a:

  • transações SQL e XA
  • tablespaces
  • chaves estrangeiras
  • indíces FULLTEXT
  • operações espaciais
  • colunas virtuais

MERGE

Trata-se de uma tabela virtual, que combina múltiplas tabelas MyISAM, que têm estruturas similares, em uma só tabela. A palavra inglesa merge pode ser usada com o significado de junção, mistura. Também é conhecido como mecanismo MRG_MyISAM. Uma vez que não tem seus próprios índices, este mecanismo usa os dos seus componentes.
Ao fazer uso deste mecanismo de armazenamento, você pode melhorar a performance da junção de várias tabelas. O MySQL só vai permitir as operações de SELECT, DELETE, UPDATE e INSERT em tabelas MERGE.
Se você executar o comando de remoção de tabela DROP TABLE, só as especificações MERGE serão removidas – as tabelas envolvidas “na mistura” não serão afetadas pela operação.

MEMORY (HEAP)

Este storage engine, que já foi conhecido como HEAP, cria tabelas com propósitos específicos, cujo conteúdo fica armazenado na memória.
Uma vez que os dados ficam muito vulneráveis a problemas de hardware, como oscilações na rede elétrica, é seguro usar este mecanismo apenas para tabelas temporárias, com restrições de escrita (que não podem ser alteradas) e com dados emprestados de outras tabelas.
A principal vantagem deste mecanismo é a agilidade com que se pode manipular os seus dados.

ARCHIVE

É otimizado para inserção ágil e rápida de grande quantidade de dados em arquivos comprimidos e não indexados, para economizar espaço.
Os registros são comprimidos ou descomprimidos sob demanda, à medida em que são inseridos ou requisitados.
CSV Storage Engine Mecanismo tipo de armazenamento

CSV

O mecanismo de armazenamento CSV (Comma Separated Values — valores separados por vírgulas)armazena os dados em arquivos de texto, separando os registros com vírgulas. Este é o mecanismo usado em listas de contatos do cartão SIM do seu celular:

"Odair José","1136789890"
"Reginaldo Rossi","8198786543"

É um padrão que ocupa pouquíssimo espaço, por sua simplicidade e tem maior compatibilidade com aplicativos tais como planilhas eletrônicas (Excel, LibreOffice etc).

FEDERATED

Ao criar uma tabela de dados com o uso de um dos mecanismos de armazenamento padrão (MyISAM, CSV ou InnoDB), o arquivo conterá uma definição de seu conteúdo e dados. Uma tabela FEDERATED consiste de uma definição dos dados que armazena – contudo, os seus dados estão fisicamente armazenados em um servidor remoto.
As tabelas deste mecanismo, consistem, portanto de 2 elementos:

  • um servidor remoto com uma tabela de banco de dados, contendo uma definição da tabela (em formato .frm) e a tabela à qual está associada. O tipo de tabela pode estar em qualquer formato que este servidor suporte;
  • um servidor local com uma tabela contendo uma definição que corresponde à da tabela no servidor remoto. Não há um arquivo de dados no servidor local – há uma conexão para a tabela no servidor remoto.

Blackhole

O mecanismo “buraco negro” aceita dados, mas não os armazena. Ao tentar recuperar os dados “armazenados”, você receberá sempre uma resposta vazia. Pode ser usado em projetos de bancos de dados distribuídos, onde estes são automaticamente replicados, mas não armazenados localmente.
É comum ser usado para rodar testes de performance.

LEIA MAIS
  • O MyISAM — Aplicabilidade, vantagens e desvantagens deste mecanismo de armazenamento.
  • Tipos de dados — Conheça os tipos que você pode usar nas tabelas.

Conclusão

Os formatos padrão, InnoDB e MyISAM, acabam por ser as escolhas mais seguras na grande maioria dos casos. Se houver necessidade de fazer transações, escolha o InnoDB (padrão nas versões atuais do MySQL). Em casos fora do comum, um destes outros mecanismos que você conheceu pode ser o mais adequado.