PostgreSQL常用sql语句
缘由: 项目使用的是PostgreSQL,时常需要变更字段的名称/限制/类型
1. 创建新表test
CREATE TABLE test (id int8 generated by default as identity, created_time TIMESTAMP not null, updated_time TIMESTAMP, version integer, trade_id integer, name varchar(64) not null, code varchar(64) not null unique, is_active boolean, minimum numeric(30, 8), maximum numeric(30, 8), price decimal(30,8), interval integer, primary key (id));
2. 在已有的test表中增加字段text,字段类型为varchar(64)
ALTER TABLE test ADD text varchar(64);
3. 根据test的name,code,text三个字段做联合唯一键,三个字段值都一样才触发唯一约束
ALTER TABLE test add constraint unique_name_code_text unique("name", "code", "text");
4. 更改trade_id的字段类型为int8
ALTER TABLE test ALTER COLUMN trade_id TYPE int8;
5. 设置trade_id字段不为NULL
ALTER TABLE test ALTER COLUMN trade_id SET NOT NULL;
6. 将code字段值为null的记录批量更新code字段值为"test_code"
UPDATE test set code = 'test_code' WHERE code is null;
7. 根据id删除记录
DELETE FROM test WHERE ID IN (83,84,85);
8. 将test表的name字段值全部更新为"test_name"
UPDATE test SET name = 'test_name';
Computer science and software engineering have always been my passion
Computer science and software engineering have always been my passion |
作者:游弋在冷风中
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?