首先,表创建命令需要以下详细信息 :
表的名称
字段名称
每个字段的定义
这是创建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函数 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>