MySQL创建表


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

  • 表名

  • 栏位名称

  • 每个字段的定义

语法

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

CREATE TABLE table_name (column_name column_type);

在TUTORIALS数据库中创建下面的表。

create table newbiego_tbl(
    newbiego_id INT NOT NULL AUTO_INCREMENT,
    newbiego_title VARCHAR(100) NOT NULL,
    newbiego_author VARCHAR(40) NOT NULL,
    submission_date DATE,
    PRIMARY KEY ( newbiego_id )
);

这里,有几项需要说明:

  • 栏位属性NOT NULL之所以使用,是因为我们不希望该字段为NULL。因此,如果用户尝试使用NULL值创建记录,则MySQL将引发错误。

  • 栏位属性AUTO_INCREMENT告诉MySQL继续并将下一个可用数字添加到id字段。

  • 关键字PRIMARY KEY用于将列定义为主键,可以使用由逗号分隔的多个列来定义主键。

从命令提示符创建表


从mysql>提示符创建MySQL表很容易。你将使用SQL命令创建表创建一个表。

这是一个示例,它将创建newbiego_tbl表:

root@host# mysql -u root -p
Enter password:*******
mysql> use TUTORIALS;
Database changed
mysql> CREATE TABLE newbiego_tbl(
    -> newbiego_id INT NOT NULL AUTO_INCREMENT,
    -> newbiego_title VARCHAR(100) NOT NULL,
    -> newbiego_author VARCHAR(40) NOT NULL,
    -> submission_date DATE,
    -> PRIMARY KEY ( newbiego_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 newbiego_tbl( ".
                "newbiego_id INT NOT NULL AUTO_INCREMENT, ".
                "newbiego_title VARCHAR(100) NOT NULL, ".
                "newbiego_author VARCHAR(40) NOT NULL, ".
                "submission_date DATE, ".
                "PRIMARY KEY ( newbiego_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>