PHP MySQL Tablo Oluştur

php 2020-03-03 01:36:38 25

MySQLi ve PDO Kullanarak MySQL Tablosu Oluşturma
CREATE TABLE deyimi, MySQL'de bir tablo oluşturmak için kullanılır.

Beş sütunlu "MyGuests" adlı bir tablo oluşturacağız: "id", "firstname", "lastname", "email" ve "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 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)
Yukarıdaki tabloya ilişkin notlar:

Veri türü, sütunun ne tür verileri tutabileceğini belirtir. Mevcut tüm veri türlerine tam referans için Veri Türleri referansımıza bakın .

Veri türünden sonra, her sütun için diğer isteğe bağlı özellikleri belirtebilirsiniz:

NOT NULL - Her satır bu sütun için bir değer içermelidir, null değerlere izin verilmez
VARSAYILAN değeri - Başka bir değer geçirilmediğinde eklenen varsayılan bir değer ayarla
UNSIGNED - Sayı türleri için kullanılır, depolanan verileri pozitif sayılar ve sıfıra sınırlar
OTOMATİK KURULUM - MySQL, her yeni kayıt eklendiğinde alanın değerini otomatik olarak 1 artırır.
PRIMARY KEY - Bir tablodaki satırları benzersiz bir şekilde tanımlamak için kullanılır. PRIMARY KEY ayarına sahip sütun genellikle bir kimlik numarasıdır ve genellikle AUTO_INCREMENT ile kullanılır
Her tablonun birincil anahtar sütunu olmalıdır (bu durumda: "id" sütunu). Değeri tablodaki her kayıt için benzersiz olmalıdır.

Aşağıdaki örnekler PHP'de tablonun nasıl oluşturulacağını gösterir:

Örnek (MySQLi Nesneye Yönelik)
<?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 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";

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

$conn->close();
?>


Örnek (MySQLi Yordamı)
<?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 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)";

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

mysqli_close($conn);
?>

Örnek (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 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_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;
?>

  • Paylaşın: