当前位置: 首页 > news >正文

postgresql DDL脚本

在PostgreSQL中,数据定义语言(DDL)脚本用于定义、修改或删除数据库的结构。DDL 操作包括创建表、修改表结构、删除表等。以下是几种常见的DDL操作示例以及如何在脚本中实现它们。

1. 创建表

CREATE TABLE employees (employee_id SERIAL PRIMARY KEY,first_name VARCHAR(50),last_name VARCHAR(50),email VARCHAR(100) UNIQUE,hire_date DATE
);

2. 修改表结构

添加列
ALTER TABLE employees ADD COLUMN department_id INT;

 修改列数据类型

ALTER TABLE employees ALTER COLUMN email TYPE VARCHAR(150);

重命名列 

ALTER TABLE employees RENAME COLUMN email TO email_address;

删除列 

ALTER TABLE employees DROP COLUMN department_id;

删除表 

DROP TABLE employees;

  创建索引

CREATE INDEX idx_employee_email ON employees (email_address);

修改索引(例如重命名索引)

DROP INDEX idx_employee_email;
CREATE INDEX idx_new_employee_email ON employees (email_address);

创建序列和主键序列自动增长(对于自增字段) 

CREATE SEQUENCE employee_id_seq;
ALTER TABLE employees ALTER COLUMN employee_id SET DEFAULT nextval('employee_id_seq');
ALTER TABLE employees ALTER COLUMN employee_id SET DEFAULT nextval('employee_id_seq'); -- 如果序列已存在,则需要手动设置默认值,因为 SERIAL 自动处理序列的创建和默认值设置。通常,使用 SERIAL 会自动处理这些。

 添加外键约束

ALTER TABLE employees ADD CONSTRAINT fk_department FOREIGN KEY (department_id) REFERENCES departments(department_id);

删除外键约束(和索引等其他约束)

ALTER TABLE employees DROP CONSTRAINT fk_department; -- 外键约束名可能需要根据具体情况调整。或者通过索引名删除外键约束(不推荐,除非你知道索引名):DROP INDEX fk_department;

http://www.lqws.cn/news/454051.html

相关文章:

  • 电影感户外柔和光线人像街拍摄影后期Lr调色教程,手机滤镜PS+Lightroom预设下载!
  • 高防IP怎么选
  • 开源CMS vs 闭源CMS:二次开发究竟有何不同?
  • 工具:Autosar:DBC转ARXML
  • PLuTo 编译器示例17-20
  • 24. 开发者常用工具:抓包,弱网模拟,元素检查
  • TDengine 与开源可视化编程工具 Node-RED 集成
  • 基于微信小程序的美食点餐订餐系统
  • tkinter Text 组件学习指南
  • Python函数:全面教程
  • 【秒杀系统设计】
  • Logback 在java中的使用
  • VS2022 C#【自动化文件上传】AutoFileUpload 新需求 V13
  • 从“数据困境”到“数据生态”:DaaS重塑三甲医院医疗数据治理
  • android 渲染流水线中的两个重要阶段:swapBuffers 和 DrawFrames
  • Unity技能编辑器深度构建指南:打造专业级战斗系统
  • 项目开发中途遇到困难的解决方案
  • 跑步还是快速走,瘦身分享
  • 【unitrix】 3.4 类型级逻辑运算(bit.rs)
  • 广州AR公司诚推广州华锐互动​
  • 常用 Docker 命令整理
  • 设置vscode使用eslint
  • SynchronizedMap 和 ConcurrentHashMap 的区别
  • EfficientVLA:面向视觉-语言-动作模型无训练的加速与压缩
  • Xilinx XC7A12T‑1CPG238I Artix‑7 FPGA
  • 08-Python文件处理
  • MySQL EXPLAIN中的key_len终极指南:精准掌握索引使用情况
  • 【unitrix】 3.5 类型级别的比较系统(cmp.rs)
  • 【机器学习实战笔记 12】集成学习:AdaBoost算法
  • 分布式系统中的 Kafka:流量削峰与异步解耦(二)