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