PHP cria banco de dados MySQL

O banco de dados contém uma ou mais tabelas.

Criar banco de dados

A sentença CREATE DATABASE é usada para criar bancos de dados no MySQL.

Sintaxe

CREATE DATABASE database_name

Para que o PHP execute a sentença acima,我们必须 usar a função mysql_query(). Esta função é usada para enviar consultas ou comandos para a conexão MySQL.

Exemplo

No exemplo a seguir, criamos um banco de dados chamado "my_db":

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Não foi possível conectar: ' . mysql_error());
  }
if (mysql_query("CREATE DATABASE my_db",$con))
  {
  echo "Banco de dados criado";
  }
else
  {
  echo "Erro ao criar banco de dados: " . mysql_error();
  }
mysql_close($con);
?>

Criar tabela

CREATE TABLE é usado para criar tabelas de banco de dados no MySQL.

Sintaxe

CREATE TABLE table_name
(
column_name1 data_type,
column_name2 data_type,
column_name3 data_type,
.......
)

Para executar este comando, eu tenho que adicionar a sentença CREATE TABLE à função mysql_query().

Exemplo

O exemplo a seguir mostra como criar uma tabela chamada "Persons", que possui três colunas. Os nomes das colunas são "FirstName", "LastName" e "Age":

<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Não foi possível conectar: ' . mysql_error());
  }
// Criar banco de dados
if (mysql_query("CREATE DATABASE my_db",$con))
  {
  echo "Banco de dados criado";
  }
else
  {
  echo "Erro ao criar banco de dados: " . mysql_error();
  }
// Criar tabela no banco de dados my_db
mysql_select_db("my_db", $con);
$sql = "CREATE TABLE Persons 
(
Nome varchar(15),
Sobrenome varchar(15),
Idade int
)";
mysql_query($sql,$con);
mysql_close($con);
?>

Importante:Antes de criar uma tabela, você deve primeiro escolher o banco de dados. Use a função mysql_select_db() para escolher o banco de dados.

Notas:Quando você cria um campo do tipo varchar no banco de dados, você deve especificar o comprimento máximo do campo, por exemplo: varchar(15).

Tipos de dados MySQL

Os tipos de dados MySQL disponíveis:

tipo de dados numérico Descrição
  • int(size)
  • smallint(size)
  • tinyint(size)
  • mediumint(size)
  • bigint(size)
apenas suporta números inteiros. Define o valor máximo numérico no parâmetro size.
  • decimal(size,d)
  • double(size,d)
  • float(size,d)

suporta números com casa decimal.

define o valor máximo numérico no parâmetro size. Define o valor máximo de dígitos decimais à direita do ponto no parâmetro d.

tipo de dados de texto Descrição
char(size)

suporta strings de comprimento fixo. (Pode conter letras, números e símbolos especiais).

define um comprimento fixo no parâmetro size.

varchar(size)

suporta strings de comprimento variável. (Pode conter letras, números e símbolos especiais).

define o comprimento máximo no parâmetro size.

tinytext suporta strings de comprimento variável, com um comprimento máximo de 255 caracteres.
  • text
  • blob
suporta strings de comprimento variável, com um comprimento máximo de 65535 caracteres.
  • mediumtext
  • mediumblob
suporta strings de comprimento variável, com um comprimento máximo de 16777215 caracteres.
  • longtext
  • longblob
suporta strings de comprimento variável, com um comprimento máximo de 4294967295 caracteres.
tipo de dados de data Descrição
  • data(yyyy-mm-dd)
  • datetime(yyyy-mm-dd hh:mm:ss)
  • timestamp(yyyymmddhhmmss)
  • tempo(hh:mm:ss)
Suporta datas ou horários
Tipos de Dados Diversos Descrição
enum(value1,value2,ect) ENUM é a abreviação de ENUMERATED LIST. Você pode colocar até 65535 valores entre parênteses.
set SET é semelhante a ENUM. No entanto, SET pode ter até 64 itens na lista e pode armazenar mais de uma escolha

Campo Primário e Campo de Aumento Automático

Cada tabela deve ter um campo primário.

O campo primário é usado para identificar exclusivamente as linhas na tabela. Cada valor do campo primário deve ser único na tabela. Além disso, o campo primário não pode estar vazio, pois o motor de banco de dados precisa de um valor para localizar o registro.

O campo primário sempre deve ser incluído no índice. Esta regra não tem exceções. Você deve criar um índice para o campo primário, para que o motor de banco de dados possa localizar rapidamente as linhas com o valor da chave fornecido.

O exemplo a seguir define o campo personID como campo primário. O campo primário geralmente é o número ID e geralmente é configurado com AUTO_INCREMENT. AUTO_INCREMENT aumentará o valor do campo a cada novo registro adicionado. Para garantir que o campo primário não esteja vazio, devemos adicionar a configuração NOT NULL ao campo.

Exemplo

$sql = "CREATE TABLE Persons 
(
personID int NOT NULL AUTO_INCREMENT, 
PRIMARY KEY(personID),
Nome varchar(15),
Sobrenome varchar(15),
Idade int
)";
mysql_query($sql,$con);