Postgres数据库
安装好postgresql默认会在linux下新建一个postgres用户
登陆postsql客户端:
# 本地登录
1.su postgres
2.psql
# 远程登录
psql -U postgres -h ip -p port
查看数据库列表
\l
进入数据库:
\c + 数据库名
查看数据库下表
\d
查看表创建信息
\d + tablename
删除数据表
- 删除单个表:DROP TABLE + tablename;
- 删除多个表:DROP TABLE(drop table) tablename1,tablename2; (逗号分隔)
执行sql文件
\i sql文件路径
导出数据库表到sql文件
pg_dump -U postgres(user_name) -t table_name database_name > file_path
保存sql查询结果到文件
1.进入psql命令行
2.\o file_path
3.sql查询语句
# 保存到csv文件
COPY(query_sql) TO '/tmp/user_view_admin.csv' WITH csv;
时间函数
# 计算时间差
SELECT now( ) - INTERVAL '6 month';
为空使用缺省值
-- COALESCE()函数 返回第一个不为null的值,缺省值为字符串时只能用单引号
SELECT COALESCE(null, '全部');
字符串替换
SELECT REPLACE('true', 'tr', '1');
条件判断
-- 格式:CASE input_express WHEN when_express THEN then_express [...n] ELSE else_express END
SELECT CASE 1+1 WHEN 1 THEN 'hello1' WHEN 2 THEN 'hello2' ELSE 'hello_3' END
-- 支持多重判断 WHEN 期望值 THEN 展示结果
SELECT
(CASE result
WHEN true THEN '是'
WHEN false THEN '否'
ELSE '非' END) AS result
FROM
target
WHERE
id in ('c387460f48cc4720a0c492404cfb83d5', 'a17b2cd6548a48dc9b7deb05057066bf');