PostgreSQL
1、插入数据
写错了: select 是查询
或是:
这种方法也是可以的,不过之前要先确定表!!
查看添加的数据;
2、使用 insert 查询工具插入多条数据
-
INSERT INTO STUDENT2( ID,NAME,SUBJECTS) -
VALUES (2,'往','c'), -
(3,'开','m'), -
(4,'天','x');
查看数据:
3、使用 select 查询数据
3.1 使用查询语句进行查询表
SELECT id,name FROM STUDENT2;
4、使用 update 更新数据库
把值放在“?”的地方 并完成WHERE条件,然后点击“执行”按钮执行查询。
例如,把id是2的,改变名字和subjects:
查询改变的结果:
5、使用 delete 删除数据
5.1、将整个表都删除的语句:
DELETE FROM public.student2;
注意:如若出现 SQL 状态 42703
请参考:https://blog.csdn.net/shuaiwang/article/details/1807421
6、排序的问题
PostgreSQL ORDER BY子句用于按升序或降序对数据进行排序。数据在一列或多列的基础上进行排序。
语法:
SELECT column-list FROM table_name [WHERE condition] [ORDER BY column1, column2, .. columnN] [ASC | DESC]; SQL
参数说明:
column_list:它指定要检索的列或计算。table_name:它指定要从中检索记录的表。FROM子句中必须至少有一个表。WHERE conditions:可选。 它规定必须满足条件才能检索记录。ASC:也是可选的。它通过表达式按升序排序结果集(默认,如果没有修饰符是提供者)。DESC:也是可选的。 它通过表达式按顺序对结果集进行排序。
①、升序排序 - ORDER BY [field] ASC
执行以下查询以按升序ORDER BY AGE数据记录:
-
SELECT * -
FROM STUDENT2 -
ORDER BY NAME ASC;
SQL
按照 name 字段升序排序:
执行以下查询以按降序ORDER BY name DESC数据的记录:
-
SELECT * -
FROM STUDENT2 -
ORDER BY subjects DESC;
SQL
按照 subjects 字段降序排序,
③、多列排序 ORDER BY
您还可以使用ORDER BY子句在多列上排序记录。执行以下查询从表“student2”按ORDER BY NAME以升序获取记录。
7、分组的问题
PostgreSQL GROUP BY子句用于将具有相同数据的表中的这些行分组在一起。 它与SELECT语句一起使用。
GROUP BY子句通过多个记录收集数据,并将结果分组到一个或多个列。 它也用于减少输出中的冗余。
语法:
-
SELECT column-list -
FROM table_name -
WHERE [conditions ] -
GROUP BY column1, column2....columnN -
ORDER BY column1, column2....columnN
SQL
注意:在GROUP BY多个列的情况下,您使用的任何列进行分组时,要确保这些列应在列表中可用。
-
SELECT NAME -
FROM STUDENT2 -
GROUP BY NAME;
7.1减少冗余数据
我们可以先添加一些重复的数据在表里面
当我们使用GROUP BY NAME时,可以看到重复的名字数据记录被合并。 它指定GROUP BY减少冗余。
8、HAVING 的用法
在PostgreSQL中,HAVING子句与GROUP BY子句组合使用,用于选择函数结果满足某些条件的特定行。
语法:
SELECT column1, column2 FROM table1, table2 WHERE [ conditions ] GROUP BY column1, column2 HAVING [ conditions ] ORDER BY column1, column2
①、name字段值计数大于1的名称。
-
SELECT NAME,COUNT (NAME) -
FROM STUDENT2 -
GROUP BY NAME HAVING COUNT (NAME) > 1;
因为往,开,天都是插入的双重数据;
②、显示名称(name)数量小于2的记录。
-
SELECT NAME -
FROM STUDENT2 -
GROUP BY NAME HAVING COUNT (NAME) < 2;
