首頁  >  文章  >  資料庫  >  全面接觸SQL文法(6)

全面接觸SQL文法(6)

黄舟
黄舟原創
2016-12-24 17:48:29865瀏覽

SQL與資料庫的維護
  表格的建立

  將SQL中的基本語法作了一番介紹以後,但大多是偏向於資料庫資料的查詢與過濾,但實際上,我們透過SQL指令所可以做的事還有很多,接下來要介紹的是如何利用SQL的語法指令來建立一個資料庫中的表格。 

   CREATE TABLE語句

  我們可以利用這個指令,來建立一個全新的表格,但前提則是:資料庫必須已經存在。

CREATE TABLE table(field1 type[(size)][index1][,field2 type[(size)][index2][,...]][,nultifieldindex[,...]]) 
table
欲建立的新的表格名稱。 
field1,field2
在新表格中的新的欄位名稱,到少要一個欄位以上。 
type
欄位的資料類型。 
size
欄位的大小。 
index1,index2
利用CONSTRAINT條件子句定義一個單一欄位的索引名稱。 
multifieldindex
利用CONSTRAINT條件子句定義一個多重欄位的索引名稱。


  例如:

  建立一個擁有職員姓名與部門欄位的表格。

CREATE TABLE 職員表格(姓名TEST,部門TEST,職員編號INTEGER CONSTRAINT職員欄位索引PRIMARY KEY)
在這一個範例中,我們建立了一個表格名稱為「職員表格」的表格,並且定義了該表格的表格主鍵值,以限制資料不能重複輸入。

  表格索引的建立 

   CREATE INDEX語句

  這個指令主要是對一個已存在的表格建立索引,其用法如下:
[ASC|DESC],...])
[WITH {PRIMARY|DISALLOWNULL|IGNORENULL}] 
index



  欲被建立的索引名稱。 

  table

  欲建立索引的表格名稱。 

  field

  欲被建立的索引的字段名稱。並可透過DESC保留字,來決定索引的順序。

  例如:

在職員表格中建立一個索引。
CREATE INDEX 新索引名稱
ON 職員表格(姓名部門); 
  
表格的欄位更新 
CONSTRAINT條件子句
CONSTRAINT 的功能是類似索引(INDEX)的,雖然CONSTRAINT 也可以建立表格之間的關聯性。
單一欄位索引:
CONSTRAINT name{PRIMARY KEY|UNIQUE|REFERENCES foreigntable[(foreignfield1,foreignfield2)]} 
多欄位索引:
CONSTRAINT name
{PRIMARMAR
多欄位索引:
CONSTRAINT name
{PRIMARMARMAR
多欄位索引:
CONSTRAINT name
{PRIMARMARMAR
多欄位索引:
CONSTRAINT name
{PRIMARMARMAR
多欄位索引:
CONSTRAINT name
{PRIMARMARMARgEY(primary1[]...; |UNIQUE(unique1[,unique2[,...]])
|FOREIGN KEY (ref1[,ref2[,...]])
|REFERENCES foreigntable[(foreignfield1[,foreignfield2[,...]]) ]} 
name
要被建立的CONSTRAINT名稱。 
primary1,primary2
被用來設計成主鍵值的欄位名稱(可一個以上)。 
unique1,unique2
被用來設計成唯一鍵值的欄位名稱(可一個以上)。 
foreign key

欄位名稱,或參考到別的表格中欄位的欄位名稱。 

foreigntable
如前所述,被參考到的表格。 

foreignfield1,foreignfield2

在參考到的表格當中,被ref1,ref2欄位所指定的欄位。如果被參考的欄位是參考表格中的主鍵值,你也可以省略這個條件子句。
例如:

當我們要建立一個新的職員資料表格,表格包含姓名、部門名稱與生日三個字段,且由這三個字段建立一個唯一的索引時,可以使用下面這段SQL的語句。 🎜CREATE TABLE 職員資料表🎜(姓名TEST,部門名稱TEST,生日DATETIME,CONSTRAINT 職員資料表限制UNIQUE(姓名,部門名稱,生日));🎜以上是SQL中,與資料庫表格建立相關的命令,你可以利用這些指令,透過SQL的語句,將資料庫表格完整的建立出來,接下來的章節,將針對資料庫建立之後的維護與增刪所要使用的SQL語句一介紹。 🎜🎜 以上就是全面接觸SQL文法(6)的內容,更多相關內容請關注PHP中文網(www.php.cn)! 🎜🎜🎜🎜🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn