創(chuàng)建MySQL數(shù)據(jù)表需要以下信息:
表名
表字段名
定義每個(gè)表字段
以下為創(chuàng)建MySQL數(shù)據(jù)表的SQL通用語法:
CREATE TABLE table_name (column_name column_type);
以下實(shí)例中我們將在 NHOOO 數(shù)據(jù)庫中創(chuàng)建數(shù)據(jù)表nhooo_tbl:
CREATE TABLE IF NOT EXISTS `nhooo_tbl`( `nhooo_id` INT UNSIGNED AUTO_INCREMENT, `nhooo_title` VARCHAR(100) NOT NULL, `nhooo_author` VARCHAR(40) NOT NULL, `submission_date` DATE, PRIMARY KEY ( `nhooo_id` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8;
示例解析:
如果你不想字段為 NULL 可以設(shè)置字段的屬性為 NOT NULL, 在操作數(shù)據(jù)庫時(shí)如果輸入該字段的數(shù)據(jù)為NULL ,就會報(bào)錯(cuò)。
AUTO_INCREMENT定義列為自增的屬性,一般用于主鍵,數(shù)值會自動加1。
PRIMARY KEY關(guān)鍵字用于定義列為主鍵。 您可以使用多列來定義主鍵,列間以逗號分隔。
ENGINE 設(shè)置存儲引擎,CHARSET 設(shè)置編碼。
通過 mysql> 命令窗口可以很簡單的創(chuàng)建MySQL數(shù)據(jù)表。你可以使用 SQL 語句 CREATE TABLE 來創(chuàng)建數(shù)據(jù)表。
以下為創(chuàng)建數(shù)據(jù)表 nhooo_tbl 示例:
root@host# mysql -u root -p Enter password:******* mysql> use NHOOO; Database changed mysql> CREATE TABLE nhooo_tbl( -> nhooo_id INT NOT NULL AUTO_INCREMENT, -> nhooo_title VARCHAR(100) NOT NULL, -> nhooo_author VARCHAR(40) NOT NULL, -> submission_date DATE, -> PRIMARY KEY ( nhooo_id ) -> )ENGINE=InnoDB DEFAULT CHARSET=utf8; Query OK, 0 rows affected (0.16 sec) mysql>
注意:MySQL命令終止符為分號 ; 。
注意: -> 是換行符標(biāo)識,不要復(fù)制。
你可以使用 PHP 的 mysqli_query() 函數(shù)來創(chuàng)建已存在數(shù)據(jù)庫的數(shù)據(jù)表。
該函數(shù)有兩個(gè)參數(shù),在執(zhí)行成功時(shí)返回 TRUE,否則返回 FALSE。
mysqli_query(connection,query,resultmode);
參數(shù) | 描述 |
---|---|
connection | 必需。指定要使用的 MySQL 連接。 |
query | 必需,指定查詢字符串。 |
resultmode | 可選。一個(gè)常量??梢允窍铝兄抵械娜我庖粋€(gè):
|
以下示例使用了PHP腳本來創(chuàng)建數(shù)據(jù)表:
<?php $dbhost = 'localhost'; // mysql服務(wù)器主機(jī)地址 $dbuser = 'root'; // mysql用戶名 $dbpass = '123456'; // mysql用戶名密碼 $conn = mysqli_connect($dbhost, $dbuser, $dbpass); if(! $conn ) { die('連接失敗: ' . mysqli_error($conn)); } echo '連接成功<br />'; $sql = "CREATE TABLE nhooo_tbl( ". "nhooo_id INT NOT NULL AUTO_INCREMENT, ". "nhooo_title VARCHAR(100) NOT NULL, ". "nhooo_author VARCHAR(40) NOT NULL, ". "submission_date DATE, ". "PRIMARY KEY ( nhooo_id ))ENGINE=InnoDB DEFAULT CHARSET=utf8; "; mysqli_select_db( $conn, 'NHOOO' ); $retval = mysqli_query( $conn, $sql ); if(! $retval ) { die('數(shù)據(jù)表創(chuàng)建失敗: ' . mysqli_error($conn)); } echo "數(shù)據(jù)表創(chuàng)建成功\n"; mysqli_close($conn); ?>
執(zhí)行成功后,就可以通過命令行查看表結(jié)構(gòu):