mysql 模糊查询排序_07--MySQL自学教程:DQL(Data Query Language:数据库查询语言)简介、基础查询、条件查询、模糊查询以及排序(一)...

1. DQL(Data Query Language:数据库查询语言)知识点概览

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

用来查询数据(记录),不会对数据进行改变,而是让数据库发送结果集给客户端

概览:sql

9fcff3462ecf91a46038471c775c0597.png

2.基本语法

93bbccb4ce02b639fb3d07857e77504c.png

select 列名1,列名2…….列名n from 表名 where 条件 group by 列名 having 条件 order by 列名;数据库

这个SQL语句包含了DQL部分全部的查询知识点。简单点说,只要记住这句话,查询部分的语法基本就都掌握了。

下面咱们将对各个部分分开进行详细说明。svg

3.查询方法概览

31aebb6a7f099459c9f8bf7bbd5a447b.png

建立一个数据库和表格,方便查询演示。代码以下:spa

这里我是使用SQLyog建立的表格,使用cmd命令窗口也能够直接执行下列语句,后面的全部演示都是使用该软件写的,方便进行说明和注释.net

-- 建立数据库和表格方便演示使用

CREATE DATABASE queryDemo; -- 建立数据库queryDemo

USE queryDemo; -- 进入queryDemo数据库

-- 在queryDemo中建立表格demo1Student

CREATE TABLE demo1Student(id INT PRIMARY KEY AUTO_INCREMENT,NAME VARCHAR(20),age INT,score INT);

-- 插入数据

INSERT INTO demo1Student (NAME,age,score) VALUES ("张三",18,89);

INSERT INTO demo1Student (NAME,age,score) VALUES ("李四",23,77);

INSERT INTO demo1Student (NAME,age,score) VALUES ("王五",19,69);

INSERT INTO demo1Student (NAME,age,score) VALUES ("赵六",18,89);

INSERT INTO demo1Student (NAME,age,score) VALUES ("田七",20,92);

INSERT INTO demo1Student (NAME,age,score) VALUES ("小明",22,85);

INSERT INTO demo1Student (NAME,age,score) VALUES ("小红",25,97);

20d6dbd219777ab4de2dcc41f8384406.png

4.基础查询

17ce650ec8cc0b9d6d8b3a66e6709006.png

代码演示3d

-- 1.1查询全部列:

SELECT * FROM demo1Student;

-- 1.2查询指定列:

SELECT id,NAME FROM demo1Student;

SELECT NAME,age,score FROM demo1Student;

效果图:code

SELECT * FROM demo1Student;

f0473786f1b2d0f8bc24ec5e37a96202.pngxml

SELECT id,NAME FROM demo1Student;

64c5ee94f9db838dd437404159dc8ec2.pngblog

SELECT NAME,age,score FROM demo1Student;

89f344dc777fdb42d29dbc632573db64.png

5.条件查询

b0a92223f5b4d4f0ec367375d5d74a32.png

代码演示

-- 条件查询 运算符 关键字

-- 1.运算符 =、!=、<>、、>=;

-- 这些都是普通的数学运算符,就就不作说明了, <>:表示不等于

SELECT * FROM demo1Student WHERE id=5;

SELECT * FROM demo1Student WHERE age!=18;

SELECT * FROM demo1Student WHERE age<>18;

SELECT * FROM demo!student WHERE score>90;

SELECT NAME,age FROM demo1Student WHERE NAME="张三";

-- 2.BETWEEN…AND; IN(set); IS NULL; IS NOT NULL; AND;OR;NOT

-- 在...之间 与set集合交集 是否为空 是否为非空 而且 或 非

SELECT * FROM demo1Student WHERE id BETWEEN 2 AND 4; -- id在2到4之间的学生

-- in(set):指与数据库中数据与set的交集,得到包含有set中数据的记录(行)

SELECT * FROM demo1Student WHERE age IN(25,22,30);

SELECT * FROM demo1Student WHERE NAME IN ("小","张三","哈哈");

-- 检验null, 因此添加一个新数据

INSERT INTO demo1student VALUES (8,"小花",20,NULL);

SELECT * FROM demo1Student WHERE score IS NULL; -- 分数为空的学生

