用mysql語句創(chuàng)建數(shù)據(jù)表詳細圖文說明教程
發(fā)表時間:2023-09-07 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]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知識。