当前位置:实例文章 » 其他实例» [文章]openGauss学习笔记-07 openGauss 语法

openGauss学习笔记-07 openGauss 语法

发布人:shili8 发布时间:2024-11-08 05:38 阅读次数:0

**OpenGauss 学习笔记 -07 OpenGauss语法**

在本章中,我们将重点介绍OpenGauss的SQL语法。OpenGauss是基于PostgreSQL的开源数据库管理系统,支持标准SQL语法,并且提供了许多扩展功能。

###1. 基础语法####1.1 SELECT语句SELECT语句用于从表中检索数据。基本语法如下:

sqlSELECT [ALL | DISTINCT] select_expressionFROM table_name;


* `ALL` 或 `DISTINCT` 可选,用于指定是否返回重复记录。
* `select_expression` 是要检索的列或表达式。
* `table_name` 是要从中检索数据的表名。

示例:

sqlSELECT * FROM employees;


####1.2 INSERT语句INSERT语句用于向表中插入新记录。基本语法如下:

sqlINSERT INTO table_name (column1, column2, ...)VALUES (value1, value2, ...);


* `table_name` 是要插入数据的表名。
* `column1`, `column2`, 等是要插入的列名。
* `value1`, `value2`, 等是要插入的值。

示例:

sqlINSERT INTO employees (name, age, department)VALUES ('John Doe',30, 'Sales');


####1.3 UPDATE语句UPDATE语句用于更新表中的记录。基本语法如下:

sqlUPDATE table_nameSET column1 = value1, column2 = value2, ...WHERE condition;


* `table_name` 是要更新的表名。
* `column1`, `column2`, 等是要更新的列名。
* `value1`, `value2`, 等是要更新的值。
* `condition` 是用于指定要更新哪些记录的条件。

示例:

sqlUPDATE employeesSET age =31, department = 'Marketing'WHERE name = 'John Doe';


####1.4 DELETE语句DELETE语句用于从表中删除记录。基本语法如下:

sqlDELETE FROM table_nameWHERE condition;


* `table_name` 是要删除的表名。
* `condition` 是用于指定要删除哪些记录的条件。

示例:

sqlDELETE FROM employeesWHERE name = 'John Doe';


###2. SQL 函数####2.1 NOW() 函数NOW() 函数用于返回当前日期和时间。

sqlSELECT NOW();


####2.2 RAND() 函数RAND() 函数用于返回一个随机数。

sqlSELECT RAND();


###3. SQL 操作符####3.1 = 操作符= 操作符用于比较两个值是否相等。

sqlSELECT * FROM employeesWHERE age =30;


####3.2 != 操作符!= 操作符用于比较两个值是否不相等。

sqlSELECT * FROM employeesWHERE age !=30;


####3.3 > 操作符> 操作符用于比较两个值的大小,返回 true 如果第一个值大于第二个值。

sqlSELECT * FROM employeesWHERE salary >50000;


####3.4 < 操作符< 操作符用于比较两个值的大小,返回 true 如果第一个值小于第二个值。

sqlSELECT * FROM employeesWHERE age < 30;


####3.5 >= 操作符>= 操作符用于比较两个值的大小,返回 true 如果第一个值大于或等于第二个值。

sqlSELECT * FROM employeesWHERE salary >=50000;


####3.6 <= 操作符<= 操作符用于比较两个值的大小,返回 true 如果第一个值小于或等于第二个值。

sqlSELECT * FROM employeesWHERE age <=30;


###4. SQL 分组函数####4.1 COUNT() 函数COUNT() 函数用于统计表中记录的数量。

sqlSELECT COUNT(*) FROM employees;


####4.2 SUM() 函数SUM() 函数用于计算表中某一列的总和。

sqlSELECT SUM(salary) FROM employees;


####4.3 AVG() 函数AVG() 函数用于计算表中某一列的平均值。

sqlSELECT AVG(salary) FROM employees;


####4.4 MAX() 函数MAX() 函数用于找出表中某一列的最大值。

sqlSELECT MAX(salary) FROM employees;


####4.5 MIN() 函数MIN() 函数用于找出表中某一列的最小值。

sqlSELECT MIN(salary) FROM employees;


###5. SQL 分组和排序####5.1 GROUP BY 子句GROUP BY 子句用于将表中的记录分组。

sqlSELECT department, AVG(salary)FROM employeesGROUP BY department;


####5.2 ORDER BY 子句ORDER BY 子句用于对表中的记录进行排序。

sqlSELECT * FROM employeesORDER BY salary DESC;


###6. SQL 子查询####6.1 子查询子查询是嵌套在另一个SQL语句中的SELECT语句。

sqlSELECT * FROM employeesWHERE department IN (
 SELECT department FROM employees GROUP BY department HAVING COUNT(*) >5);


###7. SQL 联合查询####7.1 UNION 操作符UNION 操作符用于将两个或多个SELECT语句的结果集组合起来。

sqlSELECT * FROM employeesUNIONSELECT * FROM customers;


####7.2 INTERSECT 操作符INTERSECT 操作符用于找出两个或多个SELECT语句的结果集的交集。

sqlSELECT * FROM employeesINTERSECTSELECT * FROM customers;


####7.3 EXCEPT 操作符EXCEPT 操作符用于找出两个或多个SELECT语句的结果集的差异。

sqlSELECT * FROM employeesEXCEPTSELECT * FROM customers;


###8. SQL 视图####8.1 创建视图创建视图是使用CREATE VIEW语句来定义一个虚拟表。

sqlCREATE VIEW employee_summary ASSELECT name, department, salaryFROM employees;


####8.2 使用视图使用视图是使用SELECT语句来访问视图的数据。

sqlSELECT * FROM employee_summary;


###9. SQL 索引####9.1 创建索引创建索引是使用CREATE INDEX语句来定义一个索引。

sqlCREATE INDEX idx_name ON employees (name);


####9.2 使用索引使用索引是使用SELECT语句来访问索引的数据。

sqlSELECT * FROM employeesWHERE name = 'John Doe';


###10. SQL 触发器####10.1 创建触发器创建触发器是使用CREATE TRIGGER语句来定义一个触发器。

sqlCREATE TRIGGER trig_name BEFORE INSERT ON employeesFOR EACH ROW EXECUTE PROCEDURE my_function();


####10.2 使用触发器使用触发器是使用SELECT语句来访问触发器的数据。

sqlINSERT INTO employees (name, department) VALUES ('John Doe', 'Sales');


###11. SQL 存储过程####11.1 创建存储过程创建存储过程是使用CREATE PROCEDURE语句来定义一个存储过程。

sqlCREATE PROCEDURE my_procedure() ASBEGIN SELECT * FROM employees;END;


####11.2 使用存储过程使用存储过程是使用CALL语句来访问存储过程的数据。

sqlCALL my_procedure();


###12. SQL 函数####12.1 创建函数创建函数是使用CREATE FUNCTION语句来定义一个函数。

sqlCREATE FUNCTION my_function() RETURNS INTEGER ASBEGIN RETURN5;END;


####12.2 使用函数使用函数是使用SELECT语句来访问函数的数据。

sqlSELECT my_function();


###13. SQL 视图和索引####13.1 创建视图和索引创建视图和索引是使用CREATE VIEW和CREATE INDEX语句来定义一个视图和索引。

sqlCREATE VIEW employee_summary ASSELECT name, department, salaryFROM employees;

CREATE INDEX idx_name ON employees (name);


####13.2 使用视图和索引使用视图和索引是

其他信息

其他资源

Top