SELECT * FROM demo1Student WHERE score IS NOT NULL; -- 分数不为空的学生

SELECT * FROM demo1Student WHERE age=18 AND score>78;

SELECT * FROM demo1Student WHERE age=22 OR age=25;

SELECT * FROM demo1Student WHERE NOT age=18; -- age不是18岁的学生

运行结果:

运算符

SELECT * FROM demo1Student WHERE id=5;

972a5496fc002ed9e915b2c717056dd8.png

SELECT * FROM demo1Student WHERE age!=18;

21fbe87fde18b6d6918bf067ff46dc85.png

SELECT * FROM demo1Student WHERE age<>18;

7dba6b180ee52c211d696bf5ad22e8be.png

SELECT * FROM demo1student WHERE score>90;

7e3fb46f90ab980e22ed3b1380947196.png

SELECT NAME,age FROM demo1Student WHERE NAME=”张三”;

81832326720be2873b696e1e8e86d133.png

关键字

SELECT * FROM demo1Student WHERE id BETWEEN 2 AND 4; – id在2到4之间的学生

03152abf5e7f8fa5af60d60922cfe2dd.png

– in(set):指与数据库中数据与set的交集,得到包含有set中数据的记录(行)

SELECT * FROM demo1Student WHERE age IN(25,22,30);

41e30ca4f9642483afe80964a6771daa.png

SELECT * FROM demo1Student WHERE NAME IN (“小”,”张三”,”哈哈”);

d149c816bd5e51ceeb49ae771f169797.png

SELECT * FROM demo1Student WHERE score IS NULL; – 分数为空的学生

2e2e0d878eb754d511e799eb719687d8.png

SELECT * FROM demo1Student WHERE score IS NOT NULL; – 分数不为空的学生

f09fc1bfe103996629c723228f05a6d3.png

SELECT * FROM demo1Student WHERE age=18 AND score>78;

89073541ce217fa5833e2bb6a3c43096.png

SELECT * FROM demo1Student WHERE age=22 OR age=25;

9cf6fe4899be89c876b97183c1dae442.png

SELECT * FROM demo1Student WHERE NOT age=18; – age不是18岁的学生

9bda883e526f09c25ff67ddfd093e4c3.png

6.模糊查询

fdca764777cfcd0b6d6c030af215f653.png

代码演示

-- 3.模糊查询

-- _ 任意一个字符

SELECT * FROM demo1student WHERE age LIKE "2_";

SELECT * FROM demo1student WHERE age LIKE "_8";

SELECT * FROM demo1student WHERE NAME LIKE "小_";

-- %:任意0~n个字符

SELECT * FROM demo1student WHERE age LIKE "%8";

SELECT * FROM demo1student WHERE NAME LIKE "%小%";

运行结果

– _ 任意一个字符

SELECT * FROM demo1student WHERE age LIKE “2_”;

b12833d4da26c171f5c7226bbd7f9ca3.png

SELECT * FROM demo1student WHERE age LIKE “_8”;

e3d2e5aa4fb6c8fe3503f449d842cca8.png

SELECT * FROM demo1student WHERE NAME LIKE “小_”;

69edf87b2e64fe0009d8efca9d343810.png

– %:任意0~n个字符

SELECT * FROM demo1student WHERE age LIKE “%8”;

5cc7837431b1895e0fd0e9a3e8756fbd.png

SELECT * FROM demo1student WHERE NAME LIKE “%小%”;

20b6aeca532d4af2a513fc8852a30ccd.png

7.排序

394da7da2f00babb5a37eea89ec47695.png

代码演示

-- 4.排序order by

-- 升序asc

SELECT * FROM demo1student WHERE score>80 ORDER BY score ASC;

-- 降序desc

SELECT * FROM demo1student WHERE score>80 ORDER BY score DESC;

运行结果

– 升序asc

SELECT * FROM demo1student WHERE score>80 ORDER BY score ASC;

83ea834d684803fac53044db52d33c8f.png

– 降序desc

SELECT * FROM demo1student WHERE score>80 ORDER BY score DESC;

dfe2199497858e6ff69a9760f3ab1c21.png

8.其余四种排序见下节

c1ffcb7cdad2f4d390b9ad21e3f227fc.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值