创建表的命令要求:
- 表的名称
- 表字段名称
- 每个字段的定义
语法:
下面是通用的SQL语法来创建一个MySQL表:
1
|
CREATE TABLE table_name (column_name column_type);
|
现在,我们将创建下面的教程数据库表中。
1
2
3
4
5
6
7
|
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:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
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脚本来创建一个表:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
< 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 >
|