MySQL基础 一,基础查询,条件查询,排序查询

MySQL基础 (SQLyog) 学习笔记整理——DQL基础查询、条件查询、排序查询 阅读详情

本单元目标

一、为什么要学习数据库**
二、数据库的相关概念
DBMS、DB、SQL
三、数据库存储数据的特点
四、初始MySQL
MySQL产品的介绍
MySQL产品的安装 ★
MySQL服务的启动和停止 ★
MySQL服务的登录和退出 ★
MySQL的常见命令和语法规范
五、DQL语言的学习 ★
基础查询 ★
条件查询 ★
排序查询 ★
常见函数 ★
分组函数 ★
分组查询 ★
连接查询 ★
子查询 √
分页查询 ★
union联合查询 √

六、DML语言的学习 ★
插入语句
修改语句
删除语句
七、DDL语言的学习
库和表的管理 √
常见数据类型介绍 √
常见约束 √
八、TCL语言的学习
事务和事务处理
九、视图的讲解 √
十、变量
十一、存储过程和函数
十二、流程控制结构

##数据库的好处
1.持久化数据到本地
2.可以实现结构化查询,方便管理

##数据库相关概念
1、DB:数据库,保存一组有组织的数据的容器
2、DBMS:数据库管理系统,又称为数据库软件(产品),用于管理DB中的数据
3、SQL:结构化查询语言,用于和DBMS通信的语言

##数据库存储数据的特点
1、将数据放到表中,表再放到库中
2、一个数据库中可以有多个表,每个表都有一个的名字,用来标识自己。表名具有唯一性。
3、表具有一些特性,这些特性定义了数据在表中如何存储,类似java中 “类”的设计。
4、表由列组成,我们也称为字段。所有表都是由一个或多个列组成的,每一列类似java 中的”属性”
5、表中的数据是按行存储的,每一行类似于java中的“对象”。

MySQL产品的介绍和安装

MySQL服务的启动和停止
方式一:计算机——右击管理——服务
方式二:通过管理员身份运行
net start 服务名(启动服务)
net stop 服务名(停止服务)

MySQL服务的登录和退出
方式一:通过mysql自带的客户端
只限于root用户

方式二:通过windows自带的客户端
登录:
mysql 【-h主机名 -P端口号 】-u用户名 -p密码

退出:
exit或ctrl+C

MySQL的常见命令

1.查看当前所有的数据库
show databases;
2.打开指定的库
use 库名
3.查看当前库的所有表
show tables;
4.查看其它库的所有表
show tables from 库名;
5.创建表
create table 表名(

列名 列类型,
列名 列类型,
。。。
);
6.查看表结构
desc 表名;
7.查看服务器的版本
方式一:登录到mysql服务端
select version();
方式二:没有登录到mysql服务端
mysql --version
或
mysql --V

MySQL的语法规范

1.不区分大小写,但建议关键字大写,表名、列名小写
2.每条命令最好用分号结尾
3.每条命令根据需要,可以进行缩进 或换行
4.注释
单行注释:#注释文字
单行注释:-- 注释文字
多行注释:/* 注释文字 */

###SQL的语言分类
DQL(Data Query Language):数据查询语言
select
DML(Data Manipulate Language):数据操作语言
insert 、update、delete
DDL(Data Define Languge):数据定义语言
create、drop、alter
TCL(Transaction Control Language):事务控制语言
commit、rollback

SQL的常见命令

show databases; 查看所有的数据库
use 库名; 打开指定 的库
show tables ; 显示库中的所有表
show tables from 库名;显示指定库中的所有表
create table 表名(
	字段名 字段类型,	
	字段名 字段类型
); 创建表

desc 表名; 查看指定表的结构
select * from 表名;显示表中的所有数据

DQL语言的学习

进阶1,基础查询
一,语法
select 查询列表
from 表名;
二、特点
1、查询列表可以是字段、常量、表达式、函数,也可以是多个
2、查询结果是一个虚拟表

三、示例
1、查询单个字段
select 字段名 from 表名;
2、查询多个字段
select 字段名,字段名 from 表名;
3、查询所有字段
select * from 表名
4、查询常量
select 常量值;
注意:字符型和日期型的常量值必须用单引号引起来,数值型不需要
5、查询函数
select 函数名(实参列表);
6、查询表达式
select 100/1234;
7、起别名
①as
②空格
8、去重
select distinct 字段名 from 表名;

