สร้างตาราง MySQL

ในการเริ่มต้นคำสั่งสร้างตารางต้องมีรายละเอียดดังต่อไปนี้ -

  • ชื่อของตาราง
  • ชื่อของฟิลด์
  • คำจำกัดความสำหรับแต่ละฟิลด์

ไวยากรณ์

นี่คือไวยากรณ์ SQL ทั่วไปสำหรับสร้างตาราง MySQL -

CREATE TABLE table_name (column_name column_type);

ตอนนี้เราจะสร้างตารางต่อไปนี้ในไฟล์ TUTORIALS ฐานข้อมูล.

create table tutorials_tbl(
   tutorial_id INT NOT NULL AUTO_INCREMENT,
   tutorial_title VARCHAR(100) NOT NULL,
   tutorial_author VARCHAR(40) NOT NULL,
   submission_date DATE,
   PRIMARY KEY ( tutorial_id )
);

ที่นี่มีบางรายการที่ต้องการคำอธิบาย -

  • แอตทริบิวต์ฟิลด์ NOT NULLถูกนำมาใช้เนื่องจากเราไม่ต้องการให้ฟิลด์นี้เป็นโมฆะ ดังนั้นหากผู้ใช้พยายามสร้างเร็กคอร์ดด้วยค่า NULL MySQL จะแสดงข้อผิดพลาด

  • แอตทริบิวต์ฟิลด์ AUTO_INCREMENT บอกให้ MySQL ดำเนินการต่อและเพิ่มหมายเลขถัดไปที่มีอยู่ในช่อง id

  • คำสำคัญ PRIMARY KEYใช้เพื่อกำหนดคอลัมน์เป็นคีย์หลัก คุณสามารถใช้หลายคอลัมน์โดยคั่นด้วยลูกน้ำเพื่อกำหนดคีย์หลัก

การสร้างตารางจากพรอมต์คำสั่ง

ง่ายต่อการสร้างตาราง MySQL จากพรอมต์ mysql> คุณจะใช้คำสั่ง SQLCREATE TABLE เพื่อสร้างตาราง

ตัวอย่าง

นี่คือตัวอย่างซึ่งจะสร้าง tutorials_tbl -

root@host# mysql -u root -p
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> CREATE TABLE tutorials_tbl(
   -> tutorial_id INT NOT NULL AUTO_INCREMENT,
   -> tutorial_title VARCHAR(100) NOT NULL,
   -> tutorial_author VARCHAR(40) NOT NULL,
   -> submission_date DATE,
   -> PRIMARY KEY ( tutorial_id )
   -> );
Query OK, 0 rows affected (0.16 sec)
mysql>

NOTE - MySQL จะไม่ยุติคำสั่งจนกว่าคุณจะใส่เครื่องหมายอัฒภาค (;) ที่ท้ายคำสั่ง SQL

การสร้างตารางโดยใช้สคริปต์ PHP

ในการสร้างตารางใหม่ในฐานข้อมูลที่มีอยู่คุณจะต้องใช้ฟังก์ชัน PHP mysql_query(). คุณจะส่งผ่านอาร์กิวเมนต์ที่สองด้วยคำสั่ง SQL ที่เหมาะสมเพื่อสร้างตาราง

ตัวอย่าง

โปรแกรมต่อไปนี้เป็นตัวอย่างในการสร้างตารางโดยใช้สคริปต์ PHP -

<html>
   <head>
      <title>Creating MySQL Tables</title>
   </head>
   
   <body>
      <?php
         $dbhost = 'localhost:3036';
         $dbuser = 'root';
         $dbpass = 'rootpassword';
         $conn = mysql_connect($dbhost, $dbuser, $dbpass);
         
         if(! $conn ) {
            die('Could not connect: ' . mysql_error());
         }
         echo 'Connected successfully<br />';
         $sql = "CREATE TABLE tutorials_tbl( ".
            "tutorial_id INT NOT NULL AUTO_INCREMENT, ".
            "tutorial_title VARCHAR(100) NOT NULL, ".
            "tutorial_author VARCHAR(40) NOT NULL, ".
            "submission_date DATE, ".
            "PRIMARY KEY ( tutorial_id )); ";
         mysql_select_db( 'TUTORIALS' );
         $retval = mysql_query( $sql, $conn );
         
         if(! $retval ) {
            die('Could not create table: ' . mysql_error());
         }
         echo "Table created successfully\n";
         mysql_close($conn);
      ?>
   </body>
</html>