MySQL——DQL(数据库查询语言)sql8.0版上

本文详细介绍了MySQL中的DQL,包括查询结果处理、函数运用、分组查询等方面。讲解了字符函数、逻辑函数、数学函数和日期函数的使用,如length()、concat()、IFNULL()、NOW()等,并探讨了WHERE、LIKE、BETWEEN等条件查询,以及UNION和UNION ALL操作。此外,还讨论了ORDER BY和LIMIT子句在数据排序和数量限制上的应用。
摘要由CSDN通过智能技术生成


DQL(Data Query Language)数据查询语言

数据查询语句是使用频率最高的一个操作,是可以从一个表中查询数据,也可以从多张表中进行关联查询数据。

基础语法:

SELECT 查询列表 FROM 表名 [WHERE 条件];

特点:
查询列表可以是:表中的字段、常量、表达式、函数
查询的结果是一个虚拟出的表格。

查询结果的处理

  1. 查询常量值(了解一下就行了,没啥用)
SELECT 100;

在这里插入图片描述

  1. 查询表达式

在SQL中可用的表达式有: +、-、*、/

SELECT 100*2

SELECT+5 FROM;
--例如:
SELECT height+5 FROM t_student;
--给查出的每一列数据都加上一个5

在这里插入图片描述

  1. 查询函数
SELECT 函数;

-- 例如:
SELECT VERSION();
-- 查看当前SQL的版本是多少

在这里插入图片描述

  1. 特定列查询
SELECT 列名1,列名2... FROM 表名;
  1. 全部列查询
SELECT * FROM 表名;
  1. 去除重复行查询

将查询出来的重复数据去掉,针对查询出来的结果,要求是查询出的所有列数据都要一样,才会去掉。

SELECT DISTINCT 列名1,列名2... FROM 表名;

使用函数对查询结果的处理

函数: 类似于Java中的方法,将一组逻辑语句事先在数据库中定义好,在需要使用的时候直接调用就好了,想调用now()函数一样。

优点:

  1. 隐藏了实现的细节
  2. 提高了代码的重用性

调用方式:

SELECT 函数名(实参列表)[from 表];

分类:

  1. 单行函数:如concat、lengthifnull等。
    就是查询出来的结果是多少行,这个函数就会对每一行的数据都进行处理操作。
  2. 分组函数:做统计使用,又称为统计函数、集合函数、组函数。
    也叫聚合函数;多行转为一行。

单行函数

字符函数


● length():获取参数值的字节个数。
一个中文3个字节。

-- 获得当前列名的字节各处
SELECT LENGTH(列名),列名 FROM 表名;

● char_length():获取参数值的字符个数。

-- 获取当前列名的字符个数。
SELECT CHAR_LENGTH(列名),列名 FROM 表名;

● concat(str1,str2,…):拼接字符串。
它可以将两个字符接在一起,以一个列进行发送。

SELECT CONCAT(str1,str2...) FROM 表名;

-- 例如:
-- 将两个列,通过字符的连接,以一个列进行了发送。
SELECT CONCAT(列名1,':', 列名2)AS name FROM 表名;
-- AS name 是对定义了一个别名(AS也是可以省略的)

● upper():将字符串变成大写

SELECT UPPER(列名) FROM 表名;

● lower():将字符串变为小写

SELECE LOWER(列名) FROM 表名;

● substring(str,pos,length):截取字符串,从位置pos位置开始。

SELECT SUBSTRING(列名,开始截取位置(从1开始),截取长度) FROM 表名;

● instr(str,指定字符):返回子串第一次出现的索引,如果找不到就返回0
类似于java中的indexof();

SELECT INSTR(列名,指定的字符) FROM 表名;

-- 例子:
SELECT INSTR('abcd','a');

在这里插入图片描述


● trim(str):去掉字符串前后的空格或子串。trim(指定子串from字符串)

-- 去掉字符前后的空格。
SELECT TRIM(列名) FROM 表名;

-- 去掉子串
SELECT TRIM(指定的子串 FROM 列名) FROM 表名;

-- 列子
SELECT TRIM('d' FROM 'abcd');

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值