表的创建命令需要:

  • 表的名称
  • 字段名称
  • 定义每个字段(类型、长度等)

语法

下面是通用的SQL语法用来创建MySQL表:

CREATE TABLE table_name (column_name column_type);

现在,我们将在 test 数据库中创建以下表。

create table docs_tbl(
   docs_id INT NOT NULL AUTO_INCREMENT,
   docs_title VARCHAR(100) NOT NULL,
   docs_author VARCHAR(40) NOT NULL,
   submission_date DATE,
   PRIMARY KEY ( docs_id )
);

在这里,一些数据项需要解释:

  • 字段使用NOT NULL属性,是因为我们不希望这个字段的值为NULL。 因此,如果用户将尝试创建具有NULL值的记录,那么MySQL会产生错误。
  • 字段的AUTO_INCREMENT属性告诉MySQL自动增加id字段下一个可用编号。
  • 关键字PRIMARY KEY用于定义此列作为主键。可以使用逗号分隔多个列来定义主键。

1、通过命令提示符来创建表

在mysql>提示符下,创建一个MySQL表这是很容易的。使用 SQL 命令 CREATE TABLE 来创建表。

示例

下面是一个例子,创建一个表: docs_tbl

[root@linuxxyz]# mysql -u root -p
Enter password:
mysql> use test;
Database changed
mysql> CREATE TABLE docs_tbl(
   -> docs_id INT NOT NULL AUTO_INCREMENT,
   -> docs_title VARCHAR(100) NOT NULL,
   -> docs_author VARCHAR(40) NOT NULL,
   -> submission_date DATE,
   -> PRIMARY KEY ( docs_id )
   -> );
Query OK, 0 rows affected (0.16 sec)
mysql>

注: MySQL不会终止命令,直到给一个分号(;)表示SQL命令结束。

2、使用PHP脚本创建表

要在现有数据库中创建新表,需要使用PHP函数 mysql_query()。通过它的第二个参数 SQL命令来创建一个表。

示例:

这里有一个例子,使用PHP脚本来创建一个表:

<html>
<head>
<title>Creating MySQL Tables</title>
</head>
<body>
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully<br />';
$sql = "CREATE TABLE docs_tbl( ".
       "docs_id INT NOT NULL AUTO_INCREMENT, ".
       "docs_title VARCHAR(100) NOT NULL, ".
       "docs_author VARCHAR(40) NOT NULL, ".
       "submission_date DATE, ".
       "PRIMARY KEY ( docs_id )); ";
mysql_select_db( 'test' );
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
  die('Could not create table: ' . mysql_error());
}
echo "Table created successfully\n";
mysql_close($conn);
?>
</body>
</html>