修改表的属性sql

  • 格式:doc
  • 大小:24.50 KB
  • 文档页数:4

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

SqlServer修改表结构总结增加字段删除字段增加约束删除约束修改缺省值修改字段数据类型重命名字段重命名表。所有这些动作都是用ALTER TABLE 命令执行的。增加字段要增加一个字段使用下面这样的命令ALTER TABLE products ADD COLUMN description text新增的字段对于表中已经存在的行而言最初将先填充所给出的缺省值如果你没有声明DEFAULT子句那么缺省是空值。你也可以同时在该字段上定义约束使用通常的语法ALTER TABLE products ADD COLUMN description text CHECK description 实际上所有在CREATE TABLE 里描述的可以应用于字段之选项都可以在这里使用。不过我们要注意的是缺省值必须满足给出的约束否则ADD 将会失败。另外你可以在你正确填充了新字段的数值之后再增加约束见下文。删除字段要删除一个字段使用下面这样的命令ALTER TABLE products DROP COLUMN description不管字段里有啥数据都会小时。和这个字段相关的约束也会被删除。不过如果这个字段被另外一个表的外键所引用PostgreSQL 则不会隐含地删除该约束。你可以通过使用CASCADE 来授权删除任何依赖该字段的东西ALTER TABLE products DROP COLUMN description CASCADE参阅Section 5.11 获取有关这些操作背后的机制的信息。增加约束要增加一个约束使用表约束语法。比如ALTER TABLE products ADD CHECK name ALTER TABLE products ADD

CONSTRAINT some_name UNIQUE product_no ALTER TABLE products ADD FOREIGN KEY product_group_id REFERENCES product_groups要增加一个不能写成表约束的非空约束使用下面语法ALTER TABLE products ALTER COLUMN product_no SET NOT NULL 这个约束将立即进行检查所以表在添加约束之前必须符合约束条件。删除约束要删除一个约束你需要知道它的名字。如果你给了它一个名字那么事情就好办了。否则系统会分配一个生成的名字这样你就需要把它找出来了。psql 的命令 d tablename 在这儿可以帮忙其它接口可能也提供了检查表的细节的方法。然后就是这条命令ALTER TABLE products DROP CONSTRAINT some_name如果你在处理一个生成的约束名比如2别忘了你需要给它添加双引号让它成为一个有效的标识符。和删除字段一样如果你想删除有着被依赖关系地约束你需要用CASCADE。一个例子是某个外键约束依赖被引用字段上的唯一约束或者主键约束。除了非空约束外所有约束类型都这么用。要删除非空类型用ALTER TABLE products ALTER COLUMN product_no DROP NOT NULL要记得非空约束没有名字。设置一个字段的缺省值要给一个字段设置缺省值使用一个象下面这样的命令ALTER TABLE products ALTER COLUMN price SET DEFAULT 7.77请注意这么做不会影响任何表中现有的数据行它只是为将来INSERT 命令改变缺省

值。要删除缺省值用ALTER TABLE products ALTER COLUMN price DROP DEFAULT这样实际上相当于把缺省设置为空。结果是如果我们删除一个还没有定义的缺省值不算错误因为缺省隐含就是空值。修改一个字段的数据类型把一个字段转换成另外一种数据类型使用下面的命令ALTER TABLE products ALTER COLUMN price TYPE numeric102只有在字段里现有的每个项都可以用一个隐含的类型转换转换城新的类型时才可能成功。如果需要更复杂的转换你可以增加一个USING 子句它声明如何从旧值里计算新值。PostgreSQL 将试图把字段的缺省值如果存在转换成新的类型还有涉及该字段的任何约束。但是这些转换可能失败或者可能生成奇怪的结果。在修改某字段类型之前你最好删除那些约束然后再把自己手工修改过的添加上去。给字段改名字重命名一个字段ALTER TABLE products RENAME COLUMN product_no TO product_number 给字段改名字给一个字段重命名ALTER TABLE products RENAME COLUMN

product_no TO product_number 给表改名字给一个表重命名ALTER TABLE products RENAME TO items 修改table的名称sql exec sp_rename 负债负债表删除字段ALTER TABLE 负债表DROP COLUMN 金额修改字段的属性ALTER TABLE 负债表alter COLUMN 部门varchar64 有问题添加字段ALTER TABLE 负债表add COLUMN 金额varchar64