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

修改PostgreSQL表中的字段排列顺序

二、通过修改系统表(pg_attribute)达到字段重新排序的目的
有关系统表的概述及用途可以查看官网:http://www.pgsqldb.org/pgsqldoc-cvs/catalogs.html

表名字表用途
pg_class表,索引,序列,视图(”关系”)
pg_attribute表的列(”属性”,”字段”)

通过pg_class查找[表,索引,视图等的名字],[表在磁盘上的文件的名字]
    SELECT relname, relfilenode FROM pg_class WHERE relname=’order_change_table’;
    查询结果为:order_change_table | 12666
通过pg_attribute查找[此列/字段所属的表],[字段名字],[字段数目]
    SELECT attrelid, attname, attnum FROM pg_attribute WHERE attrelid=12666;
    查询结果为:12666 | id | 1      12666 | name | 2      12666 | password | 3      12666 | new_field | 4
更新pg_attribute的[attnum]字段(将要移动的字段先更新成数据库里面没有的值,再按顺序更新)。
    UPDATE pg_attribute SET attnum=7 WHERE attname=’new_field’  AND attrelid=12666;
    UPDATE pg_attribute SET attnum=6 WHERE attname=’name’       AND attrelid=12666;    
    UPDATE pg_attribute SET attnum=5 WHERE attname=’password’  AND attrelid=12666;
    UPDATE pg_attribute SET attnum=2 WHERE attname=’new_field’  AND attrelid=12666;
    UPDATE pg_attribute SET attnum=3 WHERE attname=’name’        AND attrelid=12666;
    UPDATE pg_attribute SET attnum=4 WHERE attname=’password’  AND attrelid=12666;
再检索表,字段就已经改好顺序了。(缺点:一旦改错表就崩溃,事先一定要备份好。优点:直达根处)
SELECT * FROM order_change_table;


http://www.mrgr.cn/news/47869.html

相关文章:

  • 新手学习yolov8目标检测小记2--对比实验中经典模型库MMDetection使用方法(使用自己的数据集训练,并转换为yolo格式评价指标)
  • 什么是 ES6 “模板语法” ?
  • ArmSoM RK3588/RK3576核心板,开发板网络设置
  • HTML5 波动动画(Pulse Animation)详解
  • SqlSugar-文章目录
  • selenium合集
  • KVM虚拟化技术
  • C++基础面试题 | 什么是内存对齐?为什么需要内存对齐?
  • 头戴式耳机哪个品牌音质好?高品质百元头戴式耳机推荐榜单
  • 35.反转链表
  • 数理统计(第2章第2节:估计量的好坏标准)
  • 【MWORKS专业工具箱系列教程】控制系列工具箱第六期:根轨迹分析
  • 若依-二级页面的跳转设计
  • 发论文创新点来了!KAN+时间序列预测,更高性能表现、更低资源占用
  • 无刷直流电机工作原理:【图文讲解】
  • 现代 C++ 模板教程 学习笔记
  • 前缀和算法——优选算法
  • 大疆电机M3508 PWM控制
  • 谐波电压和电流哪个对电容器的伤害更大
  • busybox设置默认环境变量
  • 黑龙江APP等保测评:构建安全防线,守护用户数据
  • PyCharm下载安装汉化教程!pycharm激活
  • AI如何赋能数字化转型?
  • 互联网协议(IP)中最常用的端口
  • 基于RK3588+AI的深度学习功能PLC设计,支持Codesys
  • k8s中pod管理