增加字段,删除字段,增加约束,删除约束,修改缺省值,修改字段数据类型,重命名字段,重命名表。所有这些动作都是用 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 numeric(10,2);只有在字段里现有的每个项都可以用一个隐含的类型转换转换城新的类型时才可能成功。 如果需要更复杂的转换,你可以增加一个 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;
分享到:
相关推荐
本篇文章将深入解析“SqlServer查看表结构”的方法,以及如何利用SQL语句来获取详细的表结构信息,这对于数据库管理员(DBA)、数据分析师、软件开发者等专业人士来说尤为关键。 ### SQL Server查看表结构的重要性 ...
本文将通过一个示例代码,展示如何查看SQL Server表结构。 首先,让我们来看一下示例代码: ``` Select 表名=Case When A.ColOrder=1 Then D.Name Else '' End, 字段序号=A.ColOrder, 字段名=A.Name, 标识...
"SQLSERVER表结构对比"这个主题涉及到如何比较两个SQL Server数据库中的表定义,包括字段、索引、约束以及存储过程等差异。 SQL Server 2008 R2是在Windows 2008 R2 64位操作系统上运行的一个强大关系型数据库管理...
本操作文档将详细介绍如何使用Navicat客户端工具将SQL Server的表结构转换到MySQL数据库中。Navicat是一款强大的数据库管理工具,支持多种数据库系统,包括SQL Server和MySQL,使得数据迁移变得简单而高效。 首先,...
运行环境:.net4.5,原创工具 导出后无需修改sql即可执行导入。 SqlServer转Oracle工具 支持表结构、主键及表数据导出
通过创建和设计合理的表结构,可以有效地组织和管理数据。 2. **索引**:用于提高数据查询的速度。索引可以建立在表的一个或多个列上,使数据库系统能更快地定位到所需的数据。常见的索引类型有主键索引、唯一索引...
这一问题通常发生在重装SQL Server 2008之后,表现为在设计视图中编辑表结构时,系统弹出警告提示框,阻止用户保存可能引起表结构变化的操作。 #### 二、问题原因分析 这个问题的核心在于SQL Server Management ...
为了适应业务需求的变化或是提高数据处理效率,掌握SQL中的表结构修改语句是非常重要的。本文将围绕"sql修改表结构语句"这一主题,详细介绍如何使用SQL语言来有效地修改现有的表结构。 ### SQL 修改表结构语句概述 ...
总结来说,SQL Server中从表结构和数据生成更新SQL语句是一项复杂但必要的任务,它涉及到对数据库的深入理解以及熟练掌握SQL语言。通过自动化工具或定制脚本,可以高效地实现数据库的迁移和同步,确保业务的连续性和...
9.SQL Server 2014修改、删除表结构.mp4 PPT SQL Server 2014简介 SQL Server 2014数据库备份与还原 SQL Server 2014数据库创建 SQL Server 2014数据库修改与删除 SQL Server 2014数据类型
SQLServer数据库生成修改工具 源码描述: 一、源码特点 1、自己开发的简易的sqlserver数据库建库工具。,免费分享给大家 二、菜单功能 1、首先用默认的EXCEL模板配置好数据库名和数据表结构,每个sheet等同于数据...
本篇文章将深入探讨“SQL Server数据库表生成实体类生成工具”,以及与之相关的C#编程、SQLServer和实体类等主题。 首先,SQL Server是Microsoft推出的一种关系型数据库管理系统,广泛应用于企业级数据存储和处理。...
SQLSERVER表结构查询及字段添加小工具是一款专为SQL Server数据库设计的实用程序,它极大地简化了数据库管理和维护过程中的表结构查询与字段管理任务。通过这款工具,用户能够高效地查看数据库中的所有表及其详细...
1. 数据库结构迁移:在转换过程中,工具会分析SQL Server的表结构,包括字段名、字段类型、主键、外键、索引等,并在MySQL中创建相应的表结构。理解这些元数据的重要性在于确保目标数据库能正确地存储源数据库的数据...
对于SQL Server 2005及更高版本,虽然`sp_rename`仍然可用,但同时也引入了一些新的特性,例如`ALTER TABLE`语句可以用来修改表结构。不过,这些版本中并没有提供直接的语法来修改列名。因此,在这些版本中,通常...
这个压缩包"sqlserver 导出表及字段说明脚本.rar"包含了一个名为"sqlserver 导出表及字段说明脚本.sql"的文件,这通常是一个用于生成SQL语句的脚本,用于描述数据库中的表结构以及各字段的详细信息。以下是对这个...
9.SQL Server 2014修改、删除表结构.mp4 10.SQL Server 2014定义表主键、外键.mp4 11.SQL Server 2014新增表记录.mp4 12.SQL Server 2014查询表记录.mp4 13.SQL Server 2014修改表记录.mp4 14.SQL Server 2014...
2. 数据库设计:创建和修改表结构,设置约束,创建索引,以及定义存储过程和视图。 3. 数据导入导出:将数据从其他格式导入SQL Server,或将SQL Server数据导出到其他格式。 4. 备份与恢复:定期备份数据库以防止...
9.SQL Server 2014修改、删除表结构.mp4 PPT SQL Server 2014简介 SQL Server 2014数据库备份与还原 SQL Server 2014数据库创建 SQL Server 2014数据库修改与删除 SQL Server 2014数据类型
下面是 SQL Server 知识点总结,涵盖数据库结构、创建数据库、查看数据库信息、修改数据库等方面的知识点。 数据库结构 数据库结构是指数据库的组织形式和关系。在 SQL Server 中,数据库结构由以下几部分组成: ...