前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MySQL(DQL数据查询语句)

MySQL(DQL数据查询语句)

作者头像
全栈开发日记
发布2022-05-12 21:09:09
3.2K0
发布2022-05-12 21:09:09
举报
文章被收录于专栏:全栈开发日记全栈开发日记

基础查询

基础语法:

代码语言:javascript
复制
SELECT 查询字段列表(最后一个字段不加逗号) FROM 表名;

执行顺序:先执行 FROM 再执行SELECT

注意:

查询字段列表中:字段,函数,表达式,常量

查询结果是一张虚拟的二维表,不能对查询结果进行更新和删除。

查询常量

代码语言:javascript
复制
SELECT 1;

查询函数

代码语言:javascript
复制
SELECT VERSION();

表达式

代码语言:javascript
复制
SELECT 100+200;
SELECT 1>2;-- mysql中没有boolean类型,0代表false,1代表true

查询单个字段

代码语言:javascript
复制
SELECT name FROM temp_user;

多字段查询

代码语言:javascript
复制
SELECT * FROM temp_user;
SELECT name,sex FROM temp_user;-- 在企业开发过程中推荐使用

多个字段+常量+函数+表达式

代码语言:javascript
复制
SELECT name,sex,2,VERSION(),100+200,user_id*2 FROM temp_user;

IFNULL(参数1,参数2)

参数1放字段名,参数2放参数1字段为空时,你需要替换的值;

代码语言:javascript
复制
SELECT name,IFNULL(birthday,'未知') FROM temp_user;

别名设置 AS

关键字设置,别名可以用单引号括起来,也可以不加单引号;

代码语言:javascript
复制
SELECT name,IFNULL(birthday,'未知') AS 'birthday'FROM temp_user;

省去AS关键字,别名可以用单引号括起来,也可以不加单引号;

代码语言:javascript
复制
SELECT name,IFNULL(birthday,'未知') birthday FROM temp_user;

去重 DISTINCT

代码语言:javascript
复制
SELECT DISTINCT name FROM temp_user;

即将重复的name字段只显示一个;

字符拼接

在oracle和sqlserver中字符拼接直接用+可以拼接

语法:

代码语言:javascript
复制
CONCAT(字符1,字符2);--将字符1和字符2拼接

代码示例:

代码语言:javascript
复制
SELECT CONCAT('篮球',name) AS name FROM temp_user;

条件查询

语法结构:

代码语言:javascript
复制
 SELECT 查询字段列表 FROM 表名 WHERE 筛选条件;

筛选条件

1. 条件表达式:>,>=,<,<=,=,!=,<>,IS NULL(空) , IS NOT NULL (非空);

2. 逻辑表达式:AND(与),OR(或),NOT(非);

3. 模糊查询:LIKE,BETWEEN AND,IN

条件查询的执行顺序

1. from

2. where

3. select

条件表达式

查询年龄>18的运动员

代码语言:javascript
复制
SELECT * FROM temp_user WHERE age>18;

查询年龄不等于18

代码语言:javascript
复制
SELECT * FROM temp_user WHERE age!=18;

代码语言:javascript
复制
SELECT * FROM temp_user WHERE age<>18;

注意:对于NULL值的条件表达式,只能使用IS NULL或IS NOT NULL;

查询生日不为空的

代码语言:javascript
复制
SELECT * FROM temp_user WHERE birthday IS NOT NULL; --不为空
SELECT * FROM temp_user WHERE birthday IS NULL;--为空

注意:如果筛选条件中包含2个或以上个条件表达式,我们应该在条件表达式中间使用逻辑表达式;

查询年龄>18的并且生日不能为空

代码语言:javascript
复制
SELECT * FROM temp_user WHERE age>18 AND birthday IS NOT NULL;

查询年龄<=18 或生日为空的

代码语言:javascript
复制
SELECT * FROM temp_user WHERE age<=18 OR birthday is null; 
SELECT * FROM temp_user WHERE NOT(age>18 AND birthday IS NOT NULL);

模糊查询

模糊查询的语法:

代码语言:javascript
复制
SELECT 查询字段列表 FROM 表名 WHERE 字段名 LIKE '通配符+字符';

2种通配符

% 代表任意(0或多个)个任意字符

代码语言:javascript
复制
SELECT * FROM temp_user WHERE name LIKE 'kobe%';-- 查询以kobe开头的用户
SELECT * FROM temp_user WHERE name like '%kobe';-- 以kobe结尾的用户
SELECT * FROM temp_user WHERE name like '%kobe%';-- 包含kobe的用户

_ 代表1个任意字符,如果要表示_字符,使用\_

代码语言:javascript
复制
SELECT * FROM temp_user WHERE name like 'kobe_';
-- 是以kobe开头,但是应该是5个字符
SELECT * FROM temp_user WHERE name like '_kobe';
-- 以kobe结尾,前面只能有一个任意字符
SELECT * FROM temp_user WHERE name like '_kobe_';
-- 包含kobe,前后只能有一个字符
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 全栈开发日记 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 查询常量
  • 查询函数
  • 表达式
  • 查询单个字段
  • 多字段查询
  • 多个字段+常量+函数+表达式
  • IFNULL(参数1,参数2)
  • 别名设置 AS
  • 去重 DISTINCT
  • 字符拼接
  • 筛选条件
  • 条件查询的执行顺序
  • 条件表达式
  • 模糊查询
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档