PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Thay đổi tên cột bảng thành chữ hoa trong postgres

Trước khi giải thích cách thực hiện việc này, tôi thực sự đề nghị KHÔNG làm điều đó.

Trong PostgreSQL, nếu tên bảng hoặc cột không được trích dẫn, như:

SELECT Name FROM MyTable WHERE ID = 10

Chúng thực sự tự động gấp thành chữ thường đầu tiên, vì vậy truy vấn ở trên giống với:

SELECT name FROM mytable WHERE id = 10

Nếu bạn đã chuyển đổi tất cả các tên thành chữ hoa, câu lệnh này sẽ KHÔNG hoạt động :

SELECT NAME FROM MYTABLE WHERE ID = 10

Bạn sẽ phải trích dẫn kép mỗi tên trong truy vấn này để làm cho nó hoạt động:

SELECT "NAME" FROM "MYTABLE" WHERE "ID" = 10

Mặt khác, nếu bạn sử dụng thỏa thuận chỉ viết thường của PostgreSQL tiêu chuẩn, bạn có thể sử dụng bất kỳ tổ hợp trường hợp nào và nó sẽ hoạt động miễn là bạn không trích dẫn bất kỳ tên nào.

Bây giờ, nếu bạn vẫn khăng khăng muốn chuyển đổi sang chữ hoa, bạn có thể làm điều đó bằng cách kết xuất lược đồ cơ sở dữ liệu của bạn vào một tệp bằng cách sử dụng pg_dump --schema-only .

Sau khi bạn hoàn thành việc đó, hãy kiểm tra tất cả CREATE TABLE câu lệnh và xây dựng ALTER TABLE thích hợp các câu lệnh dựa trên kết xuất này - bạn sẽ phải viết một số tập lệnh (Perl hoặc Python) để làm điều đó.

Ngoài ra, bạn có thể đọc INFORMATION_SCHEMA.TABLES và / hoặc INFORMATION_SCHEMA.COLUMNS cũng như xây dựng và thực thi ALTER TABLE thích hợp tuyên bố.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự cố với phạm vi thời gian vô hạn trong Rails

  2. Tổng quan về PostgreSQL Query Caching &Load Balancing

  3. Cách có thứ tự sắp xếp tùy chỉnh cho truy vấn liên hợp trong Postgres

  4. ILIKE Match Word Boundaries PostgreSQL 9

  5. PostgreSQL, không thể cập nhật hàng (với bảo mật cấp độ hàng)