পিএইচপি MySQL টেবিল তৈরি
একটি ডেটাবেজে একাধিক টেবিল থাকতে পারে। প্রতিটি টেবিল এর একটি ইউনিক নাম থাকে এবং কলাম ও সারি নিয়ে গঠিত হয়।
MySQLi ব্যবহার করে MySQL টেবিল তৈরি
MySQL ডেটাবেজে একটি টেবিল তৈরির জন্য CREATE TABLE
স্টেটমেন্ট ব্যবহার করা হয়।
নিম্নের উদাহরনে আমরা "testTB" নামে একটি টেবিল তৈরি করবো। যাতে ৫টি কলাম("id", "firstname", "lastname", "email" এবং "insert_date") থাকবেঃ
CREATE TABLE testTB (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(25) NOT NULL,
lastname VARCHAR(25) NOT NULL,
email VARCHAR(55),
insert_date TIMESTAMP
)
উপরের টেবিলটি লক্ষ করুনঃ
ডেটা টাইপ গুলো নির্দেশ করছে কলাম গুলো কি ধরনের তথ্য সংরক্ষন করবে।
ডেটা টাইপ নির্ধারনের পর আপনি কলামের মধ্যে ঐচ্ছিক এট্রিবিউট গুলো নির্ধারন করে দিতে পারেনঃ
- NOT NULL - প্রতিটি সারি সংশ্লিষ্ট কলামের জন্য একটি ভ্যালু সংরক্ষন করবে। এক্ষেত্রে ফাঁকা(null) ভ্যালু গ্রহন যোগ্য নয়।
- DEFAULT value - একটি ডিফল্ট ভ্যালু নির্ধারন করে। যখন কলামে কোনো ভ্যালু নির্ধারন করা না হয় তখন কলাম ডিফল্ট ভ্যালুটি সংরক্ষন করবে।
- UNSIGNED - সংখ্যা টাইপের জন্য ব্যবহার করা হয়। কলামে সংরক্ষিত সংখ্যা-ভ্যালু গুলো শূন্য(০) অথবা যেকোন ধনাত্মক সংখ্যা হতে বাধ্য করে।
- AUTO INCREMENT - নতুন তথ্য সংযুক্ত হওয়ার সাথে সাথে MySQL স্বয়ংক্রিয়ভাবে ফিল্ডের ভ্যালু এক করে বৃদ্ধি করে।
- PRIMARY KEY - টেবিলের সারি গুলোকে স্বতন্ত্রভাবে চিহ্নিত করতে ব্যবহৃত হয়। বিশেষ করে আইডি সেট করতে বেশীরভাগ সময়ই
AUTO_INCREMENT
এর সাথে এটি ব্যবহার করা হয়।
প্রতিটি টেবিলেই একটি PRIMARY KEY
কলাম থাকা উচিৎ। এই টেবিলের ক্ষেত্রে "id" কলামটি PRIMARY KEY
কলাম। টেবিলের প্রতিটি সারির জন্য এই কলামের ভ্যালু ইউনিক হতে হবে।
আমরা MySQLi প্রসিডিউরাল এবং অবজেক্ট অরিয়েন্টেড উভয় প্রক্রিয়ায় "testTB" নামে একটি MySQL টেবিল তৈরি করবোঃ
<?php
// সংযোগ তৈরি
$conn = mysqli_connect("localhost", "username", "password", "databasename");
// সংযোগ পরীক্ষা
if (!$conn) {
die("সংযোগ ব্যর্থ হয়েছেঃ " . mysqli_connect_error());
}
// টেবিল তৈরি করার জন্য এসকিউএল কোড
$sql = "CREATE TABLE testTB (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(25) NOT NULL,
lastname VARCHAR(25) NOT NULL,
email VARCHAR(55),
insert_date TIMESTAMP
)";
// টেবিল তৈরি হয়েছে কিনা যাচাই করা
if (mysqli_query($conn, $sql)) {
echo "testTB টেবিল তৈরি সম্পন্ন হয়েছে।";
} else {
echo "টেবিল তৈরিতে ত্রুটি রয়েছেঃ " . mysqli_error($conn);
}
// সংযোগ বিচ্ছিন্ন
mysqli_close($conn);
?>
<?php
// সংযোগ তৈরি
$conn = new mysqli($servername, $username, $password, $databasename);
// সংযোগ পরীক্ষা
if ($conn->connect_error) {
die("সংযোগ ব্যর্থ হয়েছেঃ " . $conn->connect_error);
}
// টেবিল তৈরি করার জন্য এসকিউএল কোড
$sql = "CREATE TABLE testTB (
id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
firstname VARCHAR(25) NOT NULL,
lastname VARCHAR(25) NOT NULL,
email VARCHAR(55),
insert_date TIMESTAMP
)";
// টেবিল তৈরি হয়েছে কিনা যাচাই করা
if ($conn->query($sql) === TRUE) {
echo "testTB টেবিল তৈরি সম্পন্ন হয়েছে।";
} else {
echo "টেবিল তৈরিতে ত্রুটি রয়েছেঃ " . $conn->error;
}
// সংযোগ বিচ্ছিন্ন
$conn->close();
?>