PHP MySQL Tablo Oluştur
Bir veritabanı tablosunun kendine özgü bir adı vardır ve sütunlardan ve satırlardan oluşur.
MySQLi ve PDO Kullanarak MySQL Tablosu Oluşturun
CREATE TABLE ifadesi MySQL'de bir tablo oluşturmak için kullanılır.
Beş sütunlu "Misafirlerim" adında bir tablo oluşturacağız: "id", "ad", "soyad", "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ürlerinin eksiksiz bir referansı için Veri Tipleri referansımıza gidin .
Veri türünden sonra, her sütun için diğer isteğe bağlı öznitelikleri belirtebilirsiniz:
- NULL DEĞİL - Her satır o sütun için bir değer içermelidir, boş değerlere izin verilmez
- VARSAYILAN değer - Başka bir değer geçmediğinde eklenen varsayılan bir değer ayarlayın
- İMZASIZ - Sayı türleri için kullanılır, depolanan verileri pozitif sayılar ve sıfırla sınırlar
- OTOMATİK ARTIRMA - MySQL, her yeni kayıt eklendiğinde alanın değerini otomatik olarak 1 artırır
- BİRİNCİL ANAHTAR - Bir tablodaki satırları benzersiz şekilde tanımlamak için kullanılır. BİRİNCİL ANAHTAR ayarına sahip sütun genellikle bir kimlik numarasıdır ve genellikle AUTO_INCREMENT ile kullanılır
Her tablonun bir 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 Prosedürü)
<?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;
?>