PG数据库基本命令——查询(笔记)

1、插入数据(insert 语句)

语法:

INSERT INTO TABLE_NAME (column1, column2, column3,...columnN) VALUES (value1, value2, value3,...valueN);

实例:

INSERT INTO employees( ID, NAME, AGE, ADDRESS, SALARY) VALUES (1, 'Maxsu', 25, '海口市人民大道2880号', 109990.00 ), (2, 'minsu', 25, '广州中山大道 ', 125000.00 ), (3, '李洋', 21, '北京市朝阳区', 185000.00), (4, 'Manisha', 24, 'Mumbai', 65000.00), (5, 'Larry', 21, 'Paris', 85000.00);

2、查询数据(SELECT语句)

语法:

SELECT "column1", "column2"..."columnN" FROM "table_name"; SELECT * FROM "table_name";

3、更新数据(UPDATE语句)

语法:

UPDATE table_name  
SET column1 = value1, column2 = value2...., columnN = valueN  
WHERE [condition];

4、删除数据(DELETE语句)

语法:

DELETE FROM table_name  
WHERE [condition];

 实例:

DELETE FROM EMPLOYEES  
WHERE ID = 1;

5、ORDER BY子句

语法:

SELECT column-list  
FROM table_name  
[WHERE condition]  
[ORDER BY column1, column2, .. columnN] [ASC | DESC];
实例:
SELECT *   
FROM EMPLOYEES  
ORDER BY AGE ASC;

6、分组(GROUP BY子句)

语法:

SELECT column-list  
FROM table_name  
WHERE [conditions ]  
GROUP BY column1, column2....columnN  
ORDER BY column1, column2....columnN

实例:

SELECT NAME, SUM(SALARY)   
FROM EMPLOYEES   
GROUP BY NAME;

在上面的例子中,当我们使用GROUP BY NAME时,重复的名字数据记录被合并。 它指定GROUP BY减少冗余。

7、Having子句

语法:

SELECT column1, column2 FROM table1, table2 WHERE [ conditions ] GROUP BY column1, column2 HAVING [ conditions ] ORDER BY column1, column2

实例:

执行以下查询表“EMPLOYEES”中name字段值计数大于1的名称。

SELECT NAME,COUNT (NAME) FROM EMPLOYEES GROUP BY NAME HAVING COUNT (NAME) > 1;

   

 8、条件查询

  条件查询有:

    • AND 条件
    • OR 条件
    • AND & OR 条件
    • NOT 条件
    • LIKE 条件
    • IN 条件
    • NOT IN 条件
    • BETWEEN 条件

1)AND条件

语法:

SELECT column1, column2, ..... columnN FROM table_name WHERE [search_condition] AND [search_condition];

实例:

SELECT *  
FROM EMPLOYEES  
WHERE SALARY > 120000  
AND ID <= 4;
2) OR条件
语法:
SELECT column1, column2, ..... columnN    
FROM table_name    
WHERE [search_condition]    
OR [search_condition];
 实例:
SELECT *  
FROM  EMPLOYEES 
WHERE NAME = 'Minsu'  
OR ADDRESS = 'Noida';
3)AND & OR条件 
语法:
SELECT column1, column2, ..... columnN    
FROM table_name    
WHERE [search_condition]  AND [search_condition]     
OR [search_condition];
实例:
SELECT *  
FROM EMPLOYEES  
WHERE (NAME = 'Minsu' AND ADDRESS = 'Delhi')  
OR (ID>= 8);
4)NOT条件
语法:
SELECT column1, column2, ..... columnN    
FROM table_name    
WHERE [search_condition] NOT [condition];
实例:
查询那些地址不为 NULL 的记录信息,执行以下查询:
SELECT *  
FROM EMPLOYEES  
WHERE address IS NOT NULL ;
查询那些年龄不是21和24的所有记录,执行以下查询:
SELECT *  
FROM EMPLOYEES  
WHERE age NOT IN(21,24) ;
5)LIKE条件
like 与 where 子句一起,用于从指定条件满足 like 条件的表中获取数据。
语法:
SELECT column1, column2, ..... columnN    
FROM table_name    
WHERE [search_condition] LIKE [condition];
实例:
查询名字以 Ma 开头的数据记录,如下查询语句
SELECT *   
FROM EMPLOYEES   
WHERE NAME LIKE 'Ma%';
执行结果如下图:

   

查询名字以su结尾的数据记录,如下查询语句:

