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

Làm cách nào để lấy truy vấn thuộc tính cột từ tên bảng bằng PostgreSQL?

Đây là truy vấn dựa trên danh mục hệ thống sẽ tìm nạp mọi thứ bạn cần (với trường khóa chính bổ sung được cung cấp miễn phí).

SELECT DISTINCT
    a.attnum as num,
    a.attname as name,
    format_type(a.atttypid, a.atttypmod) as typ,
    a.attnotnull as notnull, 
    com.description as comment,
    coalesce(i.indisprimary,false) as primary_key,
    def.adsrc as default
FROM pg_attribute a 
JOIN pg_class pgc ON pgc.oid = a.attrelid
LEFT JOIN pg_index i ON 
    (pgc.oid = i.indrelid AND i.indkey[0] = a.attnum)
LEFT JOIN pg_description com on 
    (pgc.oid = com.objoid AND a.attnum = com.objsubid)
LEFT JOIN pg_attrdef def ON 
    (a.attrelid = def.adrelid AND a.attnum = def.adnum)
WHERE a.attnum > 0 AND pgc.oid = a.attrelid
AND pg_table_is_visible(pgc.oid)
AND NOT a.attisdropped
AND pgc.relname = 'TABLE_NAME'  -- Your table name here
ORDER BY a.attnum;

Cái nào sẽ trả về kết quả như:

 num |    name     |             typ             | notnull |       comment       | primary_key 
-----+-------------+-----------------------------+---------+---------------------+-------------
   1 | id          | integer                     | t       | a primary key thing | t
   2 | ref         | text                        | f       |                     | f
   3 | created     | timestamp without time zone | t       |                     | f
   4 | modified    | timestamp without time zone | t       |                     | f
   5 | name        | text                        | t       |                     | f
  • num:Số cột
  • name:Tên cột
  • typ:kiểu dữ liệu
  • notnull:Là cột được xác định là NOT NULL
  • nhận xét:Bất kỳ COMMENT nào được xác định cho cột
  • primary_key:Là cột được xác định là PRIMARY KEY
  • default:Lệnh được sử dụng cho giá trị mặc định


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách cấu hình PostgreSQL để chấp nhận tất cả các kết nối đến

  2. Cách xử lý các diễn biến cơ sở dữ liệu Play Framework 2 trong quá trình sản xuất

  3. SQLAlchemy, Psycopg2 và Postgresql COPY

  4. PostgreSQL và C # Datatypes

  5. Mảng PHP sang mảng postgres