表的創建命令需要:
表的名稱
字段名稱
定義每個字段(類型、長度等)
下面是通用的SQL語法用來創建MySQL表:
CREATE TABLE table_name (column_name column_type);
現在,我們將在 test 數據庫中創建以下表。
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 ) );
在這裡,一些數據項需要解釋:
字段使用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_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 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( '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>