[英]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.