PHP MySQL Criar Tabelas

Este é um guia que descreve como PHP MySQL criar tabelas no banco de dados.

Este artigo aborda os fundamentos da criação de uma tabela, incluindo a seleção do nome da tabela, a especificação dos nomes das colunas e os tipos de dados que elas conterão e a configuração de chaves estrangeiras e primárias.

O artigo também mostra como usar as extensões mysqli e PDO para executar consultas SQL em PHP.

Antes de começarmos , é importante observar que você precisará acessar um banco de dados MySQL para criar tabelas. Você pode configurar seu próprio banco de dados local ou usar uma solução hospedada.

Para criar tabelas no MySQL usando PHP, siga os passos abaixo.



Conecte o banco de dados MySQL usando PHP

O primeiro passo é estabelecer uma conexão com o banco de dados MySQL usando PHP .

Você pode usar a função mysqli_connect() para se conectar ao banco de dados.

Aqui está um exemplo:

 

$host = "localhost";
$user = "username";
$password = "password";
$database = "database_name";

// Create connection
$conn = mysqli_connect($host, $user, $password, $database);

// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}

No exemplo acima, estamos nos conectando a um banco de dados MySQL na máquina local usando o nome de usuário e a senha fornecidos .

Também especificamos o nome do banco de dados ao qual queremos nos conectar.

Definir Estrutura da Tabela

Depois de estabelecer uma conexão com o banco de dados, o próximo passo é definir a estrutura da tabela que você deseja criar.

Isso inclui especificar o nome da tabela, bem como os nomes e tipos de dados das colunas.

Abaixo está um exemplo de como definir uma estrutura de tabela simples:

// Define table structure
$table_name = "users";
$columns = array(
"id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY",
"first_name VARCHAR(30) NOT NULL",
"last_name VARCHAR(30) NOT NULL",
"email VARCHAR(50) NOT NULL",
"password VARCHAR(255) NOT NULL"
);

 

Acima, estamos definindo uma tabela chamada “ users ” com cinco colunas: id , first_name , last_name , email e password .

A coluna id é especificada como um INT com um comprimento de 6 e é definida como a chave primária .

As outras colunas são especificadas como tipos de dados VARCHAR com comprimentos variados.

PHP MySQL Criar tabela

Depois de definir a estrutura da tabela, o próximo passo é criar a tabela usando SQL.

Você pode usar a função mysqli_query() para executar consultas SQL no banco de dados.

Aqui está um exemplo de como criar a tabela usando SQL:

// Create table
$mysqltable = "CREATE TABLE $table_name (" . implode(", ", $columns) . ")";
if (mysqli_query($conn, $mysqltable)) {
echo "Table created successfully";
} else {
echo "Error creating table: " . mysqli_error($conn);
}
Importante : Depois de criada a tabela, você deve fechar a conexão com o banco de dados usando o mysqli_close().

Crie uma tabela MySQL usando MySQLi e DOP

Uma tabela pode ser criada no MySQL usando a instrução CREATE TABLE.

Com o exemplo abaixo, criaremos uma tabela chamada “ Usuários ”, que terá sete colunas: “ id “, “ primeiro nome ”, “ sobrenome ”, “ email ”, “ idade ”, “ gênero ” e “ reg_date ”.

CREATE TABLE Users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
age INT,
gender VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)

Resumo do código acima:

Cada coluna da tabela pode ser especificada com atributos opcionais adicionais após especificar o tipo de dados:

  1. NOT NULL – Há um requisito de que cada linha da tabela contenha um valor para essa coluna, nenhum valor nulo é permitido
  2. Valor DEFAULT – Isso é usado para definir um valor padrão que será usado quando não houver outro valor passado
  3. UNSIGNED – Este tipo é usado para tipos numéricos e limita a quantidade de dados que armazena a números positivos e zeros
  4. INCREMENTO AUTOMÁTICO – Uma vez que um novo registro é adicionado ao MySQL, o valor do campo é automaticamente aumentado em 1 cada vez que um novo registro é adicionado a ele.
  5. PRIMARY KEY – Esta chave é usada para identificar exclusivamente linhas dentro de uma tabela definindo uma chave primária . Quando uma coluna é definida com um valor PRIMARY KEY, geralmente é um número de ID e geralmente é usado em conjunto com um acionador AUTO_INCREMENT.

Geralmente, toda tabela deve ter uma coluna que é atribuída à chave primária (neste caso, a coluna “ id “).

Cada registro na tabela deve ter um valor exclusivo para esta coluna.


MySQLi Orientado a Objetos

Abaixo está um exemplo usando o método Orientado a Objetos do MySQLi:

<?php
$servername = "localhost";
$username = "my_user";
$password = "my_pass";
$dbname = "mrx_test_db";
// creating connection
$conn = new mysqli($servername, $username, $password, $dbname);
// checking connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
// sql to creating table
$sql = "CREATE TABLE Users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
age INT,
gender VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";
if ($conn->query($sql) === TRUE) {
echo "Table Users created successfully";
} else {
echo "Error creating table: " . $conn->error;
}
$conn->close();
?>

Procedimento MySQLi

Abaixo está um exemplo usando o método Processual do MySQLi:
<?php
$servername = "localhost";
$username = "my_user";
$password = "my_pass";
$dbname = "mrx_test_db";
// Creating connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
// sql to create table
$sql = "CREATE TABLE Users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
age INT,
gender VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";
if (mysqli_query($conn, $sql)) {
echo "Table Users created successfully";
} else {
echo "Error creating table: " . mysqli_error($conn);
}
mysqli_close($conn);
?>

Método DOP

Abaixo está um exemplo usando o método MySQL PDO(PHP Data Objects):
<?php
$servername = "localhost";
$username = "my_user";
$password = "my_pass";
$dbname = "mrx_test_db";
try {
$conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
// Specify the exception error mode in the PDO
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
// sql to creating table

$sql = "CREATE TABLE Users (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
age INT,
gender VARCHAR(50),
reg_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)"; // Due to the fact that no results are returned, use exec() instead
$conn->exec($sql);
echo "Table MyGuests created successfully";
}
catch (PDOException $e) {
echo $sql . " " . $e->getMessage();
}
$conn = null;
?>

Exemplo de Explicação

O código acima cria uma tabela chamada “ Usuários ” com sete colunas: “ id ”, “ primeiro nome ”, “ sobrenome ”, “ email ”, “ idade ”, “ gênero ” e “ reg_date ”.
  • A coluna “id” é definida para ser um número inteiro de incremento automático e usada como a chave primária.
  • As colunas “firstname” e “lastname” são obrigatórias e não podem estar vazias.
  • A coluna “email” é configurada para permitir até 50 caracteres, e as colunas “age” e “gender” são do tipo integer e string, respectivamente.
  • A coluna “reg_date” é um carimbo de data/hora cujo padrão é o carimbo de data/hora atual quando uma linha é inserida e atualiza para o carimbo de data/hora atual sempre que a linha é atualizada.
O código usa PDO para se conectar ao banco de dados e, se a conexão for bem-sucedida, executa a consulta SQL para criar a tabela.
Se ocorrer um erro, ele captura a exceção e exibe a mensagem de erro junto com a consulta SQL que causou o erro.
Depois que a consulta é executada, ela exibe uma mensagem de sucesso.
Nós valorizamos o seu feedback.
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0
+1
0

Assine a nossa newsletter
Digite seu e-mail para receber um resumo semanal de nossos melhores posts. Saber mais!
ícone