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>