【MySQL】MySQL基础知识详解(一)

MySQL

  • select
    • 列的别名
    • 去除重复行
    • 空值参与运算
    • 着重号
    • 查询常数
    • 显示表结构
    • 过滤数据
  • 排序
    • 使用 ORDER BY 对查询到的数据进行排序操作。
    • 使用列的别名,进行排序
    • 二级排序
  • 分页
    • LIMIT 分页显示公式:(当前页数减一)*每页条数,每页条数
    • 使用LIMIT句子好处

前言

洁洁的个人主页
我就问你有没有发挥!
知行合一,志存高远。

select

最基本的SELECT语句

# SELECT 字段1,字段2...FROM表名```sql
SELECT 1+1,2*2
此句运行结果·就是· 2,4
其实相当于·```sql
SELECT 1+1,2*2
FROM DUAL;#dual 伪表
SELECT *FROM employees
# * 代表表中所有的字段(列)

其中字段的名字要完全正确(及所写的字段的名字在表中存在,不可以写缩写等)

列的别名

SELECT personname name,personage AS age,personsex "sex"
FROM employees

第一种:
name就是 personname的别名
第二种
age就是personage的别名
as 英文全称 alias(别名),可以省略
第三种:
sex就是personsex的别名

注意:
不能使用单引号
日期时间,字符串类型的变量需要使用时使用一对 ’ '单引号

去除重复行

SELECT DISTINCT personage
FROM employees

只显示出一种年龄,比如有两个相同的年龄,经过此词语后只会留下一个年龄。
错误示范:

SELECT personname, DISTINCT personage
FROM employees 

personname没有去重,但是personage却去重了,导致无法通过

SELECT DISTINCT personname,  personage
FROM employees 

实际上对personname,personage两个都进行却重,不会报错,但没有实际·意义

空值参与运算

空值:NULL
空值不等同于0 或者 ‘ ’
空值参与运算时结果也一定为NULL
那么当字段中有NULL时怎么计算呢?
可以引入IFNULL函数
IFNULL(字段,0)
意思是如果 字段为NULL的话就会把其看作0

着重号

必须保证你到字段没有和保留字,数据库系统或常用方法冲突,如果坚持使用,请在sql语句中使用 ``引起来。
比如:

SELECT *FROM ORDER

ORDER 因为是一个排序的关键字,所以如果一运行会报错。
解决方法就是加上一对``

SELECT *FROM `order`

查询常数

就是在SELECT查询结果中增加一列固定的常数列,这列的取值是我们规定的,不是从数据表中动态取出的、作为常量出现

SELECT “xiaojiejie”,personage 
FROM employees; 

结果及在每一个年龄·前面都匹配填充上“xiaojiejie”

显示表结构

显示表中字段的详细信息

DESCRIBE employees;
#或者
DESC employees;

过滤数据

SELECT *
FROM employees
WHERE personage=12;

即只显示表中年龄为12的数据
同理

SELECT *
FROM employees
WHERE personname='xiaojiejie';

即只显示表中姓名为’xiaojiejie’的数据
因为‘xiaojiejie’是字符串,所以要用单引号
注意:‘xiaojiejie’ 由于Mysql的不严谨性,'xiaojiejie’的大小写不会区分。和不区分单引号,双引号一样。
但是在oracl 中就会区分。所以还是要严格按照sql的标准来执行学习。

排序

如果假如没有使用排序操作,默认情况下查询返回的数据是按照添加数据的顺序来显示的。

SELECT *FROM employees;

使用 ORDER BY 对查询到的数据进行排序操作。

升序:ASC(ascend)
降序:DESC(descend)
比如:
按照age从高到低的顺序进行排序

SELECT age
FROM person
ORDER BY age DESC;

按照age从低到高的顺序进行排序

SELECT age
FROM person
ORDER BY age ASC;

如果 ORDER BY age; 后面没有显示指定排序的方式的话,则默认按照升序排序。

SELECT age
FROM person
ORDER BY age;

使用列的别名,进行排序

SELECT age*12 agee
FROM person
ORDER BY agee;

注意:列的别名只能在ORDER BY 中使用,不能在WHERE 中使用
比如

SELECT age*12 agee
FROM person
WHERE agee > 10;
#会报错

那么·当同时出现WHERE 和ORDER BY时应该·怎么写呢?
格式强调:
WHERE的声明要写在FROM后,ORDER BY 之前

SELECT age
FROM person
WHERE age > 10
ORDER BY age;

二级排序

在对列进行排序的时候,首先排序的第一列必须有相同的列值,才会对第二列进行排序。
如果第一列的数据中所有值都是唯一的,将不再对第二列进行排序。
比如:
显示员工信息。按照age降序排列,salary的升序排列

SELECT name,age,salary
FROM person
ORDER BY age,salary ASC;

分页

LIMIT 分页显示公式:(当前页数减一)*每页条数,每页条数

SELECT *
FROM table
LIMIT (pageNo-1)*pageSize,pageSize;

例如
显示前10条记录:

SELECT *
FROM table
LIMIT 0,10

显示第11条到20条记录:

SELECT *
FROM table
LIMIT 10,10

显示第21条到20条记录:

SELECT *
FROM table
LIMIT 20,10

注意:在mysql8.0当中,可以使用“LIMIT 3 OFFSET 4”
意思是从第5条记录开始,向后获取3条记录。与“LIMIT 4,3”结果一样。
注意:LIMIT子句一定要放在整个SELECT语句的最后面。

使用LIMIT句子好处

约束返回结果的数量可以减少数据表的网络传输量,也可以提升查询效率。如果我们知道返回结果只有一条,就可以使用LIMIT 1
告诉SELECT 语句只需要返回一条记录即可。这样的好处就是SELECT语句不需要扫描完整的表,只需要检索到一条符合条件的记录即可返回。

文章到此结束啦,欲知后事如何,请看下篇!😘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/43677.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【AIGC】 快速体验Stable Diffusion

快速体验Stable Diffusion 引言一、安装二、简单使用2.1 一句话文生图2.2 详细文生图 三、进阶使用 引言 stable Diffusion是一款高性能的AI绘画生成工具,相比之前的AI绘画工具,它生成的图像质量更高、运行速度更快,是AI图像生成领域的里程碑…

【100天精通python】Day41:python网络爬虫开发_爬虫基础入门

目录 专栏导读 1网络爬虫概述 1.1 工作原理 1.2 应用场景 1.3 爬虫策略 1.4 爬虫的挑战 2 网络爬虫开发 2.1 通用的网络爬虫基本流程 2.2 网络爬虫的常用技术 2.3 网络爬虫常用的第三方库 3 简单爬虫示例 专栏导读 专栏订阅地址:https://blog.csdn.net/…

【玩转Linux操作】crond的基本操作

🎊专栏【玩转Linux操作】 🍔喜欢的诗句:更喜岷山千里雪 三军过后尽开颜。 🎆音乐分享【Counting Stars 】 欢迎并且感谢大家指出小吉的问题🥰 文章目录 🍔概述🍔命令⭐常用选项 🍔练…

软件-常用软件系统架构

目录 1.客户端-服务器架构 2.分布式架构 3.微服务架构 4.事件驱动架构 5.单体架构 6.混合架构 当我们谈论系统架构时,可以将其比喻为一座房子的设计和结构,想象一下你计划建造一座豪华别墅,你需要考虑各种因素:如房子的大小…

linux下常见编译问题

linux下常见编译问题 linux-cmake静态编译查看系统支持的的libc版本查看程序需要的动态链接库查看程序需要的libc版本freebsd下 linux-cmake静态编译 CMakeLists.txt 添加 set(CMAKE_EXE_LINKER_FLAGS "-static")ELF 64-bit LSB executable, AMD x86-64, version 1…

【微服务】一文了解 Nacos

一文了解 Nacos Nacos 在阿里巴巴起源于 2008 2008 2008 年五彩石项目(完成微服务拆分和业务中台建设),成长于十年双十一的洪峰考验,沉淀了简单易用、稳定可靠、性能卓越的核心竞争力。 随着云计算兴起, 2018 2018 20…

编程练习(3)

一.选择题 第一题: 函数传参的两个变量都是传的地址,而数组名c本身就是地址,int型变量b需要使用&符号,因此答案为A 第二题: 本题考察const修饰指针变量,答案为A,B,C,D 第三题: 注意int 型变…

13---内嵌HTML和React

虽然Markdown本身不支持内嵌HTML和React&#xff0c;但可以在Markdown文档中直接插入HTML代码和React组件。 一、在markdown中内嵌HTML 在Markdown中&#xff0c;你可以使用HTML标签来实现更复杂的样式和布局。例如&#xff0c;你可以使用<div>标签来创建一个容器&#…

算法与数据结构(五)--树与二叉查找树

符号表的增删查操作&#xff0c;随着元素个数N的增多&#xff0c;其耗时也是线性增多的&#xff0c;时间复杂度都是O(n)&#xff0c;为了提高运算效率&#xff0c;我们学习树这种数据结构。 目录 一.树的基本定义 二.树的相关术语 三.二叉树的基本定义 四.二叉树的链表实现…

Thinkphp定义位置常量

ThinkPHP 是一个流行的 PHP 开发框架&#xff0c;它提供了丰富的功能和便捷的开发方式。在 ThinkPHP 中&#xff0c;我们可以使用常量来定义一些通用的配置信息或路径&#xff0c;以便于代码的维护和管理。在本文中&#xff0c;我们将探讨 ThinkPHP 中定义位置常量的作用和用法…

leetcode 279. 完全平方数

2023.8.18 与零钱兑换相似&#xff0c;本题属于完全背包问题&#xff1a;完全平方数为物品&#xff0c;整数n为背包。 直接上代码&#xff1a; class Solution { public:int numSquares(int n) {vector<int> dp(n1 , INT_MAX);dp[0] 0;for(int i1; i*i<n; i){for(in…

时序预测 | MATLAB实现WOA-CNN-BiGRU鲸鱼算法优化卷积双向门控循环单元时间序列预测

时序预测 | MATLAB实现WOA-CNN-BiGRU鲸鱼算法优化卷积双向门控循环单元时间序列预测 目录 时序预测 | MATLAB实现WOA-CNN-BiGRU鲸鱼算法优化卷积双向门控循环单元时间序列预测预测效果基本介绍模型描述程序设计参考资料 预测效果 基本介绍 时序预测 | MATLAB实现WOA-CNN-BiGRU鲸…

干翻Dubbo系列第十二篇:Dubbo协议介绍

文章目录 文章说明 一&#xff1a;Dubbo协议 1&#xff1a;Dubbo协议简介 2&#xff1a;Dubbo协议优点 3&#xff1a;Dubbo协议帧的组成 (一)&#xff1a;幻数 (二)&#xff1a;2Way (三)&#xff1a;event (四)&#xff1a;Serilization ID (五)&#xff1a;status …

每日一题 142环形链表||(快慢指针)

题目 给定一个链表的头节点 head &#xff0c;返回链表开始入环的第一个节点。 如果链表无环&#xff0c;则返回 null。 如果链表中有某个节点&#xff0c;可以通过连续跟踪 next 指针再次到达&#xff0c;则链表中存在环。 为了表示给定链表中的环&#xff0c;评测系统内部…

深入理解【二叉树】

&#x1f4d9;作者简介&#xff1a; 清水加冰&#xff0c;目前大二在读&#xff0c;正在学习C/C、Python、操作系统、数据库等。 &#x1f4d8;相关专栏&#xff1a;C语言初阶、C语言进阶、C语言刷题训练营、数据结构刷题训练营、有感兴趣的可以看一看。 欢迎点赞 &#x1f44d…

Java中的异常

认识异常 异常就是程序出现的问题&#xff1b; Integer.valueOf("aaaa"); 异常体系 因为写代码时经常会出现问题&#xff0c;Java的设计者们早就为我们写好了很多个异常类&#xff0c;来描述不同场景下的问题。而有些类是有共性的所以就有了异常的继承体系 Error&…

日志采集分析ELK

这里的 ELK其实对应三种不同组件 1.ElasticSearch&#xff1a;基于Java&#xff0c;一个开源的分布式搜索引擎。 2.LogStash&#xff1a;基于Java&#xff0c;开源的用于收集&#xff0c;分析和存储日志的工具。&#xff08;它和Beats有重叠的功能&#xff0c;Beats出现之后&a…

OLED透明屏采购指南:如何选择高质量产品?

着科技的不断进步&#xff0c;OLED透明屏作为一种创新的显示技术&#xff0c;在各个行业中得到了广泛应用。 在进行OLED透明屏采购时&#xff0c;选择高质量的产品至关重要。在这篇文章中&#xff0c;尼伽将为您提供一个全面的OLED透明屏采购指南&#xff0c;帮助您了解关键步…

day20 飞机大战射击游戏

有飞行物类 飞行 爆炸 的连环画&#xff0c; 飞行的背景图 &#xff0c; 子弹图&#xff0c; 还有游戏开始 暂停 结束 的画面图。 设计一个飞机大战的小游戏&#xff0c; 玩家用鼠标操作hero飞行机&#xff0c; 射出子弹杀死敌机&#xff0c;小蜜蜂。 敌机可以获得分数&…

Jmeter参数化类型

1.参数在多个请求报文中出现&#xff0c;执行一次需要使用同一个参数--随机生成(随机变更) 2.参数在请求报文中出现&#xff0c;执行过程需要使用同一个参数(--固定参数) 3.参数从指定几个固定中随机获取一个 4.参数从本地文件中获取 5.参数在多个请求报文中出现&#xff0c;每…