9、+
作用:做加法运算
select 数值+数值; 直接运算
select 字符+数值;先试图将字符转换成数值,如果转换成功,则继续运算;否则转换成0,再做运算
select null+值;结果都为null

10、【补充】concat函数
功能:拼接字符
select concat(字符1,字符2,字符3,…);

11、【补充】ifnull函数
功能:判断某字段或表达式是否为null,如果为null 返回指定的值,否则返回原本的值
select ifnull(commission_pct,0) from employees;

12、【补充】isnull函数
功能:判断某字段或表达式是否为null,如果是,则返回1,否则返回0

进阶2,条件查询
一、语法
select 查询列表
from 表名
where 筛选条件

二、筛选条件的分类
1、简单条件运算符

< = <> != >= <= <=>安全等于
2、逻辑运算符
&& and
|| or
! not
3、模糊查询
like:一般搭配通配符使用,可以判断字符型或数值型
通配符:%任意多个字符,_任意单个字符

在这里插入图片描述
一,按条件表达式筛选

案例1:查询工资大于12000的员工信息

SELECT
	*
FROM
	`employees`
WHERE
	salary>12000;

案例2:查询部门编号不等于90号的员工名和部门编号

SELECT 
	`last_name`,
	`department_id`
FROM
	`employees`
WHERE
	`department_id`<>90;

二,按照逻辑表达式筛选

案列1:查询工作z在10000到20000之间的员工名,工资以及奖金

SELECT
	`last_name`,
	`salary`,
	`commission_pct`
FROM
	`employees`
WHERE
	salary>=10000 AND salary<=20000;

案例2:查询部门编号不是在90到110之间,或者工资高于15000的员工信息

SELECT
	*
FROM
	`employees`
WHERE
	`department_id`<90 OR `department_id`>110 OR `salary`>15000;

三,模糊查询

案列1:查询员工名字中包含字符a的员工信息

SELECT
	*
FROM
	`employees`
WHERE
	`last_name` LIKE '%a%';

案列2:查询员工名中第三个字符为e,第五个字符为a的员工名和工资

SELECT
	`last_name`,
	`salary`
FROM
	`employees`
WHERE
	`last_name` LIKE '__n_l%';

案列3:查询员工名字第二个字符为_的员工名

SELECT
	`last_name`
FROM
	`employees`
WHERE
	`last_name` LIKE '__%';

2,between and

案列1:查询员工编号在100至120之间的员工信息

SELECT
	*
FROM
	`employees`
WHERE
	`employee_id`>100 AND `employee_id`<120
#----------------------------------------------------
SELECT
	* 
FROM
	`employees`
WHERE
	`employee_id` BETWEEN 100 AND 120

3,in
含义:判断某字段的值是否属于in列表中的某一项
案列:查询员工的工种编号是 IT_PROG,AD_VP,AD_PRES中的一个员工名和工种

SELECT
	`last_name`,
	`job_id`
FROM
	`employees`
WHERE
	job_id IN (‘IT_PROT’,’AD_VP‘,’AD_PRES‘);

4,is null
案列1:查询没有奖金的员工和奖金率

SELECT
	`last_name`,
	`commission_pct`
FROM
	`employees`
WHERE
	`commission_pct` IS NULL;

案列1:查询有奖金的员工和奖金率

SELECT
	`last_name`,
	`commission_pct`
FROM
	`employees`
WHERE
	`commission_pct` IS NOT NULL;

安全等于 <=>

案列1:查询没有奖金的员工名和奖金率

SELECT
	`last_name`,
	`commission_pct`
FROM
	`employees`
WHERE
	`commission_pct` <=>NULL;

案列2:查询工资为12000的员工信息

SELECT
	`last_name`,
	`salary`
FROM
	`employees`
WHERE
	`salary`<=> 12000;

#is null pk <=>

IS NULL:仅仅可以判断NULL值,可读性较高
<=> :既可以判断NULL值,又可以判断普通的数值 可读性较低

2,查询员工号为176的员工的姓名和部门号和年薪

SELECT
	`last_name`,
	`department_id`,
	salary*12*(1+IFNULL(commission_pct,0)) AS 年薪
FROM
	`employees`

进阶3:排序查询

语法:
select
	要查询的东西
from
	表
where 
	条件

order by 排序的字段|表达式|函数|别名 【asc|desc】

案例1:查询员工信息,要求工资从高到低排序

#从高到低
SELECT * FROM `employees` ORDER BY salary DESC;
#从低到高
SELECT * FROM `employees` ORDER BY salary ASC;

