PostgreSQL 查找当前数据库的所有表操作
实现的功能类似MySQL:
showtables;
在PostgreSQL中需要写:
select*frompg_tableswhereschemaname='public';
返回结果类似如下:
schemaname|tablename|tableowner|tablespace|hasindexes|hasrules|hastriggers|rowsecurity ------------+-----------+------------+------------+------------+----------+-------------+------------- public|deploy|postgres||t|f|f|f public|deploy2|postgres||f|f|f|f (2rows)
补充:PostgreSql获取所有的表、视图、字段、主键
PostgreSQL获取数据库中所有view名视图:
SELECTviewnameFROMpg_views WHEREschemaname='public'
postgreSQL获取数据库中所有table名表:
SELECTtablenameFROMpg_tables WHEREtablenameNOTLIKE'pg%' ANDtablenameNOTLIKE'sql_%' ORDERBYtablename;
postgreSQL获取某个表tablename所有字段名称,类型,备注,是否为空等
SELECTcol_description(a.attrelid,a.attnum)ascomment,pg_type.typnameastypename,a.attnameasname,a.attnotnullasnotnull FROMpg_classasc,pg_attributeasainnerjoinpg_typeonpg_type.oid=a.atttypid wherec.relname='tablename'anda.attrelid=c.oidanda.attnum>0
postgreSQL获取某个表tablename的主键信息
selectpg_attribute.attnameascolname,pg_type.typnameastypename,pg_constraint.connameaspk_namefrom pg_constraintinnerjoinpg_class onpg_constraint.conrelid=pg_class.oid innerjoinpg_attributeonpg_attribute.attrelid=pg_class.oid andpg_attribute.attnum=pg_constraint.conkey[1] innerjoinpg_typeonpg_type.oid=pg_attribute.atttypid wherepg_class.relname='tablename' andpg_constraint.contype='p'
以上为个人经验,希望能给大家一个参考,也希望大家多多支持毛票票。如有错误或未考虑完全的地方,望不吝赐教。
热门推荐
10 祝女儿简短祝福语大全
11 大学新年祝福语简短创意
12 元旦适合的祝福语简短
13 朋友出远门祝福语简短
14 初六简短的祝福语
15 祝男孩生日祝福语简短
16 同事调离的祝福语简短
17 拜年红包的祝福语简短
18 妈妈生日祝福语简短励志