为字段添加唯一索引属性
//为单一字段添加唯一索引属性
ALTER TABLE table_name ADD UNIQUE column_name
//为组合字段添加唯一索引属性
ALTER TABLE table_name ADD UNIQUE (column1, column2, ...)
为字段赋新值然后排序(CASE)
SELECT
film_id, title, rating
FROM
film
ORDER BY CASE rating
WHEN 'G' THEN 1
WHEN 'PG' THEN 2
WHEN 'PG-13' THEN 3
WHEN 'R' THEN 4
WHEN 'NC-17' THEN 5
END;
排序tips
// 默认NULL最大,使用NULLS FIRST改变排序规则
SELECT 'A' AS v
UNION ALL
SELECT 'B' AS v
UNION ALL
SELECT NULL AS v
UNION ALL
SELECT '0' AS v
UNION ALL
SELECT '1' AS v
ORDER BY v NULLS FIRST;
// ASC升序 DESC降序
DISTRINCT(取消返回中的重复值)
SELECT DISTINCT 返回一个没有重复行的结果集。
DISTINCT 后面可以指定一个列或者多个列,也可以用 *。
DISTINCT 将所有的 NULL 视为相等的,并只保留一个。
DISTINCT ON 子句用来返回每组重复值的第一个行。
SELECT
DISTINCT rating
FROM
film;
SELECT
DISTINCT ON (rating) rating,
film_id,
title
FROM
film
ORDER BY rating, film_id DESC;
docker实验
wsl //连接虚拟机 输入法给我推荐了“汪苏泷”
sudo su //开启账户权限
// 输入密码666666
docker ps -a //查看所有容器
// 找到postgresql的容器id或name
docker restart pg1 // 启动容器
docker exec -it pg1 psql -U postgres //进入容器开始操作postgresql