MySQLi - Crear tablas
El comando de creación de tablas requiere:
- Nombre de la mesa
- Nombres de campos
- Definiciones para cada campo
Sintaxis
Aquí hay una sintaxis SQL genérica para crear una tabla MySQLi:
CREATE TABLE table_name (column_name column_type);
Ahora, crearemos la siguiente tabla en TUTORIALS base de datos.
CREATE TABLE tutorials_inf(
id INT AUTO_INCREMENT,
name VARCHAR(20) NOT NULL,
primary key (id),
);
Aquí algunos elementos necesitan explicación:
Atributo de campo NOT NULLse está utilizando porque no queremos que este campo sea NULL. Entonces, si el usuario intenta crear un registro con valor NULO, entonces MySQLi generará un error.
Atributo de campo AUTO_INCREMENT le dice a MySQLi que siga adelante y agregue el siguiente número disponible al campo de identificación.
Palabra clave PRIMARY KEYse utiliza para definir una columna como clave principal. Puede utilizar varias columnas separadas por comas para definir una clave principal.
Crear tablas desde el símbolo del sistema
Esto es fácil de crear una tabla MySQLi desde el indicador de mysql>. Usarás el comando SQLCREATE TABLE para crear una mesa.
Ejemplo
Aquí hay un ejemplo, que crea tutorials_tbl -
[email protected]# 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 - MySQLi no finaliza un comando hasta que le da un punto y coma (;) al final del comando SQL.
Creando tablas usando PHP Script
Para crear una nueva tabla en cualquier base de datos existente, necesitaría usar la función PHP mysqli_query(). Pasará su segundo argumento con el comando SQL adecuado para crear una tabla.
Ejemplo
Aquí hay un ejemplo para crear una tabla usando un 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>
La salida de muestra debería ser así:
Connected successfully
Table created successfully