mysql如何創(chuàng)建表

mysql中,可以使用“CREATE TABLE”語句創(chuàng)建表;其語法格式為“CREATE TABLE ([表定義選項(xiàng)])[表選項(xiàng)][分區(qū)選項(xiàng)];”,其中“[表定義選項(xiàng)]”的格式為“ [,…] ”。

mysql如何創(chuàng)建表

創(chuàng)建數(shù)據(jù)表的過程是規(guī)定數(shù)據(jù)列的屬性的過程,同時(shí)也是實(shí)施數(shù)據(jù)完整性(包括實(shí)體完整性、引用完整性和域完整性)約束的過程。下面本篇文章介紹一下mysql創(chuàng)建表的方法。

基本語法

在 MySQL 中,可以使用 CREATE TABLE 語句創(chuàng)建表。其語法格式為:

CREATE?TABLE??([表定義選項(xiàng)])[表選項(xiàng)][分區(qū)選項(xiàng)];

其中,[表定義選項(xiàng)]的格式為:

??[,…]??

CREATE TABLE 命令語法比較多,其主要是由表創(chuàng)建定義(create-definition)、表選項(xiàng)(table-options)和分區(qū)選項(xiàng)(partition-options)所組成的。

這里首先描述一個(gè)簡單的新建表的例子,然后重點(diǎn)介紹 CREATE TABLE 命令中的一些主要的語法知識(shí)點(diǎn)。

CREATE TABLE 語句的主要語法及使用說明如下:

  • CREATE TABLE:用于創(chuàng)建給定名稱的表,必須擁有表CREATE的權(quán)限。

  • :指定要?jiǎng)?chuàng)建表的名稱,在 CREATE TABLE 之后給出,必須符合標(biāo)識(shí)符命名規(guī)則。表名稱被指定為 db_name.tbl_name,以便在特定的數(shù)據(jù)庫中創(chuàng)建表。無論是否有當(dāng)前數(shù)據(jù)庫,都可以通過這種方式創(chuàng)建。在當(dāng)前數(shù)據(jù)庫中創(chuàng)建表時(shí),可以省略 db-name。如果使用加引號(hào)的識(shí)別名,則應(yīng)對(duì)數(shù)據(jù)庫和表名稱分別加引號(hào)。例如,’mydb’.’mytbl’ 是合法的,但 ‘mydb.mytbl’ 不合法。

  • :表創(chuàng)建定義,由列名(col_name)、列的定義(column_definition)以及可能的空值說明、完整性約束或表索引組成。

  • 默認(rèn)的情況是,表被創(chuàng)建到當(dāng)前的數(shù)據(jù)庫中。若表已存在、沒有當(dāng)前數(shù)據(jù)庫或者數(shù)據(jù)庫不存在,則會(huì)出現(xiàn)錯(cuò)誤。

提示:使用 CREATE TABLE 創(chuàng)建表時(shí),必須指定以下信息:

  • 要?jiǎng)?chuàng)建的表的名稱不區(qū)分大小寫,不能使用SQL語言中的關(guān)鍵字,如DROP、ALTER、INSERT等。

  • 數(shù)據(jù)表中每個(gè)列(字段)的名稱和數(shù)據(jù)類型,如果創(chuàng)建多個(gè)列,要用逗號(hào)隔開。

相信大家應(yīng)該知道如何進(jìn)入mysql,這里就不在多說了。

在指定的數(shù)據(jù)庫中創(chuàng)建表

數(shù)據(jù)表屬于數(shù)據(jù)庫,在創(chuàng)建數(shù)據(jù)表之前,應(yīng)使用語句“USE”指定操作在哪個(gè)數(shù)據(jù)庫中進(jìn)行,如果沒有選擇數(shù)據(jù)庫,就會(huì)拋出 No database selected 的錯(cuò)誤。

例 1

創(chuàng)建員工表 tb_emp1,結(jié)構(gòu)如下表所示。

mysql如何創(chuàng)建表

選擇創(chuàng)建表的數(shù)據(jù)庫 test_db,創(chuàng)建 tb_emp1 數(shù)據(jù)表,輸入的 SQL 語句和運(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)

語句執(zhí)行后,便創(chuàng)建了一個(gè)名稱為 tb_emp1 的數(shù)據(jù)表,使用 SHOW TABLES;語句查看數(shù)據(jù)表是否創(chuàng)建成功,如下所示。

mysql>?SHOW?TABLES; +--------------------+ |?Tables_in_test_db??| +--------------------+ |?tb_emp1????????????| +--------------------+ 1?rows?in?set?(0.00?sec)

推薦課程:MySQL教程。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊6 分享