PHP MySQL ဇယားဖန်တီးပါ။
ဒေတာဘေ့စ်ဇယားတစ်ခုတွင် ၎င်း၏ကိုယ်ပိုင်ထူးခြားသောအမည်ရှိပြီး ကော်လံများနှင့် အတန်းများပါဝင်သည်။
MySQLi နှင့် PDO ကိုအသုံးပြု၍ MySQL Table တစ်ခုဖန်တီးပါ။
CREATE TABLE ထုတ်ပြန်ချက်ကို MySQL တွင် ဇယားတစ်ခုဖန်တီးရန် အသုံးပြုသည်။
ကျွန်ုပ်တို့သည် ကော်လံငါးခုပါရှိသော "MyGuests" ဟုခေါ်သော ဇယားတစ်ခုကို "id", "firstname", "lastname", "email" နှင့် "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
)
အထက်ဖော်ပြပါဇယားတွင် မှတ်စုများ-
ဒေတာအမျိုးအစားသည် ကော်လံတွင် သိမ်းဆည်းနိုင်သည့် ဒေတာအမျိုးအစားကို သတ်မှတ်သည်။ ရရှိနိုင်သောဒေတာအမျိုးအစားများအားလုံးကို အပြည့်အစုံကိုးကားရန်အတွက်၊ ကျွန်ုပ်တို့၏ Data Types ရည်ညွှန်းချက်ကို သွားပါ ။
ဒေတာအမျိုးအစားပြီးနောက်၊ ကော်လံတစ်ခုစီအတွက် အခြားရွေးချယ်နိုင်သော အရည်အချင်းများကို သင်သတ်မှတ်နိုင်သည်-
- NULL မဟုတ်ပါ - အတန်းတစ်ခုစီတွင် ထိုကော်လံအတွက် တန်ဖိုးတစ်ခု ပါရှိရမည်ဖြစ်ပြီး null တန်ဖိုးများကို ခွင့်မပြုပါ။
- DEFAULT တန်ဖိုး - အခြားတန်ဖိုးကို မကျော်လွန်သောအခါ ထပ်ထည့်ထားသည့် ပုံသေတန်ဖိုးကို သတ်မှတ်ပါ။
- လက်မှတ်မထိုးထားသော - နံပါတ်အမျိုးအစားများအတွက်အသုံးပြုသည်၊ သိမ်းဆည်းထားသောဒေတာကို အပြုသဘောနံပါတ်များနှင့် သုညသို့ကန့်သတ်ထားသည်။
- အလိုအလျောက်တိုးခြင်း - MySQL သည် စံချိန်အသစ်တစ်ခုထပ်ထည့်လိုက်တိုင်း နယ်ပယ်တန်ဖိုးကို 1 ဖြင့် အလိုအလျောက်တိုးပေးသည်
- ပင်မကီး - ဇယားတစ်ခုရှိ အတန်းများကို သီးခြားခွဲခြားသတ်မှတ်ရန် အသုံးပြုသည်။ PRIMARY KEY ဆက်တင်ပါရှိသော ကော်လံသည် မကြာခဏ ID နံပါတ်တစ်ခုဖြစ်ပြီး AUTO_INCREMENT ဖြင့် အသုံးပြုလေ့ရှိသည်
ဇယားတစ်ခုစီတွင် အဓိကသော့ကော်လံတစ်ခုရှိသင့်သည် (ဤကိစ္စတွင်- "id" ကော်လံ)။ ဇယားရှိ မှတ်တမ်းတစ်ခုစီအတွက် ၎င်း၏တန်ဖိုးသည် သီးသန့်ဖြစ်ရမည်။
အောက်ပါဥပမာများသည် PHP တွင်ဇယားကိုဖန်တီးနည်းကိုပြသသည်-
ဥပမာ (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
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();
?>
ဥပမာ (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
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);
?>
ဥပမာ (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;
?>