【PostgreSQL】表操作-修改表
【PostgreSQL】表操作快速链接
创建表及基础表命令
修改表
表权限
添加列
ALTER TABLE products ADD COLUMN description text;
新列最初填充给定的任何默认值DEFAULT(如果未指定子句,则为 null)。
注意:
从 PostgreSQL 11 开始,添加ALTER TABLE具有常量默认值的列不再意味着在执行语句时需要更新表的每一行。相反,默认值将在下次访问该行时返回,并在重写表时应用,即使在大型表上也非常快。
但是,如果默认值是可变的(例如clock_timestamp()),ALTER TABLE则需要使用执行时计算的值更新每一行。为了避免可能冗长的更新操作,特别是如果您打算用大部分非默认值填充该列,最好添加没有默认值的列,使用UPDATE插入正确的值,然后添加任何所需的默认值,如下所述。
您还可以使用常用语法同时定义对列的约束:
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;
添加约束
若要添加约束,请使用表约束语法。例如:
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;
若要添加不能写为表约束的非 null 约束,请使用以下语法:
ALTER TABLE products ALTER COLUMN product_no SET NOT NULL;
将立即检查约束条件,因此表数据必须满足约束条件才能添加。
删除约束
要删除约束,您需要知道其名称。如果你给它起个名字,那就很容易了。否则,系统会分配一个生成的名称,您需要找出该名称。psql 命令在这里可能会有所帮助;其他接口也可能提供检查表详细信息的方法。那么命令是:
\d tablename
ALTER TABLE products DROP CONSTRAINT some_name;
如果您正在处理生成的约束名称,例如$2 ,请不要忘记需要用双引号将其用作有效的标识符。
与删除列一样,如果要删除其他内容所依赖的约束,则需要添加。例如CASCADE,外键约束依赖于引用列的唯一键或主键约束。
这适用于除非 null 约束之外的所有约束类型。若要删除 not null 约束,请使用:
ALTER TABLE products ALTER COLUMN product_no DROP NOT NULL;
回想一下,非 null 约束没有名称。
更改列的默认值
若要为列设置新的默认值,请使用如下命令:
ALTER TABLE products ALTER COLUMN price SET DEFAULT 7.77;
请注意,这不会影响表中的任何现有行,它只是更改了未来命令INSERT的默认值。
若要删除任何默认值,请使用:
ALTER TABLE products ALTER COLUMN price DROP DEFAULT;
这实际上与将默认值设置为 null 相同。因此,在未定义默认值的地方删除默认值不会出错,因为默认值隐式为 null 值。
更改列的数据类型
若要将列转换为其他数据类型,请使用如下命令:
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 TO items;
相关文章:
![](https://www.ngui.cc/images/no-images.jpg)
【PostgreSQL】表操作-修改表
【PostgreSQL】表操作快速链接 创建表及基础表命令 修改表 表权限 添加列 ALTER TABLE products ADD COLUMN description text;新列最初填充给定的任何默认值DEFAULT(如果未指定子句,则为 null)。 注意: 从 PostgreSQL 11 开始…...
![](https://img-blog.csdnimg.cn/direct/f8ae673449a24e47b84042c302fd5abb.png)
【Java系列】文件操作详解
个人主页:兜里有颗棉花糖 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 兜里有颗棉花糖 原创 收录于专栏【Java系列专栏】【JaveEE学习专栏】 本专栏旨在分享学习JavaEE的一点学习心得,欢迎大家在评论区交流讨论💌 目录 …...
![](https://www.ngui.cc/images/no-images.jpg)
docker-compose 安装 RocketMq
目录 1、rocketMq 官网 2、工作流程 RocketMQ集群工作流程 1. 启动NameServer 2. 启动 Broker 3. 创建 Topic...
![](https://img-blog.csdnimg.cn/direct/efb1642e2ea44715bce15294d076f484.png)
【心得】PHP反序列化高级利用(phar|session)个人笔记
目录 ①phar反序列化 ②session反序列化 ①phar反序列化 phar 认为是java的jar包 calc.exe phar能干什么 多个php合并为独立压缩包,不解压就能执行里面的php文件,支持web服务器和命令行 phar协议 phar://xxx.phar $phar->setmetadata($h); m…...
![](https://www.ngui.cc/images/no-images.jpg)
MyBatisPlus之增删改查
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 MyBatisPlus之增删改查 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、什么是Mybati…...
![](https://img-blog.csdnimg.cn/direct/224dfc53b4c3427a91957908c393fb1f.png#pic_center)
pytorch03:transforms常见数据增强操作
目录 一、数据增强二、transforms--Crop裁剪2.1 transforms.CenterCrop2.2 transforms.RandomCrop2.3 RandomResizedCrop2.4 FiveCrop和TenCrop 三、transforms—Flip翻转、旋转3.1RandomHorizontalFlip和RandomVerticalFlip3.2 RandomRotation 四、transforms —图像变换4.1 t…...
![](https://www.ngui.cc/images/no-images.jpg)
blob文件流前端显示pdf
首先请求需要修改 responseType: ‘blob’, 需要修改 请求头 {responseType: blob,url: url,method: get,}三种方法: 1.直接处理,在新页面打开 const blob new Blob([data],{ type:application/pdf }) let url window.URL.createObjectURL(blob) wi…...
![](https://img-blog.csdnimg.cn/direct/4467eaa328f64a5697c0c55d6cc63faf.png)
Android 接入第三方数数科技平台
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、数数科技平台是什么?二、使用步骤1.集成SDK2. 初始化3. 发送事件和设置账号id4. 验证发送事件是否成功 小结 前言 一个成熟的App必然不可缺少对…...
![](https://img-blog.csdnimg.cn/direct/468b65fc8d974206aa94558fb937ff05.png)
LVM和磁盘配额
一:LVM概述: LVM 是 Logical Volume Manager 的简称,译为中文就是逻辑卷管理。 能够在保持现有数据不变的情况下,动态调整磁盘容量,从而提高磁盘管理的灵活性 /boot 分区用于存放引导文件,不能基于LVM创建…...
![](https://img-blog.csdnimg.cn/direct/1a61f9d29afa43a681043a16d50e5514.png)
uni-app uni-app内置组件
锋哥原创的uni-app视频教程: 2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中...共计23条视频,包括:第1讲 uni…...
![](https://www.ngui.cc/images/no-images.jpg)
C语言——格式说明符前面加修饰符
在C语言中,格式说明符前面可以添加一些修饰符来控制输出或输入的格式,主要包括宽度、精度、左对齐标志和前缀填充字符等。 1. 宽度(Width) %[width]type:这里的width是一个非负整数,表示输出字段的最小宽度…...
![](https://img-blog.csdnimg.cn/direct/3fd69dd872104386aabdabe08b5d924f.png)
实验室(检验科)信息系统LIS源码,客户端:WPF+Windows Forms
lis系统源码,医学检验信息系统源码 LIS系统(Laboratory Information System)即实验室(检验科)信息系统,它将检验仪器付出的检验数据与相关信息接入计算机网络系统中,让患者、实验室、临床科室、…...
![](https://img-blog.csdnimg.cn/direct/cb836255407e4cb89982235541f5b3ea.png)
有道翻译web端 爬虫, js
以下内容写于2023-12-28, 原链接为:https://fanyi.youdao.com/index.html#/ 1 在输入框内输入hello world进行翻译,通过检查发出的网络请求可以看到翻译文字的http接口应该是: 2 复制下链接最后的路径,去js文件中搜索下: 可以看到这里是定义了一个函数B来做文字的翻译接口函数…...
![](https://csdnimg.cn/release/blog_editor_html/release2.3.6/ckeditor/plugins/CsdnLink/icons/icon-default.png?t=N7T8)
uni-app API接口扩展组件(uni-ui)
锋哥原创的uni-app视频教程: 2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中..._哔哩哔哩_bilibili2023版uniapp从入门到上天视频教程(Java后端无废话版),火爆更新中...共计23条视频,包括:第1讲 uni…...
![](https://img-blog.csdnimg.cn/direct/be099378f3f848c58721b05301b7f2d1.png)
信息化和数字化的本质区别是什么?
信息化和数字化是两个概念的区别 它们有什么区别和联系呢?信息化:“业务数据化”,先让业务流程能被数据记录下来。信息化“业务数据化”。数字化:“数据业务化”,用已累积的业务数据去反哺优化业务流程。数字化“数据…...
![](https://img-blog.csdnimg.cn/img_convert/71950d28e926a23041264dc6dd003dca.jpeg)
发表《Nature》!美国研究团队发布可编程逻辑量子处理器
(图片来源:网络) 近期,美国研究团队开发了一款可编程的逻辑量子处理器,并展示了可靠且可扩展的量子计算所需的关键要素,该成果已发表于《Nature》期刊(doi:10.1038/s41586-023-06…...
![](https://img-blog.csdnimg.cn/direct/ddaa1efbacf548849d50f43cf17a2aaf.png)
CISSP 第1章:实现安全治理的原则和策略
作者:nothinghappend 链接:https://zhuanlan.zhihu.com/p/669881930 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 CIA CIA 三性: 机密性:和数据泄露有关。完整性…...
![](https://img-blog.csdnimg.cn/direct/29cb797756124cc088c33de58eb81e23.png)
【并发设计模式】聊聊线程本地存储模式如何实现的线程安全
前面两篇文章,通过两阶段终止的模式进行优雅关闭线程,利用数据不变性的方式保证数据安全,以及基于COW的模式,保证读数据的安全。本篇我们来简述下如果利用线程本地存储的方式保证线程安全。 首先一个大前提就是并发问题ÿ…...
![](https://img-blog.csdnimg.cn/direct/4734f771207f48dfabf431dd64c02e02.jpeg#pic_center)
边缘计算网关:重新定义物联网数据处理
随着物联网(IoT)设备的爆炸式增长,数据处理和分析的需求也在迅速增加。传统的数据处理方式,将所有数据传输到中心服务器进行处理,不仅增加了网络负担,还可能导致数据延迟和安全问题。因此,边缘计…...
![](https://img-blog.csdnimg.cn/img_convert/575fb68f64751512f8b428c3fc386ca4.png)
Linux之下载安装
rpm包管理 rpm介绍 rpm用于互联网下载包的打包及安装工具,他包含在某些linux分发版本中。他生成具有.rpm扩展名的文件。RPM是RedHat Package Manager(RedHat软件包管理工具)的缩写,类似windows的steup.exe。 rpm包的查询指令 查询已经安装…...
![](https://img-blog.csdnimg.cn/img_convert/632b76a33c996c97b8945e8d4f6d2bb3.png)
【HarmonyOS开发】案例-记账本开发
OpenHarmony最近一段时间,简直火的一塌糊度,学习OpenHarmony相关的技术栈也有一段时间了,做个记账本小应用,将所学知识点融合记录一下。 1、记账本涉及知识点 基础组件(Button、Select、Text、Span、Divider、Image&am…...
![](https://img-blog.csdnimg.cn/img_convert/99b735655f36903f19f209bdd9b1d3d5.jpeg)
webrtc中的接口代理框架
文章目录 接口代理框架Proxy体系类结构导出接口 webrtc的实际运用PeerConnectionFactoyPeerConnection使用 接口代理框架 webrtc体系庞大,模块化极好,大多数模块都可以独立使用。模块提供接口,外部代码通过接口来使用模块功能。 在webrtc中通…...
![](https://img-blog.csdnimg.cn/direct/cb4baa47dc984886a7d1bfc5004af5a8.jpeg)
【AIGC-图片生成视频系列-4】DreamTuner:单张图像足以进行主题驱动生成
目录 一. 项目概述 问题: 解决: 二. 方法详解 a) 整体结构 b) 自主题注意力 三. 文本控制的动漫角色驱动图像生成的结果 四. 文本控制的自然图像驱动图像生成的结果 五. 姿势控制角色驱动图像生成的结果 2023年的最后一天,发个文记录…...
![](https://img-blog.csdnimg.cn/img_convert/1dbd2558f691801074b5f2739ffd90fc.png)
Jupyter Notebook的10个常用扩展介绍
Jupyter Notebook(前身为IPython Notebook)是一种开源的交互式计算和数据可视化的工具,广泛用于数据科学、机器学习、科学研究和教育等领域。它提供了一个基于Web的界面,允许用户创建和共享文档,这些文档包含实时代码、…...
![](https://img-blog.csdnimg.cn/direct/953fded733404f2082e493fba7bb4e04.png)
uniapp项目如何引用安卓原生aar插件(避坑指南三)
官方文档说明:uni小程序SDK 【彩带- 避坑知识点】 如果引用原生aar插件,都配置好之后,云打包,报不包含此插件,除了检查以下步骤流程外,还要检查一下是否上打包的原生插件aar流程有问题。 1.第一步在uniapp项…...
![](https://img-blog.csdnimg.cn/direct/bd80c2385d0548e9a87edc73f9261794.gif)
YOLOv8改进 | 检测头篇 | ASFF改进YOLOv8检测头(全网首发)
一、本文介绍 本文给大家带来的改进机制是利用ASFF改进YOLOv8的检测头形成新的检测头Detect_ASFF,其主要创新是引入了一种自适应的空间特征融合方式,有效地过滤掉冲突信息,从而增强了尺度不变性。经过我的实验验证,修改后的检测头…...
![](https://img-blog.csdnimg.cn/img_convert/85a8692a6b610449256cb456569705ce.png)
思维训练-怎样设计一个MQ
架构师需要做各种设计,要不断地提高自己的设计能力。这有没有方法可以训练呢?有的,就是看到什么、想到什么,就假设对面坐着产品经理,一起讨论怎么把它设计出来。比如怎样设计一个MQ 我:首先我确认一下需求。…...
![](https://www.ngui.cc/images/no-images.jpg)
RK3399平台入门到精通系列讲解(导读篇)21天挑战Linux系统开发
🚀返回总目录 文章目录 一、关于作者1、博主的联系方式2、支持二、需要具备的知识和工具1、需掌握知识点2、需了解的知识点三、通过系列博客可以学到什么1、本系列博文特色2、21天学习目标3、21天学习内容4、学习时间5、学习产出...
![](https://www.ngui.cc/images/no-images.jpg)
企业微信会话存档sdk报错:A fatal error has been detected by the Java Runtime Environment
错误信息 # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc0x00007f218f93485d, pid10, tid58 # # JRE version: OpenJDK Runtime Environment 18.9 (11.0.14.11) (build 11.0.14.11) # Java VM: OpenJDK 64-Bit Server VM 18.9…...
![](https://www.ngui.cc/images/no-images.jpg)
nginx-docker 搭建websocket反向代理
下载镜像 docker pull nginx复制出配置文件 将/etc/nginx/nginx.conf和/etc/nginx/conf.d/default.conf复制到本机 nginx.conf文件内容 user nginx; worker_processes auto;error_log /var/log/nginx/error.log notice; pid /var/run/nginx.pid;events {worker_c…...
![](https://img-blog.csdnimg.cn/20190614100409637.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2dyYWJ1bmdlbg==,size_16,color_FFFFFF,t_70)
仿做静态网站多少钱/站长工具星空传媒
1.解释Session Session 是客户端与服务器通讯会话技术, 比如浏览器登陆、记录整个浏览会话信息。session存放在服务器,关闭浏览器不会失效。 1.1Session实现原理 客户对向服务器端发送请求后,Session 创建在服务器端,返回Sessi…...
![](/images/no-images.jpg)
宁波网站建设-中国互联/网络软文营销案例
在任何Java面试当中多线程和并发方面的问题都是必不可少的一部分。如果你想获得任何股票投资银行的前台资讯职位,那么你应该准备很多关于多线程的问题。在投资银行业务中多线程和并发是一个非常受欢迎的话题,特别是电子交易发展方面相关的。他们会问面试…...
![](/images/no-images.jpg)
免费手机版网站建设/灰色词快速排名方法
最近使用jmeter测试接口并发,所测接口需要登录后才可执行,开始尝试把登录和接口执行写到一个线程组中,但是发现在并发执行时,单点登录容易报错,故改成登录单独线程组。分线程组后,由于cookie管理器所存的co…...
![](https://img-blog.csdnimg.cn/img_convert/29517c21a7d6cee34a59b2647a64b892.gif)
可以免费做推广的网站/百度app下载安装普通下载
XD中的图层面板Adobe XD里画出来的每一个元素都是一个独立的图层,和PS一样可以通过快捷键CtrlG键进行自由组合,也可以通过CtrlShiftG取消组合。单击工具栏中的“图层”工具,或者按CtrlY键打开和关闭图层面板。在未选择任何对象的情况下&#…...
![](/images/no-images.jpg)
北京专业建设/优化推广服务
一 搭建篇yum install -y subversionsvnserve --version二 创建项目仓库mkdir /var/svncd /var/svnsvnadmin create /var/svn/[项目名]三 配置项目仓库cd /var/svn/[项目名]/conf1.修改综合配置vi svnserve.conf//找到以下配置项,将前面的#号去掉,然后做…...
![](/images/no-images.jpg)
环影视界wordpress企业主题/app推广注册招代理
序 本文主要研究一下redis的监控工具 redis-stat redis-stat是一个比较有名的redis指标可视化的监控工具,采用ruby开发,基于redis的info命令来统计,不影响redis性能。 docker运行docker run --name redis-stat -p 8080:63790 -d insready/red…...