更新时间:2026-07-28 GMT+08:00
分享

如何修改列的顺序?

答:可以使用如下方式实现修改列的顺序。
--建表并插入数据。
gaussdb=# CREATE TABLE tbl_test(
    id varchar(5),
    age int CHECK(age>0 and age<=200),
    name varchar(20),
    CONSTRAINT pk_test_id PRIMARY KEY (id)
);
gaussdb=# INSERT INTO tbl_test VALUES ('00010',18,'Bob');
gaussdb=# INSERT INTO tbl_test VALUES ('00011',26,'Jack');
gaussdb=# INSERT INTO tbl_test VALUES ('00012',23,'Jim');

--查看表结构。
gaussdb=# \d tbl_test

--新建表tbl_test_new调换age和name字段的顺序。
gaussdb=# CREATE TABLE tbl_test_new(id varchar(5),name varchar(20),age int);
gaussdb=# ALTER TABLE tbl_test_new ADD CONSTRAINT pk_test_new_id PRIMARY KEY (id);
gaussdb=# ALTER TABLE tbl_test_new ADD CONSTRAINT chk_test_new_age CHECK(age>10 AND age<=200);

--新表插入数据。
gaussdb=# INSERT INTO tbl_test_new SELECT id,name,age FROM tbl_test;

--分别修改表名。
gaussdb=# ALTER TABLE tbl_test RENAME TO tbl_test_bak;
gaussdb=# ALTER TABLE tbl_test_new RENAME TO tbl_test;

--删除。
gaussdb=# DROP TABLE tbl_test;
gaussdb=# DROP TABLE tbl_test_bak;

相关文档