ตารางข้อมูลมีชื่อเฉพาะและประกอบด้วยแถวและคอลัมน์
สร้างตาราง MySQL โดยใช้ MySQLi และ PDO
คำสั่ง CREATE TABLE ใช้เพื่อสร้างตาราง MySQL
ก่อนที่จะสร้างตาราง เราจำเป็นต้อง use myDB เพื่อเลือกฐานข้อมูลที่จะทำงาน:
ใช้ myDB;
เราจะสร้างตารางชื่อ "MyGuests" โดยมี 5 คอลัมน์: "id", "firstname", "lastname", "email" และ "reg_date":
สร้าง โต๊ะ แขกของฉัน - บัตรประจำตัวประชาชน อินท์ ( 6 ) ไม่ได้ลงนาม AUTO_INCREMENT หลัก คีย์ ชื่อ จริง วาร์ชาร์ ( 30 ) ไม่ NULL นามสกุล วาร์ชาร์ ( 30 ) ไม่ NULL อีเมล วาร์ชาร์ ( 50 ) , reg_date การประทับเวลา - หมายเหตุในตารางด้านบน:
ประเภทข้อมูลจะระบุประเภทข้อมูลที่คอลัมน์สามารถจัดเก็บได้ สำหรับประเภทข้อมูลที่สมบูรณ์ โปรดดูคู่มืออ้างอิงประเภทข้อมูลของเรา
หลังจากตั้งค่าประเภทข้อมูลแล้ว คุณสามารถระบุตัวเลือกเพิ่มเติมสำหรับคุณสมบัติของแต่ละคอลัมน์ได้:
ไม่เป็นโมฆะ - แต่ละแถวจะต้องมีค่า (ไม่สามารถเว้นว่างได้) ไม่อนุญาตให้ใช้ค่าว่าง
ค่าเริ่มต้น - ตั้งค่าเริ่มต้น
ไม่ได้ลงนาม - ใช้ประเภทตัวเลขที่ไม่ได้ลงนาม 0 และจำนวนบวก
เพิ่มอัตโนมัติ - ตั้งค่าของฟิลด์ MySQL ให้เพิ่มขึ้น 1 โดยอัตโนมัติทุกครั้งที่มีการเพิ่มบันทึกใหม่
คีย์หลัก - ตั้งค่าตัวระบุที่ไม่ซ้ำกันสำหรับแต่ละระเบียนในตารางข้อมูล โดยปกติแล้ว PRIMARY KEY ของคอลัมน์จะถูกตั้งค่าเป็นค่า ID ซึ่งใช้กับ AUTO_INCREMENT
ทุกตารางควรมีคีย์หลัก (คอลัมน์นี้คือคอลัมน์ "id") และคีย์หลักจะต้องมีค่าที่ไม่ซ้ำกัน
ตัวอย่างต่อไปนี้แสดงวิธีการสร้างตารางใน PHP:
ตัวอย่าง (MySQLi - เชิงวัตถุ)
<?php $servername = " localhost " ; $username = " ชื่อ ผู้ใช้ " ; $password = " รหัสผ่าน " ; $ dbname = " myDB " ; $conn = ใหม่ mysqli ( $servername , $username , $password , $dbname ) ; // ตรวจจับการเชื่อมต่อ ถ้า ( $conn -> Connect_error ) - die ( " การเชื่อมต่อล้มเหลว: " . $ conn -> Connect_error ) ; // ใช้ sql เพื่อสร้างตารางข้อมูล $sql = " สร้างตาราง MyGuests (id INT(6) คีย์หลัก AUTO_INCREMENT ที่ไม่ได้ลงนาม, ชื่อ VARCHAR(30) NOT NULL,
นามสกุล VARCHAR(30) NOT NULL, อีเมล VARCHAR(50), reg_date TIMESTAMP) " ; ( $conn -> แบบสอบถาม ( $sql ) === TRUE ) - เสียงสะท้อน " สร้างตาราง MyGuests สำเร็จ แล้ว " } อื่น - เสียงสะท้อน " เกิด ข้อผิดพลาดในการสร้างตารางข้อมูล: " . $conn -> error ; $conn - > ปิด ( ) ; ตัวอย่าง (MySQLi - เน้นขั้นตอน)
<?php $servername = " localhost " ; $username = " ชื่อ ผู้ใช้ " ; $password = " รหัสผ่าน " ; $ dbname = " myDB " ; $conn = mysqli_connect ( $servername , $username , $password , $dbname ) ; // ตรวจจับการเชื่อมต่อ ถ้า ( ! $conn ) - die ( " การ
เชื่อม ต่อ
ล้ม เหลว: " . mysqli_connect_error ( ) ; // ใช้ sql เพื่อสร้างตารางข้อมูล $sql = " สร้างตาราง MyGuests (id INT(6) คีย์หลัก AUTO_INCREMENT ที่ไม่ได้ลงนาม, ชื่อ VARCHAR(30) NOT NULL,
นามสกุล VARCHAR(30) NOT NULL, อีเมล VARCHAR(50), reg_date TIMESTAMP) " ; ( mysqli_query ( $conn , $sql ) ) - เสียงสะท้อน " สร้างตารางข้อมูล MyGuests สำเร็จ แล้ว " } อื่น - เสียงสะท้อน " เกิด ข้อผิดพลาดในการสร้างตารางข้อมูล: " . mysqli_error ( $conn ) ; mysqli_close ( $ conn ) ; ตัวอย่าง (PDO)
<?php $servername = " localhost " ; $username = " ชื่อ ผู้ใช้ " ; $password = " รหัสผ่าน " ; $dbname = " myDBPDO " ; - $conn = ใหม่ PDO ( " mysql:host= $servername ;dbname= $dbname " , $username , $password ) ; // ตั้งค่าโหมดข้อผิดพลาด PDO สำหรับการทิ้งข้อยกเว้น $conn -> setAttribute ( PDO :: ATTR_ERRMODE , PDO :: ERRMODE_EXCEPTION ) ; // ใช้ sql เพื่อสร้างตารางข้อมูล $sql = " สร้างตาราง MyGuests ( id INT(6) คีย์หลัก AUTO_INCREMENT
ที่ ไม่ได้ลงนาม, ชื่อ VARCHAR(30) NOT NULL, นามสกุล
VARCHAR (30) NOT NULL, อีเมล VARCHAR(50), reg_date TIMESTAMP ) " ; ) จะไม่มีการส่งคืนผลลัพธ์ $conn -> ผู้ บริหาร ( $sql ) ; " สร้างตารางข้อมูล MyGuests สำเร็จ แล้ว " } จับ ( PDOException $อี ) - เสียงสะท้อน $ sql . " <br> " . $e -> getMessage ( ) ; $conn = โมฆะ ; ?>