1. 程式人生 > >吳裕雄 08-MySQL建立資料表

吳裕雄 08-MySQL建立資料表

MySQL 建立資料表
建立MySQL資料表需要以下資訊:
表名
表字段名
定義每個表字段

語法
以下為建立MySQL資料表的SQL通用語法:
CREATE TABLE table_name (column_name column_type);

以下例子中我們將在 RUNOOB 資料庫中建立資料表runoob_tbl:
CREATE TABLE IF NOT EXISTS `runoob_tbl`(
`runoob_id` INT UNSIGNED AUTO_INCREMENT,
`runoob_title` VARCHAR(100) NOT NULL,
`runoob_author` VARCHAR(40) NOT NULL,
`submission_date` DATE,
PRIMARY KEY ( `runoob_id` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;
例項解析:
如果你不想欄位為 NULL 可以設定欄位的屬性為 NOT NULL,
在操作資料庫時如果輸入該欄位的資料為NULL ,就會報錯。
AUTO_INCREMENT定義列為自增的屬性,一般用於主鍵,數值會自動加1。
PRIMARY KEY關鍵字用於定義列為主鍵。 您可以使用多列來定義主鍵,列間以逗號分隔。
ENGINE 設定儲存引擎,CHARSET 設定編碼。

desc runoob_tbl;

通過命令提示符建立表
通過 mysql> 命令視窗可以很簡單的建立MySQL資料表。你可以使用 SQL 語句 CREATE TABLE 來建立資料表。
例項
以下為建立資料表 runoob_tbl 例項:
mysql -u root -p
Enter password:*******
mysql> use RUNOOB;
Database changed
mysql> CREATE TABLE runoob_tbl(
-> runoob_id INT NOT NULL AUTO_INCREMENT,
-> runoob_title VARCHAR(100) NOT NULL,
-> runoob_author VARCHAR(40) NOT NULL,
-> submission_date DATE,
-> PRIMARY KEY ( runoob_id )
-> )ENGINE=InnoDB DEFAULT CHARSET=utf8;
Query OK, 0 rows affected (0.16 sec)

使用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 runoob_tbl( ".
"runoob_id INT NOT NULL AUTO_INCREMENT, ".
"runoob_title VARCHAR(100) NOT NULL, ".
"runoob_author VARCHAR(40) NOT NULL, ".
"submission_date DATE, ".
"PRIMARY KEY ( runoob_id ))ENGINE=InnoDB DEFAULT CHARSET=utf8; ";
mysqli_select_db( $conn, 'RUNOOB' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('資料表建立失敗: ' . mysqli_error($conn));
}
echo "資料表建立成功\n";
mysqli_close($conn);
?>