【MySQL基础 | 第一篇】数据处理之基本查询

news/2024/12/4 3:48:29/

前言

查询语句属于DML(Data Manipulation Language)数据操作语言的其中一种,用于从数据库中提取所需的数据。通过灵活的条件和组合,查询语句帮助用户有效地获取、过滤和排序数据,满足各种信息需求。

在这里插入图片描述


文章目录

  • 前言
  • 1️⃣基本的SELECT语句
    • 1.1 选择全部列
    • 1.2 选择特定的列
    • 1.3 列的别名
    • 1.4 字符串
    • 1.5 显示表结构
  • 2️⃣过滤和排序数据
    • 2.1 过滤
    • 2.2 比较运算
    • 2.3 其他比较运算
    • 2.4 逻辑运算
    • 2.5 排序
  • 总结

在这里插入图片描述

1️⃣基本的SELECT语句

SELECT *|{[DISTINCT] column|expression [alias],...} FROM table;
  • SELECT 标识选择哪些列
  • FROM 标识从哪个表中选择

1.1 选择全部列

select * from city;

在这里插入图片描述

1.2 选择特定的列

select District,CountryCode from city;

在这里插入图片描述

注意:

  • SQL 语言大小写不敏感
  • SQL 可以写在一行或者多行
  • 关键字不能被缩写也不能分行
  • 各子句一般要分行写
  • 使用缩进提高语句的可读性

1.3 列的别名

  • 重命名一个列
  • 便于计算
  • 紧跟列名,也可以在列名和别名之间加入关键字:‘AS’,别名使用双引号,以便在别名中包含空格或特殊的字符并区分大小写
select address_name as address,address_code as code from dic_district;

在这里插入图片描述

select address_name as "Address",address_code as "Code" from dic_district;

在这里插入图片描述

1.4 字符串

  • 字符串可以是 SELECT 列表中的一个字符,数字,日
    期。
  • 日期和字符只能在单引号中出现
  • 每当返回一行时,字符串被输出一次
    在这里插入图片描述

1.5 显示表结构

  • 使用 DESCRIBE 命令,表示表结构
DESC[RIBE] tablename

在这里插入图片描述

2️⃣过滤和排序数据

2.1 过滤

  • 使用WHERE 子句,将不满足条件的行过滤掉
SELECT *|{[DISTINCT] column|expression [alias],...}
FROM table
[WHERE condition(s)];
  • WHERE 子句紧随 FROM 子句
    在这里插入图片描述
select * from city
where countrycode='AFG';

在这里插入图片描述

2.2 比较运算

操作符含义
=等于 (不是 ==)
>大于
>=大于、等于
<小于
<=小于、等于
<>不等于 (也可以是 !=)
select * from city
where Population > 2000000;

在这里插入图片描述

2.3 其他比较运算

操作符含义
BETWEEN…AND…在两个值之间 (包含边界)
IN(set)等于值列表中的一个
LIKE模糊查询
IS NULL空值
  • BETWEEN

使用 BETWEEN 运算来显示在一个区间内的值

select * from city
where Population BETWEEN 2100000 AND 2200000;

在这里插入图片描述

  • IN
    使用 IN运算显示列表中的值
select * from city
where countrycode IN ('AFG','BIH','BOL');

在这里插入图片描述

  • LIKE
  1. 使用 LIKE 运算选择类似的值
  2. 选择条件可以包含字符或数字:
    a、% 代表零个或多个字符(任意个字符)
    b、_ 代表一个字符
select * from city
where name like 'Saint%';

在这里插入图片描述

  • NULL
    使用 IS (NOT) NULL 判断空值
select * from country
where GNPOld is null;

在这里插入图片描述

2.4 逻辑运算

操作符含义
AND逻辑并
OR逻辑或
NOT逻辑否
  • AND
select * from city
where name like 'Saint%' 
and Population BETWEEN 100000 AND 130000;

