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.
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); }
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:
- NOT NULL – Há um requisito de que cada linha da tabela contenha um valor para essa coluna, nenhum valor nulo é permitido
- Valor DEFAULT – Isso é usado para definir um valor padrão que será usado quando não houver outro valor passado
- UNSIGNED – Este tipo é usado para tipos numéricos e limita a quantidade de dados que armazena a números positivos e zeros
- 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.
- 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
<?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
<?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
- 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.