新聞中心

創(chuàng)建數(shù)據(jù)表的過(guò)程是規(guī)定數(shù)據(jù)列的屬性的過(guò)程,同時(shí)也是實(shí)施數(shù)據(jù)完整性(包括實(shí)體完整性、引用完整性和域完整性)約束的過(guò)程。接下來(lái)我們介紹一下創(chuàng)建數(shù)據(jù)表的語(yǔ)法形式。
基本語(yǔ)法
在 mysql 中,可以使用
CREATE TABLE 語(yǔ)句創(chuàng)建表。其語(yǔ)法格式為:
CREATE TABLE <表名> ([表定義選項(xiàng)])[表選項(xiàng)][分區(qū)選項(xiàng)];
其中,
[表定義選項(xiàng)]的格式為:
<列名1> <類型1> [,…] <列名n> <類型n>
CREATE TABLE 命令語(yǔ)法比較多,其主要是由表創(chuàng)建定義(create-definition)、表選項(xiàng)(table-options)和分區(qū)選項(xiàng)(partition-options)所組成的。
這里首先描述一個(gè)簡(jiǎn)單的新建表的例子,然后重點(diǎn)介紹 CREATE TABLE 命令中的一些主要的語(yǔ)法知識(shí)點(diǎn)。
CREATE TABLE 語(yǔ)句的主要語(yǔ)法及使用說(shuō)明如下:
- CREATE TABLE:用于創(chuàng)建給定名稱的表,必須擁有表CREATE的權(quán)限。
- <表名>:指定要?jiǎng)?chuàng)建表的名稱,在 CREATE TABLE 之后給出,必須符合標(biāo)識(shí)符命名規(guī)則。表名稱被指定為 db_name.tbl_name,以便在特定的數(shù)據(jù)庫(kù)中創(chuàng)建表。無(wú)論是否有當(dāng)前數(shù)據(jù)庫(kù),都可以通過(guò)這種方式創(chuàng)建。在當(dāng)前數(shù)據(jù)庫(kù)中創(chuàng)建表時(shí),可以省略 db-name。如果使用加引號(hào)的識(shí)別名,則應(yīng)對(duì)數(shù)據(jù)庫(kù)和表名稱分別加引號(hào)。例如,'mydb'.'mytbl' 是合法的,但 'mydb.mytbl' 不合法。
- <表定義選項(xiàng)>:表創(chuàng)建定義,由列名(col_name)、列的定義(column_definition)以及可能的空值說(shuō)明、完整性約束或表索引組成。
- 默認(rèn)的情況是,表被創(chuàng)建到當(dāng)前的數(shù)據(jù)庫(kù)中。若表已存在、沒(méi)有當(dāng)前數(shù)據(jù)庫(kù)或者數(shù)據(jù)庫(kù)不存在,則會(huì)出現(xiàn)錯(cuò)誤。
在指定的數(shù)據(jù)庫(kù)中創(chuàng)建表
數(shù)據(jù)表屬于數(shù)據(jù)庫(kù),在創(chuàng)建數(shù)據(jù)表之前,應(yīng)使用語(yǔ)句“USE<數(shù)據(jù)庫(kù)>”指定操作在哪個(gè)數(shù)據(jù)庫(kù)中進(jìn)行,如果沒(méi)有選擇數(shù)據(jù)庫(kù),就會(huì)拋出 No database selected 的錯(cuò)誤。
例 1
創(chuàng)建員工表 tb_emp1,結(jié)構(gòu)如下表所示。
| 字段名稱 | 數(shù)據(jù)類型 | 備注 |
|---|---|---|
| id | INT(ll) | 員工編號(hào) |
| name | VARCHAR(25) | 員工名稱 |
| deptld | INT(ll) | 所在部門(mén)編號(hào) |
| salary | FLOAT | 工資 |
選擇創(chuàng)建表的數(shù)據(jù)庫(kù) test_db,創(chuàng)建 tb_emp1 數(shù)據(jù)表,輸入的 SQL 語(yǔ)句和運(yùn)行結(jié)果如下所示。
mysql> USE test_db;
Database changed
mysql> CREATE TABLE tb_emp1
-> (
-> id INT(11),
-> name VARCHAR(25),
-> deptId INT(11),
-> salary FLOAT
-> );
Query OK, 0 rows affected (0.37 sec)
語(yǔ)句執(zhí)行后,便創(chuàng)建了一個(gè)名稱為 tb_emp1 的數(shù)據(jù)表,使用 SHOW TABLES;語(yǔ)句查看數(shù)據(jù)表是否創(chuàng)建成功,如下所示。
mysql> SHOW TABLES; +--------------------+ | Tables_in_test_db | +--------------------+ | tb_emp1 | +--------------------+ 1 rows in set (0.00 sec)
文章題目:MySQL創(chuàng)建數(shù)據(jù)表(CREATETABLE語(yǔ)句)
文章轉(zhuǎn)載:http://www.fisionsoft.com.cn/article/dhdidjc.html


咨詢
建站咨詢
