DQL—数据库查询语言

查询语法

select

        字段列表

from

        表名列表

where

        条件列表

group by

        分组字段

having

        分组后条件

order by

        排序字段

limit

        分页限定

1.基础查询

查询多个字段

select 字段列表 from 表名;

select * from 表名;        //查询所有数据

去除重复记录

select distinct 字段列表 from 表名;

起别名

AS: AS也可以省略,使用一个空格隔开

2.条件查询

条件查询语法

select 字段列表 from 表名 where 条件列表;        // 注:条件中判断是否为NULL用 is 或者 is not 来判断

模糊查询like

通配符:

(1)_:代表单个任意字符

(2)%:代表任意个数字符

其他条件大致与编程语言相同,&&一般用and,||一般用or代替,<>为!=,判断是否==时则是使用单个=。

3.排序查询

select 字段列表 from 表名 order by 排序字段名1 [排序方式1], 排序字段名2 [排序方式2] …;

排序方式:

ASC:升序排列(默认)

DESC:降序排列

4.分组查询

聚合函数

概念:

        将一列数据作为一个整体,进行纵向计算。

聚合函数分类:

        count()        统计数量                //select count(*) from 表名;(查出表中有多少行数据)

        max()          最大值

        min()           最小值

        sum()          求和

        avg()           平均值

select 聚合函数名(列名) from 表;                // 注意NULL不参与运算

分组查询语法

select 字段列表 from 表名 [where 分组前条件限定] group by 分组字段名 [having 分组后条件过滤];

where 和 having 区别:

执行时机不一样:where 是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后对结果进行过 滤。

可判断的条件不一样:where 不能对聚合函数进行判断,having 可以。

5.分页查询

分页查询语法

select 字段列表 from 表名 limit 起始索引 , 查询条目数;

起始索引从0开始

计算公式:起始索引=(当前代码-1)*查询条目数

注:limit仅能在MySQL中使用

       Oracle用rownumber

       SQL Server用top

达梦数据库支持其自研的结构化查询语言 DM_SQL,该语言在功能和标准上与 SQL(结构化查询语言)高度兼容,并针对达梦数据库的特性和应用场景进行了扩展和优化。DM_SQL 支持包括数据定义、数据操作、数据查询、事务控制以及游标管理等多种操作[^1]。 ### DM_SQL 的主要功能特性包括: #### 数据定义语言(DDL) 用于定义和管理数据库对象,如表、视图、索引等。 ```sql CREATE TABLE employees ( id INT PRIMARY KEY, name VARCHAR(100), department VARCHAR(50) ); ``` #### 数据操作语言(DML) 用于操作数据库中的数据,包括插入、更新、删除等操作。 ```sql INSERT INTO employees (id, name, department) VALUES (1, '张三', '技术部'); UPDATE employees SET department = '市场部' WHERE id = 1; DELETE FROM employees WHERE id = 1; ``` #### 数据查询语言DQL) 用于从数据库中检索数据,支持复杂的查询条件、聚合函数、连接操作等。 ```sql SELECT name, department FROM employees WHERE department = '技术部'; ``` #### 事务控制语言(TCL) 用于管理事务的开始、提交和回滚操作,确保数据的一致性和完整性。 ```sql BEGIN TRANSACTION; -- 执行多个 DML 操作 COMMIT; -- 或者 ROLLBACK; ``` #### 游标管理 在嵌入式应用中,为了协调 DM_SQL 与主语言的数据处理方式,引入了游标的概念。游标允许逐行处理查询结果集,支持定义、打开、关闭和移动游标的操作。 ```sql DECLARE emp_cursor CURSOR FOR SELECT name, department FROM employees; OPEN emp_cursor; FETCH NEXT FROM emp_cursor; CLOSE emp_cursor; ``` #### 其他高级功能 达梦数据库还支持存储过程、触发器、函数等高级功能,进一步增强了 DM_SQL 的灵活性和扩展性。 ### 与其他 SQL 标准的兼容性 DM_SQL 在语法和功能上尽量与 SQL 标准保持兼容,同时也支持部分常见的 SQL 方言特性,方便用户从其他数据库系统迁移至达梦数据库。 此外,达梦数据库还提供了丰富的工具和接口,支持通过 JDBC、ODBC 等方式连接和操作数据库,进一步提升了其在不同开发环境中的适用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值