MySQL 創(chuàng)建表
MySQL 創(chuàng)建表
創(chuàng)建數(shù)據(jù)表的過程是規(guī)定數(shù)據(jù)列的屬性的過程,同時也是實施數(shù)據(jù)完整性約束的過程。通常一個表中含有多個數(shù)據(jù)列(字段),所以創(chuàng)建 MySQL 表需要以下信息:
- 表名
- 字段名
- 字段屬性
1. MySQL 創(chuàng)建表的語法
CREATE TABLE table_name (column_name column_type);
以下例子中,我們在 CodeBaoku 數(shù)據(jù)庫中創(chuàng)建 article 表:
CREATE TABLE IF NOT EXISTS `article`( `id` INT UNSIGNED AUTO_INCREMENT, `title` VARCHAR(100) NOT NULL, `author` VARCHAR(40) NOT NULL, `submission_date` DATE, PRIMARY KEY ( `id` ) )ENGINE=InnoDB DEFAULT CHARSET=utf8;
范例解析:
- 如果你不想字段為 NULL 可以設置字段的屬性為 NOT NULL, 在操作數(shù)據(jù)庫時如果輸入該字段的數(shù)據(jù)為NULL ,就會報錯。
- AUTO_INCREMENT定義列為自增的屬性,一般用于主鍵,數(shù)值會自動加1。
- PRIMARY KEY關鍵字用于定義列為主鍵。 您可以使用多列來定義主鍵,列間以逗號分隔。
- ENGINE 設置存儲引擎,CHARSET 設置編碼。
2. 通過命令窗口創(chuàng)建表
通過 mysql> 命令窗口可以創(chuàng)建表。
以下范例創(chuàng)建 article 表:
root@host# mysql -u root -p Enter password:******* mysql> use CodeBaoku; Database changed mysql> CREATE TABLE article( id INT NOT NULL AUTO_INCREMENT, title VARCHAR(100) NOT NULL, author VARCHAR(40) NOT NULL, submission_date DATE, PRIMARY KEY ( id ) )ENGINE=InnoDB DEFAULT CHARSET=utf8; Query OK, 0 rows affected (0.16 sec) mysql>
注意:MySQL命令終止符為分號 ; 。
3. 使用PHP腳本創(chuàng)建表
你可以使用PHP腳本的 mysqli_query() 函數(shù)來創(chuàng)建已存在數(shù)據(jù)庫的數(shù)據(jù)表。
該函數(shù)有兩個參數(shù),在執(zhí)行成功時返回 TRUE,否則返回 FALSE。
PHP 創(chuàng)建表的語法
mysqli_query(connection,query,resultmode);
參數(shù) | 描述 |
---|---|
connection | 必需。規(guī)定要使用的 MySQL 連接。 |
query | 必需,規(guī)定查詢字符串。 |
resultmode |
可選。一個常量??梢允窍铝兄抵械娜我庖粋€:
|
以下范例使用PHP腳本來創(chuàng)建表:
MySQL 范例
<?php
$dbhost = 'localhost'; // mysql服務器主機地址
$dbuser = 'root'; // mysql用戶名
$dbpass = '123456'; // mysql用戶名密碼
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('連接失敗: ' . mysqli_error($conn));
}
echo '連接成功<br />';
$sql = "CREATE TABLE article( ".
"id INT NOT NULL AUTO_INCREMENT, ".
"title VARCHAR(100) NOT NULL, ".
"author VARCHAR(40) NOT NULL, ".
"submission_date DATE, ".
"PRIMARY KEY ( id ))ENGINE=InnoDB DEFAULT CHARSET=utf8; ";
mysqli_select_db( $conn, 'CodeBaoku' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('數(shù)據(jù)表創(chuàng)建失敗: ' . mysqli_error($conn));
}
echo "數(shù)據(jù)表創(chuàng)建成功\n";
mysqli_close($conn);
?>
相關文章
- MySQL 選擇數(shù)據(jù)庫
- MySQL 創(chuàng)建表
- MySQL 刪除表
- MySQL UPDATE 語句:更新數(shù)據(jù)
- MySQL GROUP BY 子句:分組
- MySQL JOIN 語句:表連接
- MySQL 自增字段
- MySQL 導出數(shù)據(jù)
- MySQL 運算符
- MYSQL 聚簇索引和非聚簇索引的區(qū)別
- MySQL 回表查詢和索引覆蓋
- mysql中有哪些系統(tǒng)變量類型
- mysql innodb異常如何處理
- mysql密碼忘記了怎么修復
- mysql常見的中文亂碼怎么解決
- 如何提高mysql查詢效率
- 怎么在不同操作系統(tǒng)下更改MySQL的端口號
- mysql的外鍵如何設置
- mysql的DISTINCT怎么使用
- with as mysql語法是什么