Como criar uma tabela MySQL via PHP?
Criar tabelas no MySQL com PHP permite estruturar dados de maneira eficiente dentro do banco. Podemos fazer isso utilizando MySQLi ou PDO.
Criando uma tabela com MySQLi
Podemos utilizar MySQLi para executar um comando SQL e criar uma tabela:
<?php
// Conectar ao banco de dados
$conexao = new mysqli("localhost", "usuario", "senha", "meu_banco");
// Verificar erro na conexão
if ($conexao->connect_error) {
die("Falha na conexão: " . $conexao->connect_error);
}
// Criando a tabela 'usuarios'
$sql = "CREATE TABLE usuarios (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
senha VARCHAR(255) NOT NULL,
criado_em TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)";
if ($conexao->query($sql) === TRUE) {
echo "Tabela 'usuarios' criada com sucesso!";
} else {
echo "Erro ao criar tabela: " . $conexao->error;
}
// Fechar conexão
$conexao->close();
?>
Aqui, a tabela usuarios
é criada com colunas para ID, nome, e-mail, senha e um campo de timestamp para registrar a data de criação.
Criando uma tabela com PDO
Se preferirmos PDO, usamos exec()
para executar o SQL:
<?php
try {
// Conectar ao banco de dados
$conexao = new PDO("mysql:host=localhost;dbname=meu_banco", "usuario", "senha");
$conexao->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// Criando a tabela
$sql = "CREATE TABLE usuarios (
id INT AUTO_INCREMENT PRIMARY KEY,
nome VARCHAR(100) NOT NULL,
email VARCHAR(100) UNIQUE NOT NULL,
senha VARCHAR(255) NOT NULL,
criado_em TIMESTAMP DEFAULT CURRENT_TIMESTAMP
)";
$conexao->exec($sql);
echo "Tabela 'usuarios' criada com sucesso!";
} catch (PDOException $e) {
echo "Erro ao criar tabela: " . $e->getMessage();
}
?>
O PDO permite um tratamento de erros mais robusto através do try/catch
, melhorando a confiabilidade do código.
Por que usar MySQLi ou PDO para criar tabelas no MySQL com PHP?
Criar tabelas no MySQL via PHP é um passo essencial na construção de qualquer aplicação que armazena dados. A escolha entre MySQLi e PDO depende da necessidade do projeto: MySQLi é mais direto para projetos que usam apenas MySQL, enquanto PDO oferece maior flexibilidade e segurança. Além disso, sempre considere boas práticas ao definir colunas, como usar VARCHAR
para strings e AUTO_INCREMENT
para IDs.
Algumas aplicações:
- Criação de tabelas para armazenar dados de usuários
- Organização eficiente de informações em sistemas web
- Estruturação de dados para e-commerces e plataformas digitais
- Base para construção de sistemas dinâmicos utilizando PHP e MySQL
Dicas para quem está começando
- Use
AUTO_INCREMENT
para criar IDs únicos automaticamente. - Evite nomes de tabelas genéricos como 'dados', prefira nomes descritivos.
- Utilize
VARCHAR
para strings e defina um tamanho adequado para cada campo. - Inclua
UNIQUE
em campos como e-mail para evitar duplicações. - Sempre capture erros ao executar comandos SQL para facilitar a depuração.
Contribuições de Daniel Moreira