Ultimele tutoriale de dezvoltare web
 

PHP Creați tabele MySQL


Un tabel de bază de date are propriul nume unic și este format din coloane și rânduri.


Crearea unui tabel MySQL Utilizarea MySQLi și DOP

Instrucțiunea CREATE TABLE este folosită pentru a crea un tabel în MySQL.

Vom crea un tabel numit "MyGuests" , cu cinci coloane: "id" , "firstname" , "lastname" , "email" - "reg_date" "email" și "reg_date" :

CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)

Notes on the table above:

Tipul de date specifică ce tip de date a coloanei poate ține. Pentru o referință completă a tuturor tipurilor de date disponibile, accesați pagina de referință Tipuri de date .

După tipul de date, puteți specifica alte atribute opționale pentru fiecare coloană:

  • NOT NULL - Fiecare rând trebuie să conțină o valoare pentru acea coloană, valori nule nu sunt permise
  • Valoarea implicită - Setați o valoare implicită care se adaugă atunci când nici o altă valoare este trecut
  • UNSIGNED - folosit pentru tipurile de număr, limitează datele stocate la numerele pozitive și zero,
  • AUTO INCREMENT - MySQL crește automat valoarea câmpului cu 1 de fiecare dată când se adaugă un nou record
  • PRIMARY KEY - Folosit pentru a identifica în mod unic rândurile într-un tabel. Coloana cu setarea PRIMARY KEY este adesea un număr de identificare, și este adesea folosit cu AUTO_INCREMENT

Fiecare tabel trebuie să aibă o coloană cheie primară (in this case: the "id" column) . Valoarea sa trebuie să fie unic pentru fiecare înregistrare din tabel.

Următoarele exemple arată cum să creați tabelul în PHP:

Exemplu (MySQLi Object-oriented)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// sql to create table
$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";

if ($conn->query($sql) === TRUE) {
    echo "Table MyGuests created successfully";
} else {
    echo "Error creating table: " . $conn->error;
}

$conn->close();
?>

Exemplu (MySQLi Procedural)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
    die("Connection failed: " . mysqli_connect_error());
}

// sql to create table
$sql = "CREATE TABLE MyGuests (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(30) NOT NULL,
lastname VARCHAR(30) NOT NULL,
email VARCHAR(50),
reg_date TIMESTAMP
)";

if (mysqli_query($conn, $sql)) {
    echo "Table MyGuests created successfully";
} else {
    echo "Error creating table: " . mysqli_error($conn);
}

mysqli_close($conn);
?>

Exemplu (PDO)

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDBPDO";

try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    // sql to create table
    $sql = "CREATE TABLE MyGuests (
    id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
    firstname VARCHAR(30) NOT NULL,
    lastname VARCHAR(30) NOT NULL,
    email VARCHAR(50),
    reg_date TIMESTAMP
    )";

    // use exec() because no results are returned
    $conn->exec($sql);
    echo "Table MyGuests created successfully";
    }
catch(PDOException $e)
    {
    echo $sql . "<br>" . $e->getMessage();
    }

$conn = null;
?>