Criando Novas Tabelas

Resumo : neste tutorial você aprenderá como criar novas tabelas no banco de dados utilizando PDO.

Instruções SQL para criar novas tabelas

Para criar uma nova tabela em um banco de dados, você usa a instrução CREATE TABLE . Por exemplo, a CREATE TABLEinstrução a seguir cria a authorstabela:

CREATE TABLE authors( 
  author_id   INT AUTO_INCREMENT,
  first_name  VARCHAR(100) NOT NULL, 
  middle_name VARCHAR(50) NULL, 
  last_name   VARCHAR(100) NULL,
  PRIMARY KEY(author_id)
);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

E a seguinte CREATE TABLEinstrução cria a book_authorstabela:

CREATE TABLE book_authors (
  book_id   INT NOT NULL, 
  author_id INT NOT NULL, 
  PRIMARY KEY(book_id, author_id), 
  CONSTRAINT fk_book 
    FOREIGN KEY(book_id) 
    REFERENCES books(book_id) ON DELETE CASCADE, 
  CONSTRAINT fk_author 
    FOREIGN KEY(author_id) 
    REFERENCES authors(author_id) ON DELETE CASCADE
);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Observe que a book_authorstabela está vinculada ao bookscriado no tutorial anterior .

Normalmente, você executa essas CREATE TABLEinstruções usando uma ferramenta cliente MySQL para criar as tabelas authorse book_authors. Porém, neste tutorial, você aprenderá como criá-los a partir de PHP usando PDO.

Usando PDO para criar novas tabelas

Para executar uma instrução SQL usando PDO, siga estas etapas:

  • Primeiro, conecte-se ao banco de dados (servidor MySQL neste caso) criando uma nova instância da classe PDO.
  • Segundo, execute uma instrução SQL chamando o exec()método da instância PDO.

O exec() método retorna o número de linhas afetadas em caso de sucesso ou falsefalha.

O script a seguir ilustra como criar as tabelas authorse book_authors:

<?php

// SQL statement for creating new tables
$statements = [
	'CREATE TABLE authors( 
        author_id   INT AUTO_INCREMENT,
        first_name  VARCHAR(100) NOT NULL, 
        middle_name VARCHAR(50) NULL, 
        last_name   VARCHAR(100) NULL,
        PRIMARY KEY(author_id)
    );',
	'CREATE TABLE book_authors (
        book_id   INT NOT NULL, 
        author_id INT NOT NULL, 
        PRIMARY KEY(book_id, author_id), 
        CONSTRAINT fk_book 
            FOREIGN KEY(book_id) 
            REFERENCES books(book_id) 
            ON DELETE CASCADE, 
            CONSTRAINT fk_author 
                FOREIGN KEY(author_id) 
                REFERENCES authors(author_id) 
                ON DELETE CASCADE
    )'];

// connect to the database
$pdo = require 'connect.php';

// execute SQL statements
foreach ($statements as $statement) {
	$pdo->exec($statement);
}
Linguagem de código:  PHP  ( php )

Observe que este script reutiliza o connect.phpscript que cria uma conexão com o servidor de banco de dados MySQL .

Como funciona.

  • Primeiro, defina um array que contenha as instruções SQL para criar as tabelas authorse book_authors.
  • Segundo, conecte-se ao servidor de banco de dados MySQL usando o connect.phpscript. O connect.phpse conecta ao bookbanco de dados db no servidor MySQL local.
  • Terceiro, execute cada instrução no $statementsarray chamando o exec()método da instância PDO.

Após executar o script, você pode abrir o bookdbbanco de dados em uma ferramenta cliente MySQL para verificar se as tabelas authorse book_authorsforam criadas com sucesso.

Resumo

  • Use o exec()método da instância PDO para executar a CREATE TABLEinstrução para criar uma nova tabela no banco de dados do PHP.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *