创建表的命令要求:
- 表的名称
- 表字段名称
- 每个字段的定义
语法:
下面是通用的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 > |