用mysql語句創建數據表詳細教程

mysql不僅用于表數據操縱,而且還可以用來執行數據庫和表的所有操作,包括表本身的創建和處理。

一般有兩種創建表的方法:

1.使用具有交互式創建和管理表的工具;

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

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


表創建基礎

為利用 CREATE TABLE 創建表,必須給出下列信息:

1.新表的名字,在關鍵字 CREATE TABLE 之后給出;

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

CREATE TABLE 語句也可能會包括其他關鍵字或選項,但至少要包括表的名字和列的細節。下面的MySQL語句創建本書中所用的 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 關鍵字后面。實際的表定義(所有列)括在圓括號之中。各列之間用逗號分隔。這個表由9列組成。每列的定義以列名(它在表中必須是唯一的)開始,后跟列的數據類型(關于數據類型的解釋,請參閱第1章。此外,附錄D列出了MySQL支持的數據類型)。表的主鍵可以在創建表時用PRIMARY KEY 關鍵字指定。這里,列 cust_id 指定作為主鍵列。整條語句由 右 圓 括 號 后 的 分 號 結 束 。( 現 在 先 忽 略 ENGINE=InnoDB 和AUTO_INCREMENT ,后面會對它們進行介紹。)

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

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

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享