SELECT * FROM EMPLOYEES WHERE NAME LIKE '%su'
6)IN条件
语法:
SELECT column1, column2, ..... columnN FROM table_name WHERE [search_condition] IN [condition];
实例:
查询employee表中那些年龄为19,21的员工信息,执行以下查询:
SELECT * FROM EMPLOYEES WHERE AGE IN (19, 21);
7)NOT IN条件
语法:
SELECT column1, column2, ..... columnN FROM table_name WHERE [search_condition] NOT IN [condition];
8)BETWEEN条件
语法:
SELECT column1, column2, ..... columnN FROM table_name WHERE [search_condition] BETWEEN [condition];
实例:
SELECT * FROM EMPLOYEES WHERE AGE BETWEEN 24 AND 27;

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PostgreSQL是以加州大学伯克利分校计算机系开发的POSTGRES,现在已经更名为PostgreSQL. PostgreSQL支持大部分SQL标准并且提供了许多其它现代特性:复杂查询、外键、触发器、视图、事务完整性等。 PostgreSQL 是一个免费的对象-关系数据库服务器(数据库管理系统),它在灵活的 BSD-风格许可证下发行。它提供了相对其他开放源代码数据库系统(比如 MySQL 和 Firebird),和专有系统(比如 Oracle、Sybase、IBM 的 DB2 和 Microsoft SQL Server)之外的另一种选择。 事实上, PostgreSQL 的特性覆盖了 SQL-2/SQL-92 和 SQL-3/SQL-99,首先,它包括了可以说是目前世界上最丰富的数据类型的支持,其中有些数据类型可以说连商业数据库都不具备, 比如 IP 类型和几何类型等;其次,PostgreSQL 是全功能的自由软件数据库,很长时间以来,PostgreSQL 是唯一支持事务、子查询、多版本并行控制系统(MVCC)、数据完整性检查等特性的唯一的一种自由软件的数据库管理系统。 Inprise 的 InterBase 以及SAP等厂商将其原先专有软件开放为自由软件之后才打破了这个唯一。最后,PostgreSQL拥有一支非常活跃的开发队伍,而且在许多黑客的努力下,PostgreSQL 的质量日益提高。从技术角度来讲,PostgreSQL 采用的是比较经典的C/S(client/server)结构,也就是一个客户端对应一个服务器端守护进程的模式,这个守护进程分析客户端来的查询请求,生成规划树,进行数据检索并最终把结果格式化输出后返回给客户端。为了便于客户端的程序的编写,由数据库服务器提供了统一的客户端 C 接口。而不同的客户端接口都是源自这个 C 接口,比如ODBC,JDBC,Python,Perl,Tcl,C/C++,ESQL等, 同时也要指出的是,PostgreSQL 对接口的支持也是非常丰富的,几乎支持所有类型的数据库客户端接口。这一点也可以说是 PostgreSQL 一大优点。 本课程作为PostgreSQL数据库管理一,主要讲解以下内容:1.     PostgreSQL安装和环境准备2.     PostgreSQL数据查询3.     PostgreSQL 数据过滤4.     PostgreSQL 多表的联接5.     PostgreSQL数据的分组6.     PostgreSQL合集的操作7.   PostgreSQL 合集的分组
pg数据库中,可以通过使用循环和拼接技术来根据id进行查询操作。 首先,我们需要使用循环语句(如FOR循环)来遍历需要查询的id列表。在每次循环中,我们可以使用SELECT语句来获取具体的数据。 例如,假设我们有一个表名为"person",其中包含id和name两列。我们需要查询id为1、2、3的记录,并将它们的name值拼接成一个字符串。 我们可以使用以下代码来实现: ``` DECLARE result_text TEXT := ''; -- 初始化结果字符串为空 current_id INT; -- 当前循环中的id值 BEGIN FOR current_id IN 1..3 LOOP -- 遍历id为1、2、3的记录 SELECT name INTO result_text FROM person WHERE id = current_id; -- 查询当前id对应的name值 result_text := result_text || ','; -- 在当前name值后面拼接一个逗号 END LOOP; result_text := TRIM(TRAILING ',' FROM result_text); -- 去除最后一个逗号 RAISE NOTICE '拼接结果:%', result_text; -- 打印拼接结果 END; ``` 在上述代码中,我们使用一个变量`result_text`来保存拼接结果。在每次循环中,我们通过SELECT语句从表中获取当前id对应的name值,并把它拼接到`result_text`后面,同时在name值后面添加一个逗号。 最后,我们通过使用TRIM函数去除`result_text`最后一个逗号,并通过`RAISE NOTICE`语句打印拼接的结果。 这样,我们就可以通过使用循环和拼接技术在pg数据库中根据id进行查询和拼接操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值