MySQLi - Criar tabelas

O comando de criação de tabela requer -

  • Nome da mesa
  • Nomes de campos
  • Definições para cada campo

Sintaxe

Aqui está a sintaxe SQL genérica para criar uma tabela MySQLi -

CREATE TABLE table_name (column_name column_type);

Agora, vamos criar a seguinte tabela em TUTORIALS base de dados.

CREATE TABLE tutorials_inf(
   id INT AUTO_INCREMENT,
   name VARCHAR(20) NOT NULL,
   primary key (id),
);

Aqui, alguns itens precisam de explicação -

  • Atributo de campo NOT NULLestá sendo usado porque não queremos que este campo seja NULL. Portanto, se o usuário tentar criar um registro com valor NULL, o MySQLi gerará um erro.

  • Atributo de campo AUTO_INCREMENT diz ao MySQLi para prosseguir e adicionar o próximo número disponível ao campo id.

  • Palavra-chave PRIMARY KEYé usado para definir uma coluna como chave primária. Você pode usar várias colunas separadas por vírgula para definir uma chave primária.

Criação de tabelas a partir do prompt de comando

É fácil criar uma tabela MySQLi a partir do prompt mysql>. Você usará o comando SQLCREATE TABLE para criar uma mesa.

Exemplo

Aqui está um exemplo, que cria tutorials_tbl -

root@host# mysql -u root -p
Enter password:*******

mysql> use TUTORIALS;
Database changed

mysql> CREATE TABLE tutorials_inf(
   id INT AUTO_INCREMENT,name VARCHAR(20) NOT NULL,primary key (id));
Query OK, 0 rows affected (0.16 sec)

mysql>

NOTE - O MySQLi não termina um comando até que você forneça um ponto-e-vírgula (;) no final do comando SQL.

Criação de tabelas usando script PHP

Para criar uma nova tabela em qualquer banco de dados existente, você precisará usar a função PHP mysqli_query(). Você passará seu segundo argumento com o comando SQL apropriado para criar uma tabela.

Exemplo

Aqui está um exemplo para criar uma tabela usando script PHP -

<html>
   <head>
      <title>Creating MySQLi Tables</title>
   </head>
   
   <body>
      <?php  
         $host = 'localhost:3306';  
         $user = 'root';  
         $pass = '<Password Here>';  
         $dbname = 'TUTORIALS';  
         $conn = mysqli_connect($host, $user, $pass,$dbname);  
         
         if(!$conn){  
            die('Could not connect: '.mysqli_connect_error());  
         }  
         echo 'Connected successfully<br/>';  
  
         $sql = "create table tutorials_inf(
            id INT AUTO_INCREMENT,name VARCHAR(20) NOT NULL,primary key (id))";  
         
         if(mysqli_query($conn, $sql)){  
         echo "Table created successfully";  
         } else {  
            echo "Table is not created successfully ";  
         }  
         mysqli_close($conn);  
      ?>  
   </body>
</html>

O exemplo de saída deve ser assim -

Connected successfully
Table created successfully