注意:
1,asc代表的是升序,desc代表的是降序
如果不写,则默认是升序
案例2:查询部门编号>=90的员工信息,按入职时间的先后进行排序

SELECT *
FROM `employees`
WHERE `department_id`>=90
ORDER BY `hiredate` ASC

案列3:按年薪的高低显示员工的信息和年薪(表达式排序)

SELECT *,`salary`*12*(1+IFNULL(`commission_pct`,0)) 年薪
FROM `employees`
ORDER BY `salary`*12*(1+IFNULL(`commission_pct`,0)) DESC;


SELECT *,`salary`*12*(1+IFNULL(`commission_pct`,0)) 年薪
FROM `employees`
ORDER BY 年薪 DESC;

案例5:按姓名的长度显示员工的姓名和工资(按函数排序)

SELECT LENGTH(last_name) 字节长度,last_name,salary
FROM employees
ORDER BY LENGTH(last_name) DESC;

案例6:查询员工信息,要求先按工资排序,再按员工编号排序

SELECT *
FROM `employees`
ORDER BY salary ASC,employee_id DESC;

测试
1.查询员工的姓名和部门号和年薪,按年薪降序按姓名升序,

SELECT `last_name`,`department_id`,`salary`*12*(1+IFNULL(`commission_pct`,0)) 年薪
FROM `employees`
ORDER BY 年薪 DESC,`last_name` ASC;

2.选择工资不在8000到17000的员工的姓名和工资,按工资降序,

SELECT `last_name`,`salary`
FROM `employees`
WHERE `salary` NOT BETWEEN 8000 AND 17000
ORDER BY `salary` DESC;

3.查询邮箱中包含e的员工信息,并先按邮箱的字节数降序,再按部门号升序,

SELECT *,LENGTH(email)
FROM `employees`
WHERE email LIKE '%e%'
ORDER BY LENGTH(email) DESC,`department_id` ASC;
Android Audio基础——系统服务(二) AudioService 继承自 IAudioService.Stub。IAudioService.Stub 类很明显是通过 IAudioService.aidl 自动生成的。AudioService 位于 Binder Native 端。AudioManager 拥有 AudioService 的 Binder Proxy 端,是 AudioService 在客户端的一个代理。几乎所有客户端对 AudioManager 进行的请求,最终都会交由 AudioService 实现。 阅读详情

相关推荐

LabView实战:精准实现float到十六进制的转换与高低位拆分

本文详细讲解了在LabVIEW中实现单精度浮点数(float)到十六进制字符串转换,并进行高低16位拆分的实战方法。针对工业通信中设备协议要求,核心使用强制类型转换(Type Cast)获取内存原始数据,避免数值转换错误,并提供了完整的VI构建步骤、交叉验证技巧及常见踩坑经验(如字节序、字符串格式),确保数据通信的准确性。

assembly8low的博客 1767

mysql条件查询,如果第一个为空就去查第二个

最近有个需求 ,查询一条sql,查询的默认条件是当前时间,如果当前时间为空的话,就去查数据表中最新日期的数据 同理:比如查一个学生表,条件是name = 张三,如果张三为空的话,默认让他去查name = 李四 废话不多 直接上sql select * from a where if((select count(*) from a where name="张三")>0,name ="张三",name="李四"); 就是这样简单,如果对你有帮助,点个赞告诉下我 ~ ...

小栋哟 4745

Frenet坐标系下动态街道场景的最优轨迹生成

本文详细解读了Lattice Planner

BigDavid123的博客 2392

在mysql查询使用中加判断语句根据条件查询哪个表举例子说明

这些示例演示了如何根据条件在 MySQL 中选择不同的表进行查询。你可以根据自己的实际需求调整条件和表名。语句根据条件来选择查询不同的表。在这个语句中,根据条件选择不同的子查询,实现查询不同的表。是你的判断条件,如果条件满足,就查询。在 MySQL 中,可以使用。

qq_33192454的博客 742

别再死记硬背GNN公式了!用PyTorch Geometric从零实现一个GraphSAGE(附完整代码)

本文通过PyTorch Geometric从零实现GraphSAGE模型,深入解析图神经网络的核心原理与实战应用。文章提供完整代码示例,涵盖环境配置、邻居采样、信息聚合等关键步骤,帮助开发者掌握图表示学习技术,避免陷入公式推导的困境。适合希望将GNN应用于实际项目的中级开发者和学生。

weixin_42530570的博客 347

Mplus实战:如何用交叉滞后面板模型(CLPM)分析心理学纵向数据?

