明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

用mysql語句創(chuàng)建數(shù)據(jù)表詳細圖文說明教程

[摘要]MySQL不僅用于表數(shù)據(jù)操縱,而且還可以用來執(zhí)行數(shù)據(jù)庫和表的所有操作,包括表本身的創(chuàng)建和處理。一般有兩種創(chuàng)建表的方法:1.使用具有交互式創(chuàng)建和管理表的工具;2.表也可以直接用MySQL語句操縱。為了用程序創(chuàng)建表,可使用SQL的 CREATE TABLE 語句。值得注意的是,在使用交互式工具時,實際...
MySQL不僅用于表數(shù)據(jù)操縱,而且還可以用來執(zhí)行數(shù)據(jù)庫和表的所有操作,包括表本身的創(chuàng)建和處理。

一般有兩種創(chuàng)建表的方法:

1.使用具有交互式創(chuàng)建和管理表的工具;

2.表也可以直接用MySQL語句操縱。

為了用程序創(chuàng)建表,可使用SQL的 CREATE TABLE 語句。值得注意的是,在使用交互式工具時,實際上使用的是MySQL語句。但是,這些語句不是用戶編寫的,界面工具會自動生成并執(zhí)行相應(yīng)的MySQL語句(更改現(xiàn)有表時也是這樣)。


表創(chuàng)建基礎(chǔ)

為利用 CREATE TABLE 創(chuàng)建表,必須給出下列信息:

1.新表的名字,在關(guān)鍵字 CREATE TABLE 之后給出;

2.表列的名字和定義,用逗號分隔。

CREATE TABLE 語句也可能會包括其他關(guān)鍵字或選項,但至少要包括表的名字和列的細節(jié)。下面的MySQL語句創(chuàng)建本書中所用的 customers 表:

輸入:

create table customers
(
cust_id                int               NOT NULL AUTO_INCREMENT,
cust_name         char(50)     NOT NULL,
cust_address     char(50)     NULL,
cust_city             char(50)     NULL,
cust_state          char(5)       NULL,
cust_zip             char(10)     NULL,
cust_country      char(50)    NULL,
cust_contact      char(50)    NULL,
cust_email         char(255)  NULL
PRIMARY KEY (cust_id)
)ENGINE = InnoDB;

分析:從上面的例子中可以看到,表名緊跟在 CREATE TABLE 關(guān)鍵字后面。實際的表定義(所有列)括在圓括號之中。各列之間用逗號分隔。這個表由9列組成。每列的定義以列名(它在表中必須是唯一的)開始,后跟列的數(shù)據(jù)類型(關(guān)于數(shù)據(jù)類型的解釋,請參閱第1章。此外,附錄D列出了MySQL支持的數(shù)據(jù)類型)。表的主鍵可以在創(chuàng)建表時用PRIMARY KEY 關(guān)鍵字指定。這里,列 cust_id 指定作為主鍵列。整條語句由 右 圓 括 號 后 的 分 號 結(jié) 束 。( 現(xiàn) 在 先 忽 略 ENGINE=InnoDB 和AUTO_INCREMENT ,后面會對它們進行介紹。)

語句格式化 可回憶一下,以前說過MySQL語句中忽略空格。語句可以在一個長行上輸入,也可以分成許多行。它們的作用都相同。這允許你以最適合自己的方式安排語句的格式。前面的 CREATE TABLE 語句就是語句格式化的一個很好的例子,它被安排在多個行上,其中的列定義進行了恰當?shù)目s進,以便閱讀和編輯。以何種縮進格式安排SQL語句沒有規(guī)定,但我強烈推薦采用某種縮進格式。

處理現(xiàn)有的表 在創(chuàng)建新表時,指定的表名必須不存在,否則將出錯。如果要防止意外覆蓋已有的表,SQL要求首先手工刪除該表,然后再重建它,而不是簡單地用創(chuàng)建表語句覆蓋它。如果你僅想在一個表不存在時創(chuàng)建它,應(yīng)該在表名后給出 IF NOT EXISTS 。這樣做不檢查已有表的模式是否與你打算創(chuàng)建的表模式相匹配。它只是查看表名是否存在,并且僅在表名不存在時創(chuàng)建它。

以上就是用mysql語句創(chuàng)建數(shù)據(jù)表詳細教程的詳細內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!


學習教程快速掌握從入門到精通的SQL知識。