`
wb284551926
  • 浏览: 552916 次
文章分类
社区版块
存档分类
最新评论

PostgreSQL修改sql表的方法汇总(转载)

 
阅读更多

一,修改表
PostgreSQL 提供了一族命令用于修改现有表。
可以实现:
增加字段,
删除字段,
增加约束,
删除约束,
修改默认值,
重命名字段,
重命名表。

这些操作可以用:ALTER TABLE命令执行的。

1,增加字段
要增加一个字段,使用这条命令:
ALTER TABLE products ADD COLUMN description text;
新增的字段对于表中已经存在的行而言最初将先填充空值。
你也可以同时在该字段上定义约束,使用通常的语法:
ALTER TABLE products ADD COLUMN description text CHECK (description <> '');
一个新字段不能用非空约束,因为最初的时候该字段必须包含空值。 但是你可以稍后增加一个非空约束。同样,你也不能在一个新字段 上定义默认值。根据 SQL 标准的说明,这样需要对现存行的新 字段填充默认值,而这个特性还没有实现。但是你可以稍后调整 字段预设。

2,删除字段
除一个字段:
ALTER TABLE products DROP COLUMN description;

3,增加约束
要增加一个约束,使用表约束语法。比如:
 

复制代码 代码示例:
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 images add constraint PK_IMAGES primary key(imageid); //增加主键

要增加一个不能写成表约束的非空约束,使用下面语法:
ALTER TABLE products ALTER COLUMN product_no SET NOT NULL;

这个约束将立即进行检查,所以表在加入约束之前必须符合约束条件。

4,删除约束
要删除一个约束,你需要知道它的名字。如果你给了它一个名字, 那么事情就好办了。
否则系统会分配一个生成的名字,这样你就需要 把它找出来了。psql 的命令 \d tablename 在这儿可以帮忙﹔
其它接口可能也提供了检查表的细节的方法。
命令:
ALTER TABLE products DROP CONSTRAINT some_name;
除了非空约束外,所有约束类型都这么用。要删除非空类型,用
ALTER TABLE products ALTER COLUMN product_no DROP NOT NULL;
(要记得非空约束没有名字。)

5,改变默认值
要给一个字段设定默认值,使用一个象下面这样的命令:
ALTER TABLE products ALTER COLUMN price SET DEFAULT 7.77;
要删除默认值,用
ALTER TABLE products ALTER COLUMN price DROP DEFAULT;
这样相当于把预设设定为空,至少在 PostgreSQL里是这样的。
如果删除一个还没有定义的默认值不算错误,因为预设隐含就是空值。

6,给字段改名字
重命名一个字段:
ALTER TABLE products RENAME COLUMN product_no TO product_number;

7,给表改名字
 

复制代码 代码示例:
To rename a table:
ALTER TABLE products RENAME TO items;
原文地址:http://www.jbxue.com/db/12521.html
分享到:
评论

相关推荐

    SQL Server 2012链接服务器到PostgreSQL

    在SQL Server 2012中,连接到外部数据源如PostgreSQL数据库是通过设置链接服务器来实现的。链接服务器允许SQL Server查询和操作非本地的数据,提供了与异构数据库系统交互的能力。以下是一个详细步骤,说明如何在SQL...

    nacos适配postgresql的sql脚本

    适配教程一堆github地址加载真的让人很崩溃,想要拿来主义,但是大家都太好了,都给的鱼竿不给鱼。 我来给最后一道坎递纸吧。 nacos适配 pg的sql脚本

    SQL Server 2000链接服务器到PostgreSQL

    SQL Server 2000链接服务器到PostgreSQL

    PostgreSQL_与_MS_SQLServer比较

    ### PostgreSQL与MS SQL Server在过程语言中的差异 在数据库领域,PostgreSQL 和 MS SQL Server 都是非常受欢迎的关系型数据库管理系统。两者在很多方面都提供了强大的功能支持,但在具体实现细节上存在不少差异。...

    PostgreSQL之SQL调优指南.pptx

    PostgreSQL之SQL调优指南 PostgreSQL之SQL调优指南是一份详细的SQL优化指南,旨在帮助开发者和数据库管理员提高PostgreSQL数据库的性能。该指南涵盖了从获取SQL收集统计信息到分析SQL慢的原因的所有步骤。 首先,...

    postgresql的类似sqlserver的isdate方法

    ### PostgreSQL中的类似SQL Server的ISDATE方法 在SQL Server中,`ISDATE`是一个非常实用的函数,用于检查一个字符串是否能被解析为合法的日期格式。而在PostgreSQL数据库系统中,并没有内置与SQL Server完全相同的...

    PostgreSQL运行SQL代码-方法+源代码

    本文将深入探讨如何在PostgreSQL环境中运行SQL代码,并提供相关的源代码示例。 首先,PostgreSQL允许用户通过多种方式执行SQL命令,包括命令行界面(psql)、图形化用户界面(GUI)工具以及编程语言的数据库连接库...

    tpch生成的,22个适合postgresql的sql语句

    tpch生成的,22个适合postgresql的sql语句

    PostgreSQL 与 MS SQLServer在过程语言中的差异

    PostgreSQL 与 MS SQLServer 在过程语言中的差异 PostgreSQL 和 MS SQL Server 是两种流行的关系数据库管理系统,它们在过程语言中有许多差异。下面我们将从数据类型、变量定义与赋值、IF/ELSE 控制结构等方面对这...

    基于postgreSQL的基本SQL语句

    **基于PostgreSQL的基本SQL语句** 在数据库管理领域,PostgreSQL是一种强大且广泛使用的开源关系型数据库管理系统(RDBMS)。它支持标准的SQL语法,提供了丰富的数据类型和高级功能,使得开发人员能够高效地管理和...

    SQL工具SqlDbx

    SqlDbx支持多种数据库系统,包括但不限于MySQL、Oracle、SQL Server、PostgreSQL、DB2等,这使得它具有广泛的适用性,无论你是在处理哪种类型的数据库,都能得心应手。它通过直观的用户界面提供对SQL查询的执行,...

    SQLPro Studio for mac 专业数据库客户端 Mysql Postgresql Oracle SQLServer

    SQLPro Studio for mac 专业数据库客户端 Mysql Postgresql Oracle SQLServer

    PostgreSQL表分区和子表及删除所有的数据库表.zip

    PostgreSQL表分区和子表及删除所有的数据库表 最近需求要求统计DNS近7天每天的解析情况。数据量相对大,所以我这边对表进行分区。 对每天的数据进行分区存储。主表只存储近7天的数据,7天之前的数据删掉。所以我...

    PostgreSQL 导出Insert SQL脚本

    在使用PostgreSQL 时,由于PGAdmin工具没有导出Insert SQL的功能,常常使我们很郁闷。备份一个表的数据到另外一个表特别麻烦。所以我自己开发了这个小工具。 导出PostgreSQL的Insert SQL脚本。希望能帮到你,解决些...

    PostgreSQL與Oracle跟SQL92 Standard的差異

    在探讨《PostgreSQL与Oracle跟SQL92 Standard的差异》这一主题时,我们主要关注的是三种数据库管理系统在数据类型上的不同之处。这篇文章由许雅婷撰写,作为高等数据库作业的一部分,详细对比了PostgreSQL、Oracle...

    SQL Manager PostgreSQL 5.9.5

    EMS SQL Manager for PostgreSQL 5.9.5.52424 最新版本 亲测可用,企业版授权,将cracked目录中的两个文件覆盖到安装目录中即可正常使用。

    PostgreSQL DBA认证 PGCE-E-092-中级SQL题目

    PostgreSQL提供了多种方法来访问外部数据,包括FDW(外部数据包装器)、Server(外部数据服务器)、用户映射和外部表等。 外键 外键是一种表之间的关系约束,用于保持数据的一致性和完整性。外键的作用不包括替代...

    关于PostGreSQL中的存储过程

    PostgreSQL 中的存储过程可以使用函数来实现,函数可以封装一组 SQL 语句,以便于重复使用和提高效率。在 .NET 中,可以使用 Npgsql 组件来连接 PostgreSQL 数据库,并使用函数来查询数据。本文详细介绍了 ...

    postgreSQL空间SQL操作

    需要安装Postgis插件都懂的吧,资源是postgreSQL的关于空间数据字段the_geom的一些SQL示例,写的比较模糊,主要是想网上留一份以防丢失。有需要或不明白的找我吧,我研究的也不多,基本的会一点,有需要的可以一起...

    db2,mysql,berby,oracle,postgresql,sqlserver,sybase数据库驱动jar包

    SQL Server的JDBC驱动jar包(如`sqljdbc_auth.dll`和`mssql-jdbc.jar`)提供了与SQL Server的连接能力,支持身份验证和多种数据库操作。 7. **Sybase**:Sybase(现已被SAP收购并改名为SAP Adaptive Server ...

Global site tag (gtag.js) - Google Analytics