在这里插入图片描述

  • OR
select * from city
where name like 'Saint%' 
OR Population BETWEEN 100000 AND 130000;

在这里插入图片描述

  • NOT
select * from city
where CountryCode not in ('AFG','BIH','BOL');

在这里插入图片描述

2.5 排序

使用 ORDER BY 子句排序:

  • ASC(ascend): 升序
  • DESC(descend): 降序

ORDER BY 子句在SELECT语句的结尾。

在这里插入图片描述
在这里插入图片描述

  • 按别名排序
select name,CountryCode,Population num 
from city
ORDER BY num DESC;

在这里插入图片描述

  • 多个列排序
select name,CountryCode,Population 
from city
ORDER BY CountryCode,Population DESC;

在这里插入图片描述


总结

会了以上方式,就可以对数据进行一些基本的查询了,而在实际开发当中,所有复杂的场景都是基于基本查询之上来完成的,所以基础很重要,正所谓基础不牢,地动山摇,加油小伙伴们~


在这里插入图片描述


http://www.ppmy.cn/news/544035.html

相关文章

egg 实现下载

egg 最简单的下载实现如下&#xff1a; async download(){const { ctx } this;const filePath /path/xmlctx.attachment(xml);ctx.set(Content-Type,application/octet-stream);ctx.boby fs.createReadStream(filePath) }加入 Content-Length 支持进度条和剩余时间 仅需这样…

e.target 和 e.currentTarget 的区别?

当你触发一个元素的事件的时候&#xff0c;该事件从该元素的祖先元素传递下去&#xff0c;此过程为捕获&#xff0c;而到达此元素之后&#xff0c;又会向其祖先元素传播上去&#xff0c;此过程为冒泡 addEventListener 介绍addEventListener是为元素绑定事件的方法&#xff0c;…

e.target 和 e.currentTarget 的区别

e.target 是触发事件的元素。 e.currentTarget 是绑定事件的元素。 如图&#xff0c;两个div嵌套&#xff08;黄色为parent&#xff0c;绿色为child&#xff09;&#xff0c;给parent绑定click事件。 <div class"parent" onclick"handlerClick">&l…

for_each用法示例

文章目录 前言示例demo 前言 由于偶然间发现for_each能使得避免使用for循环&#xff0c;大大简化了代码。这里简单记录下for_each的一个简单示例demo,方便温习。 示例demo #include <iostream> #include "vector" #include "algorithm"void myfun…

gets与fgets的区别

简单来说 gets——从标准输入接收一串字符&#xff0c;遇到’\n’时结束&#xff0c;但不接收’\n’&#xff0c;把 ‘\n’留存输入缓冲区&#xff1b;把接收的一串字符存储在形式参数指针指向的空间&#xff0c;并在最后自动添加一个’\0’。 getchar——从标准输入接收一个字…

getit

本逆向题还是源码分析&#xff0c;通过源码追出flag&#xff0c;下面步入正题 0x01源码分析 int __cdecl main(int argc, const char **argv, const char **envp) {char v3; // al__int64 v5; // [rsp0h] [rbp-40h]int i; // [rsp4h] [rbp-3Ch]FILE *stream; // [rsp8h] [rbp…

阶段性复习 迭代器, Lambda表达式, 泛型, 单例模式

迭代器&#xff08;Iterator&#xff09;是一种设计模式&#xff0c;用于顺序访问集合中的元素&#xff0c;而不需要了解集合内部的结构。 迭代器模式将元素的遍历行为和集合类解耦&#xff0c;使得可以在不修改集合类的情况下遍历集合。 具体来说&#xff0c;一个迭代器对…

遍历$.each()和$().each()用法

jQuery $.each(obj,function(n,value) 遍历用法 对象的遍历 js 代码部分 <script type"text/javascript">$(function() {var $tbody $("tbody");var html "";//前提必须是对象&#xff0c;一般情况下&#xff0c;后台传过来json字符串&…