postgreSQL常用命令
--建表案例 CREATE TABLE gas_use_test ( id serial PRIMARY KEY NOT NULL, tenantId integer NOT NULL, meterNo varchar(255) unique NOT NULL , communicationDate varchar(255) NOT NULL , useGasAmount decimal(10,4) DEFAULT NULL , create_time TIMESTAMP NOT null default now() ) --批量更新 update test set info=tmp.info from (values (1,'new1'),(2,'new2'),(6,'new6')) as tmp (id,info) where test.id=tmp.id; --不存在插入、存在更新ON CONFLICT 只在 PostgreSQL 9.5 以上可用。 insert into tablename (key1,key2,key3) values ('xxx','xxx','xxx') on conflict(key1) do update set key2 = 'yyy',key3 = 'yyy'; --修改表中的字段名(将key1修改为key2) alter table tablename rename key1 to key2; --表中新增字段 alter table tablename add key1 character varying not null; --修改表名 alter table "tablename" rename to "new_tablename"; --删除表中某个字段 alter table tablename drop column if exists key1; --表名、主键 SELECT * FROM pg_tables where tablename='gas_alarm' select * from pg_catalog.pg_constraint select * from pg_catalog.pg_database pd select * from pg_catalog.pg_type pt --查看表结构 SELECT a.attnum, a.attname AS field, t.typname AS type, a.attlen AS length, a.atttypmod AS lengthvar , a.attnotnull AS notnull, b.description AS comment FROM pg_class c, pg_attribute a LEFT JOIN pg_description b ON a.attrelid = b.objoid AND a.attnum = b.objsubid, pg_type t WHERE c.relname = 'ods_day_payrecord' AND a.attnum > 0 AND a.attrelid = c.oid AND a.atttypid = t.oid ORDER BY a.attnum;
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程