MySQL CREATE 建立資料表

MySQL 建立資料表

建立MySQL資料表需要以下資訊:

  • 表名
  • 表字段名
  • 定義每個表字段

語法

以下為建立MySQL資料表的SQL通用語法:

CREATE TABLE table_name (column_name column_type);

以下例子中我們將在 ITREAD01 資料庫中建立資料表ITREAD01_tbl:

CREATE TABLE IF NOT EXISTS `ITREAD01_tbl`(
   `ITREAD01_id` INT UNSIGNED AUTO_INCREMENT,
   `ITREAD01_title` VARCHAR(100) NOT NULL,
   `ITREAD01_author` VARCHAR(40) NOT NULL,
   `submission_date` DATE,
   PRIMARY KEY ( `ITREAD01_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

例項解析:

  • 如果你不想欄位為 NULL 可以設定欄位的屬性為 NOT NULL, 在操作資料庫時如果輸入該欄位的資料為NULL ,就會報錯。
  • AUTO_INCREMENT定義列為自增的屬性,一般用於主鍵,數值會自動加1。
  • PRIMARY KEY關鍵字用於定義列為主鍵。 您可以使用多列來定義主鍵,列間以逗號分隔。
  • ENGINE 設定儲存引擎,CHARSET 設定編碼。


通過命令提示符建立表

通過 mysql> 命令視窗可以很簡單的建立MySQL資料表。你可以使用 SQL 語句 CREATE TABLE 來建立資料表。

例項

以下為建立資料表 ITREAD01_tbl 例項:

[email protected]# mysql -u root -p
Enter password:*******
mysql> use ITREAD01;
Database changed
mysql> CREATE TABLE ITREAD01_tbl(
   -> ITREAD01_id INT NOT NULL AUTO_INCREMENT,
   -> ITREAD01_title VARCHAR(100) NOT NULL,
   -> ITREAD01_author VARCHAR(40) NOT NULL,
   -> submission_date DATE,
   -> PRIMARY KEY ( ITREAD01_id )
   -> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.16 sec)
mysql>

注意:MySQL命令終止符為分號 (;) 。


使用PHP指令碼建立資料表

你可以使用 PHP 的 mysqli_query() 函式來建立已存在資料庫的資料表。

該函式有兩個引數,在執行成功時返回 TRUE,否則返回 FALSE。

語法

mysqli_query(connection,query,resultmode);
引數 描述
connection 必需。規定要使用的 MySQL 連線。
query 必需,規定查詢字串。
resultmode

可選。一個常量。可以是下列值中的任意一個:

  • MYSQLI_USE_RESULT(如果需要檢索大量資料,請使用這個)
  • MYSQLI_STORE_RESULT(預設)

例項

以下例項使用了PHP指令碼來建立資料表:

建立資料表

<?php $dbhost = 'localhost:3306'; // mysql伺服器主機地址 $dbuser = 'root'; // mysql使用者名稱 $dbpass = '123456'; // mysql使用者名稱密碼 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('連線失敗: ' . mysqli_error($conn)); } echo '連線成功<br />'; $sql = "CREATE TABLE ITREAD01_tbl( ". "ITREAD01_id INT NOT NULL AUTO_INCREMENT, ". "ITREAD01_title VARCHAR(100) NOT NULL, ". "ITREAD01_author VARCHAR(40) NOT NULL, ". "submission_date DATE, ". "PRIMARY KEY ( ITREAD01_id ))ENGINE=InnoDB DEFAULT CHARSET=utf8; "; mysqli_select_db( $conn, 'ITREAD01' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('資料表建立失敗: ' . mysqli_error($conn)); } echo "資料表建立成功\n"; mysqli_close($conn); ?>