PGSQL/Mysql 备份数据表,删除、增加、修改字段名称/字段备注/字段类型

在开发过程中,经常会遇到不同需求,有很多需求需要去进行数据表字段修改,本文章主要介绍

1.备份表SQL

CREATE TABLE [备份新表名] AS 
	SELECT * from [备份原表名];

-- 例子:备份sys_user表,备份表名称为sys_user_2022523110535
CREATE TABLE sys_user_2022523110535 AS 
	SELECT * from sys_user;

2.修改表名

alter table [表名] rename to [新表名]

-- 例子:修改sys_user表为user
alter table sys_user rename to user

3.添加字段SQl

ALTER TABLE [表名]
 ADD COLUMN [字段名] [数据类型](长度) [限制], 
 ADD COLUMN [字段名] [数据类型](长度) [限制];

-- 例子:sys_user表添加user_name字段和email字段
ALTER TABLE sys_user
	ADD COLUMN user_name varchar(100) not null,
 	ADD COLUMN email varchar(255) not null;

4.删除字段SQL

ALTER TABLE [表名] 
	DROP [字段],
	DROP [字段];

-- 例子:sys_user表删除user_name字段和email字段
ALTER TABLE user
	DROP user_name,
	DROP email;

5.修改字段名SQL

  • 修改字段名时注意是否需要修改字段数据类型,注意修改前后数据类型对应;
  • 如果不行就先备份表再进行将该字段数据清空,修改完字段后,通过update从备份表将数据更新到修改完字段的表中。
alter table [表名] rename [字段名] to [新字段名];

-- 例子:sys_user表修改user_name字段为name
alter table sys_user rename user_name to name;

6.修改字段类型

-- 方式一
 alter table [表名] alter column [字段名] type [字段新类型] using [字段新类型数据处理];
 -- 方式二
 ALTER TABLE [表名]
ALTER [字段名] TYPE [字段新类型];

-- 例子:sys_user表修改user_id字段数据类型由varchar变为integer
 alter table sys_user alter column user_id type integer using to_number(id,'9');

7.修改字段备注

comment on column [表名.字段名] is [注释];

-- 例子:给sys_user表user_id字段添加字段备注
comment on column sys_user.user_name is '用户名';

    原文作者:hippoDocker
    原文地址: https://blog.csdn.net/BadBoyxiaolin/article/details/124923210
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