创建表的命令要求:
- 表的名称
- 表字段名称
- 每个字段的定义
语法:
下面是通用的SQL语法来创建一个MySQL表:
CREATE TABLE table_name (column_name column_type);
现在,我们将创建下面的教程数据库表中。
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 创建一个表。
例子:
下面是一个例子,它创建 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>
注: MySQL终止命令,直到你给一个分号(;)结束时的SQL命令。
使用PHP脚本创建MySQL表:
要创建新的表中的任何现有的数据库,需要使用PHP函数mysql_query()。将通过它的第二个参数,正确的SQL命令来创建一个表。
例子:
下面是一个例子,使用PHP脚本来创建一个表:
<html> <head> <title>Creating MySQL Tables - by www.jb51.com</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>