本文提供了在Mplus软件中应用交叉滞后面板模型(CLPM)分析心理学纵向数据的实战指南。文章详细拆解了CLPM的核心概念、Mplus语法框架,并涵盖从基础的两变量模型到多变量、潜变量建模的扩展,以及结果解读与常见陷阱规避,旨在帮助研究者利用这一经典工具有效探索变量间的动态预测关系。

weixin_29253711的博客 405

MySQL高级SQL语句(上)

通配符主要用于替换字符串中的部分字符,通过部分字符的匹配将相关结果查询出来。 通常通配符都是跟 LIKE 一起使用的,并协同 WHERE 子句共同来完成查询任务。(增、删、改、查)对MySQL数据库的查询,除了基本的查询外,有时间需要对查询结果集进行处理。列如只取10条数据、对查询结果进行排序或分组等等。 查询学生信息按兴趣id降序排列 通过 SQL 查询出来的结果,还可以对其进行分组,使用 GROUP BY 语句来实现 ,GROUP BY 通常都是结合聚合函数一起使用的,常用的聚合函数包括:

gcc001224的博客 1146

前端实现微信扫一扫的思路

本篇文章的关键点就是讲解了我在实现处理多张二维码的场景时的思路,利用canvas遮挡识别过的二维码这个思路是pbk-bin大佬最先想到的,在实现这个需求以后还是很感叹这个思路的巧妙。👏pbk-bin🎁~如果文章对你有帮助,不妨赠人玫瑰,手有余香,预计将会在下篇更新较为完整的微信扫一扫界面和功能。

fang_my的博客 2488

9.排序查询(select from where order by(asc|desc))

进阶三:排序查询 引入: SELECT * FROM 表名; /* 语法: select * from table where 筛选条件 order by 排序列表 asc|desc(默认升序) 支持多个字段,单个字段,表达式,函数,别名 order by一般放在最后, limit子句除外 */ # 案例: 查询员工信息从薪水高到低显示 #select * from table order by salary desc SELECT * FROM employees ORDE

SLSLSLSLSLSLS的博客 8744

详解Agent Skills:让AI拥有更多专业能力(什么是Agent Skills?如何创建?如何使用?如何获取?)

本文分享如何将零散指令沉淀为可复用的 AI 能力模块🧩,介绍什么是Agent Skills?如何创建?如何获取?📚

XiaoqiangClub的博客 1270

IDCNBSAIS-财务报表功能范围取值管理费用、销售费用、研发费用排除指定科目的实现

研究了很多方法,没有办法实现,只在营业费用增加一个冲抵项解决,也咨询了外部顾问说要建立自建表。限于需要马上修正后面只能用了最最low的办法处理了一下。公司遇到的一个问题,目前报表有些项目是按照功能范围取值的,发现取多了。IDCNBSAIS-财务报表功能范围取值管理费用、销售费用、研发费用排除指定科目的实现。最后结果是正确的,但是总觉得有更好的办法,不知道有没有高人可以指点一下?建立一个调整项的目录,在每个节点做了调整。除了研发费用做了冲抵在以下每个节点都做了冲抵。为财务报表定义表格结构。

nopicture的博客 1493

条件查询+排序查询操作(MySQL)

目录前言简单条件运算符逻辑运算符模糊查询likebetween andinis null / is not null 前言 介绍MySQL的基础查询操作我们选择使用可视化软件Navicat,对应的数据库使用了某公司员工数据库,该数据库包含员工信息表、部门信息表、公司地址信息表、工作职业信息表。 语法:select 查询列表 from 表名 where 筛选条件;\color{Red}语法:select \ 查询列表 \ from \ 表名 \ whe

taoxing 1947

Python爬虫实战:构建高可用静态网页爬虫 - 以 Quotes 网站数据采集为例!

我长期专注 Python 爬虫工程化实战,主理专栏 《Python爬虫实战》:从采集策略到反爬对抗,从数据清洗到分布式调度,持续输出可复用的方法论与可落地案例。内容主打一个“能跑、能用、能扩展”,让数据价值真正做到——抓得到、洗得净、用得上。

喵手的博客 461

一、mysql数据库的相关概念、基础查询、条件查询、排序查询

参考url:https://www.bilibili.com/video/BV12b411K7Zu 1、为什么学习数据库   实现数据持久化   使用完整的管理系统统一管理,易于查询 2、数据库的相关概念   DB:数据库(database),存储数据的‘仓库’,它保存了一系列有组织的数据。   DBMS:数据库管理系统(Database Management System),数据库是通过DBM...

