修改表的属性sql.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间: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 给字段改名字 给一个字段重命 名 A

文档评论(0)

hao187 + 关注
官方认证
内容提供者

该用户很懒,什么也没介绍

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档