创建MySQL表

首先,表创建命令需要以下详细信息 :

  • 表的名称

  • 字段名称

  • 每个字段的定义

语法

这是创建MySQL表的通用SQL语法 :

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.因此,如果用户尝试创建具有NULL值的记录,则MySQL将引发错误.

  • 字段属性 AUTO_INCREMENT 告诉MySQL继续将下一个可用号码添加到id字段.

  • 关键字 PRIMARY KEY 用于定义列作为主键.您可以使用以逗号分隔的多个列来定义主键.

从命令提示符创建表

很容易从mysql>创建一个MySQL表.提示.您将使用SQL命令 CREATE TABLE 来创建表.

示例

这是一个示例,它将create 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>

注意 : 在SQL命令结束时给出分号(;)之前,MySQL不会终止命令.

使用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>