簡體   English   中英

在 postgres 中將表中的所有列名更改為小寫

[英]altering all column names in table to be lower case in postgres

假設我在帶有 DDL 的 postgres 數據庫中有一個表,例如:

    CREATE TABLE personnel_data 
    (
    ID serial primary key,
    NAME varchar(50),
    EMAIL_ADDRESS varchar(20),
    last_updated timestamp
    );

現在我希望運行一個查詢,該查詢將更改表並將所有列名轉換為完全小寫。 我的直覺告訴我,我需要在單個列級別做這樣的事情,但這顯然很麻煩:

ALTER TABLE personnel_data
RENAME COLUMN ID to id;

那么,我的問題是如何創建一個 ALTER 語句以在一個查詢中將所有列名更改為小寫(使用 lower()??)?

謝謝!

您必須使用以下查詢動態創建命令:

SELECT 
CONCAT('ALTER TABLE ' ,table_schema,'.', table_name, ' RENAME COLUMN ',column_name,' TO ',LOWER(column_name)), *
FROM information_schema.columns 
WHERE table_name = 'your_table'
AND table_schema = 'your_schema_name';

然后執行生成的查詢

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM