天天加油 - 助您成才
MS Jet SQL for Access 2000中级篇 (II)
您正在看的Access是:MS Jet SQL for Access 2000中级篇 (II)。
  改变数据表
  
  在建立或倒入一个数据表之后,用户可能需要修改表的设计。这时就可以使用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 CustomerID INTEGER PRIMARY KEY
  
  然而,使用简称的方法将导致Access随机的生成约束的名称,从而使得在代码中难以引用。所以,最好给约束制定名称。
  
  要删除一个约束,可以在ALTER TABLE 语句中使用DROP CONSTRAINT 子句,并给出约束的名称。
  
  ALTER TABLE tblCustomers
  DROP CONSTRAINT PK_tblCustomers
  
  约束还可以用来给域限制允许值。用户可以将限制值设为非空(NOT NULL)或唯一( UNIQUE),或者定义一个检验性的约束,该约束指一种可以应用于某个域的规则。比如用户希望限制姓和名的域是唯一的,就意味着在表中永远不会有两个相同姓名的记录存在。这是因为这种约束是多域的性的,是在表的级别定义的,而非域的级别。使用ADD CONSTRAINT子句可以定义一个多域的列表。
  
  ALTER TABLE tblCustomers
  ADD CONSTRAINT CustomerNames UNIQUE
  ([Last Name], [First Name])
  
  注

1 2 3 下一页

排行

  1. 听说过WinZip软件也可以“杀毒”
  2. Delphi存取图像完整解决方案
  3. 利用Delphi开发旅游景点微机售票
  4. 在DBGrid组件中显示和编辑MEMO字
  5. 学好VC++的十大良好习惯
  6. DELPHI数据库应用程序的开发环境
  7. 汇编DEBUG全过程跟踪
  8. 汇编中的管道操作方法(一)
  9. 汇编中的管道操作方法(二)
  10. 汇编中的管道操作方法(三)
  11. 汇编进程控制的实现方法(一)
  12. 汇编进程控制的实现方法(二)
  13. 汇编中使用定时器的方法
  14. 汇编复杂形状的窗口实例学习
  15. 汇编图形界面的操作
  16. 汇编菜单和加速键(一)
  1. 听说过WinZip软件也可以“杀毒”
  2. Delphi存取图像完整解决方案
  3. 利用Delphi开发旅游景点微机售票
  4. 在DBGrid组件中显示和编辑MEMO字
  5. 学好VC++的十大良好习惯
  6. DELPHI数据库应用程序的开发环境
  7. 汇编DEBUG全过程跟踪
  8. MS Jet SQL for Access 2000中级
  9. MS Jet SQL for Access 2000中级
  10. ACCESS数据库数据传递的方法
  11. 破解Access(*.mdb)目前所有版本的
  12. 汇编中的管道操作方法(一)
  13. 汇编中的管道操作方法(二)
  14. 汇编中的管道操作方法(三)
  15. 汇编进程控制的实现方法(一)
  16. 汇编进程控制的实现方法(二)
  1. vb对象的使用
  2. vb的用户界面
  3. vb菜单在应用程序中的使用
  4. vb的工具栏、对话框
  5. vb程序设计
  6. vb控件简介
  7. vb的控件数据
  8. vb控件的使用
  9. Delphi存取图像完整解决方案
  10. vb的属性、方法和事件(二)
  11. vb的属性、方法和事件(一)
  12. vb的datagrid控件的使用
  13. 浅析软件项目管理中十个误区
  14. 如何做好软件需求捕获
  15. 软件开发质量管理层次模型
  16. 嵌入式软件测试的十大秘诀

最近更新

  • 推荐阅读
  • Access《MS Jet SQL for Access 2000中级篇 (II)》MS Jet SQL for Access 2000中级篇 (II)
    关于我们 | 版权申明 | 广告服务 | 友情链接 | 网站地图 | 使用帮助 | ©2006-2008 TTADD.COM