程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> MSJetSQLforAccess2000中級篇(II)

MSJetSQLforAccess2000中級篇(II)

編輯:關於SqlServer
改變數據表
  
  在建立或倒入一個數據表之後,用戶可能需要修改表的設計。這時就可以使用ALTER TABLE語句。但是注意,改變現存的表的結構可能會導致用戶丟失一些數據。比如,改變一個域的數據類型將導致數據丟失或捨入錯誤,這取決於用戶現在使用的數據類型。改變數據表也可能會破壞用戶的應用程序中涉及到所改變的域的部分。所以用戶在修改現有表的結構之前一定要格外小心。
  
  使用ALTER TABLE 語句,用戶可以增加,刪除或改變列或域,也可以增加或刪除一個約束。還可以為某個域設定缺省值,但是一次只能修改一個域。假設我們有一個記賬單的數據庫,而我們想在顧客數據表中增加一個域,這時可以使用ALTER TABLE 語句,在其ADD COLUMN 子句後寫上域的名稱、數據類型和數據的大小(如果需要的話)。
  
  ALTER TABLE tblCustomers
  ADD COLUMN Address TEXT(30)
  要改變域的數據類型或大小,可以使用ALTER COLUMN子句,在後面加上期望的數據類型和數據的大小。
  
  ALTER TABLE tblCustomers
  ALTER COLUMN Address TEXT(40)
  如果需要改變域的名稱,則必須刪除該域並重新創建。刪除一個域要使用DROP COLUMN 子句,在其後跟上域的名稱。
  
  ALTER TABLE tblCustomers
  DROP COLUMN Address
  注意使用這種方法將會刪除該域的現存數據。如果需要保存這些數據,則用戶需要在Access的用戶界面的設計模式中改變該域的名稱,或者編寫代碼將現存的數據保存在一個臨時的表中然後將其添加到改名後的表中。
  
  缺省值是指在表中增加新紀錄並且沒有為該列賦值時自動填充到該域中的值。為某域設置缺省值,要在定義域的類型後使用使用DEFAULT關鍵字,不管是使用ADD COLUMN或 ALTER COLUMN 子句。
  
  ALTER TABLE tblCustomers
  ALTER COLUMN Address TEXT(40) DEFAULT Unknown
  注意缺省值並不使用單引號包含,如果用了單引號,則引號也會插入到記錄中。在CREATE TABLE語句中也可以使用DEFAULT關鍵字。
  
  CREATE TABLE tblCustomers (
  CustomerID INTEGER CONSTRAINT PK_tblCustomers
  PRIMARY KEY,
  [Last Name] TEXT(50) NOT NULL,
  [First Name] TEXT(50) NOT NULL,
  Phone TEXT(10),
  Email TEXT(50),
  Address TEXT(40) DEFAULT Unknown)
  
  注意: DEFAULT 語句只有在Jet OLE DB provider和ADO中可以執行,在Access SQL VIEw的用戶界面中使用將會返回錯誤信息。
  
  下面的部分將討論如何在ALTER TABLE語句中使用約束。要獲得更詳細的有關ALTER TABLE的說明,請在Office 助手中或在Microsoft Access 幫助的回答向導的標簽頁中輸入ALTER TABLE ,然後單擊查找。
  
  約束
  
  在《Access 2000的基礎Microsoft Jet SQL》一文中,我們討論了建立表之間的聯系的約束方法。約束也能用於建立主鍵和參考完整性,來限制插入到一個域中的數據值。通常,約束可以用於保持用戶數據庫中的數據完整性和一致性。
  
  共有兩種類型的約束:單數據域(或稱域級的)的約束和多數據域(或稱表級的)的約束。兩種約束都可以用在CREATE TABLE 或 ALTER TABLE 語句中。
  
  單域的約束,也就是通常所說的列級的約束,是在域及其數據類型定義後針對該域定義的。下面我們使用用戶表,在CustomerID域生成一個單域的主鍵。增加約束時,在域名後使用CONSTRAINT關鍵字。
  
  ALTER TABLE tblCustomers
  ALTER COLUMN CustomerID INTEGER
  CONSTRAINT PK_tblCustomers PRIMARY KEY
  
  注意這裡給出了約束的名稱。用戶還可以在定義主鍵時使用簡稱而省略CONSTRAINT子句。
  
  ALTER TABLE tblCustomers
  ALTER COLUMN Custome
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved