postgresql-常用的查询条件

常用的查询条件
查询条件谓词
比较>,<,>=,<=,!=,<>,!>,!<,=,not+上述比较符,any/all+上述比较符
确定范围between and ,not between and
确定集合in,not in
字符匹配like,not like
空值is null,is not null
多重条件and ,or,not

1.临时派生表

select * from table_name ,(select * from table_name) as new_table_name(column_name,column_name);

2.创建视图

create view  view_name(column_name,column_name) as <子查询>

数据库中保存视图的定义,不保存视图中的数据,按照某种查询条件得到数据存放在视图中。

3.删除视图

drop view index_name;

4.更新视图

update view_name set column_name=value where ...

不是所有的视图都允许更新。

5.查找数据库中所有的view名

select * from pg_views;

获取数据库中所有的表名:

select * from pg_tables;

至于想看表中有哪些字段,可以limit 1,或是有这样的语句,还没有找到;

6.查看数据库中某个表的全部字段,及其字段类型

SELECT col_description(a.attrelid,a.attnum) as comment,pg_type.typname as typename,a.attname as name, a.attnotnull as notnull FROM pg_class as c,pg_attribute as a inner join pg_type on pg_type.oid = a.atttypid where c.relname = 'tablename' and a.attrelid = c.oid and a.attnum>0

只需要修改tablename即可。

 

 

### PostgreSQL 常用 SQL 操作教程 #### 创建和管理数据库 在 PostgreSQL 中,可以通过 `CREATE DATABASE` 和 `DROP DATABASE` 来创建和删除数据库。这些基础操作对于初始化环境至关重要[^1]。 ```sql -- 创建一个新的数据库 CREATE DATABASE mydatabase; -- 删除已有的数据库 DROP DATABASE mydatabase; ``` #### 表的创建与修改 通过 `CREATE TABLE` 可以定义新的表结构,并设置字段约束条件。例如,在用户表中可以定义唯一性和主键等属性[^2]。 ```sql -- 创建一个名为users的新表 CREATE TABLE users ( id SERIAL PRIMARY KEY, name VARCHAR(100) NOT NULL, email VARCHAR(100) NOT NULL UNIQUE, created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ); ``` 如果需要对现有表进行结构调整,则可使用 `ALTER TABLE` 语句来添加、更改或移除列或其他对象。 ```sql -- 向已有表增加一列age ALTER TABLE users ADD COLUMN age INT; -- 修改某一列的数据类型 ALTER TABLE users ALTER COLUMN age TYPE SMALLINT USING(age::SMALLINT); -- 移除某列 ALTER TABLE users DROP COLUMN age; ``` #### 数据查询与过滤 执行基本的选择查询时,通常会涉及 WHERE 子句用于筛选记录集中的特定条目;还可以利用 ORDER BY 对结果排序以及 LIMIT 控制返回行数[^3]。 ```sql -- 获取所有用户的姓名及其电子邮件地址并按名字升序排列前五项 SELECT name, email FROM users ORDER BY name ASC LIMIT 5; ``` #### 高级特性 - JSONB 支持 现代应用开发越来越依赖灵活存储格式如JSON文档型数据模型的支持。PostgreSQL 提供了丰富的内置函数处理jsonb类型的字段,使得复杂嵌套结构也能轻松解析检索[^4]。 ```sql -- 插入含JSONB字段的一条新纪录到settings表里 INSERT INTO settings (config) VALUES ('{"theme": "dark", "notifications": true}'::jsonb); -- 更新某个配置下的主题颜色为light模式 UPDATE settings SET config = jsonb_set(config,'{theme}','"light"',true) WHERE id=1; -- 查找通知开启的所有设定实例 SELECT * FROM settings WHERE config->>'notifications'='true'; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值