Norni的博客 175

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

一、MySQL查询学习笔记(基础查询、条件查询、排序查询、常见函数、分组查询 详解)

DQL语言的学习 1:基础查询 语法: SELECT 要查询的东西 【FROM 表名】; 类似于Java中 :System.out.println(要打印的东西); 特点: ①通过select查询完的结果 ,是一个虚拟的表格,不是真实存在 ② 要查询的东西 可以是常量值、可以是表达式、可以是字段、可以是函数 2:条件查询 条件查询:根据条件过滤原始表的数据,查询到想要的数据 语法: select...

zep 851

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

mysql数据库的排序关键字_一、mysql数据库的相关概念、基础查询、条件查询、排序查询...

1、为什么学习数据库实现数据持久化使用完整的管理系统统一管理,易于查询2、数据库的相关概念DB:数据库(database),存储数据的‘仓库’,它保存了一系列有组织的数据。DBMS:数据库管理系统(Database Management System),数据库是通过DBMS创建和操作的容器。SQL:结构化查询语言(Structure Query Language):专门用来与数据库通信的语言。SQ...

weixin_42302763的博客 1063

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

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

1. DQL(Data Query Language:数据库查询语言) 基础查询 条件查询 模糊查询 排序

Java仗剑走天涯 3661

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

1. DQL(Data Query Language:数据库查询语言)知识点概览DQL(Data Query Language:数据库查询语言):web用来查询数据(记录),不会对数据进行改变,而是让数据库发送结果集给客户端概览:sql 2.基本语法 select 列名1,列名2…….列名n from 表名 where 条件 group by 列名 having 条件 order by 列名;数据...

weixin_34731217的博客 179

MySQL 查询常用操作(0) —— 查询语句的执行顺序

mysql查询常用方式

weixin_52437323的博客 303

MySQL基础篇 | 简单的查询、条件查询、排序查询

MySQL 【第二篇】 简单的查询、条件查询、排序查询

m0_61933976的博客 3090

【MySQL | 基础】查询语句(简单、条件、排序、聚合、分组、限制)

有关查询语句的总结。具体有:简单查询,条件查询,排序查询,聚合查询,分组查询,限制查询。

翼同学 2150

mysql基础_01_基础查询、条件查询、排序、函数、分组查询

mysql基础_查询一、 基础查询1. 基础查询2. 起别名3. 去重( DISTINCT )4. + 号运算符5. 查询结果连接 ( CONCAT )6. 显示表结构(DESC)二、 条件查询 一、 基础查询 1. 基础查询 格式: SELECT (查询列表) FROM (表名) 查询列表可以是:表中的字段、常量信息、表达式、函数; 查询的结果是一张虚拟的表,并不会创建其他表; 查询字段 可以...

田磊的博客 1025

MySql 条件,排序查询

一、MySql基础查询 查询表中的某个字段 select 字段名 from 表名; 查询表中的多个字段 select 字段名1, 字段名2,... from 表名; 查询表中所有的字段 select *from 表名; 查询常量值 select 值; //select 100; select "zhansan"; 查询表达式 select 数字 运算符 数字; //select 100%98; 查询函数 select 函数名(); //select version(

芒种、的博客 621

MySQL ORDER BY:对查询结果排序和MySQL WHERE:条件查询数据

通过条件查询语句可以查询到符合用户需求的数据,但是查询到的数据一般都是按照数据最初被添加到表中的顺序来显示。为了使查询结果的顺序满足用户的要求,MySQL 提供了 ORDER BY 关键字来对查询结果进行排序。在实际应用中经常需要对查询结果进行排序,比如,在网上购物时,可以将商品按照价格进行排序;在医院的挂号系统中,可以按照挂号的先后顺序进行排序等。ORDER BY 关键字主要用来将查询结果中的数据按照一定的顺序进行排序。语法说明如下。ASCDESCASC。

m0_37449634的博客 2774

【MySQL】查询语句:条件、排序和分页

MySQL 数据库使用SELECT语句来查询数据。一般情况下,除非需要使用表中所有的字段数据,最好不要使用通配符‘*’。使用通配符虽然可以节省输入查询语句的时间,但是获取不需要的列数据通常会降低查询和所使用的应用程序的效率。

m0_72895175的博客 2067
上一篇: NameNode和SecondaryNameNode(面试开发重点)
下一篇: MySQL基础 二,
王乐乐0727
博客等级 码龄16年 127粉丝 57原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值