MySQL(B站CodeWithMosh)——2024.10.10(13)

news2024/11/27 14:47:45

ZZZZZZ目的
ZZZZZZ代码
ZZZZZZ重点
ZZZZZZ操作(非代码,需要自己手动)

2- 字符串函数 | String Functions_哔哩哔哩_bilibiliicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1UE41147KC?p=56&vd_source=eaeec77dfceb13d96cce76cc299fdd08

  1. LENGTH:得到字符串中的字符数
    SELECT LENGTH('sky')

    输出为3
  2. UPPER:将字符串转化成大写
    LOWER:将字符串转成小写

    SELECT UPPER('sky')

    输出SKY
    SELECT LOWER('Sky')
    输出sky
  3. LTRIM:移除左侧的空白字符或其他自定义字符
    SELECT LTRIM('    Sky')

    输出Sky
    RTRIM:移除右侧的空白字符或其他自定义字符
    SELECT LTRIM('Sky    ')
    输出Sky
    TRIM:删除前面或者后面的空格
    SELECT TRIM('     Sky    ')
    输出Sky
  4. LEFT:返回左侧的几个字符
    RIGHT:返回右侧的几个字符

    SELECT LEFT('Kindergarden', 4)
    输出Kind
    SELECT LEFT('Kindergarden', 4)
    输出rten
  5. SUBSTRING:得到一个字符串中任何位置的字符
    SELECT SUBSTRING('Kindergarden', 3, 5)
    输出nderg,代码中的3代表从第三个开始,代码中的5表示输出5个字符,如果只填写一个3,表示输出从第三个开始后的所有字符
  6. LOCATE:返回第一个字符或者一串字符串匹配位置
    SELECT LOCATE('n','Kindergarden')
    输出为3,无论是输入大写还是小写,结果都是一样的,这个LOCATE查找不区分大小写
    SELECT LOCATE('Q','Kindergarden')
    输出为0
    SELECT LOCATE('garden','Kindergarden')
    输出为7
  7. REPLACE:替换一个字符或者一串字符
    SELECT REPLACE('Kindergarten', 'garten', 'garden')
    输出为Kindergarden,将garten换为garden
  8. CONCAT:串联两个字符串
    SELECT CONCAT('first', 'last')
    输出firstlast
    将sql_store表中的first_name和last_name连接起来,中间要用空格隔开
    USE sql_store;
    SELECT CONCAT(first_name, ' ', last_name)
    FROM customers

    以上是常见的函数,想要更多函数可以在网上搜索MySQL String Functions

3- MySQL中的日期函数 | Date Functions in MySQL_哔哩哔哩_bilibiliicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1UE41147KC?p=57&vd_source=eaeec77dfceb13d96cce76cc299fdd08

  1.  NOW:输出现在电脑上的时间,具体到几分几秒
    SELECT NOW()
    输出为2024-10-10 19:35:18
    CURDATE:Current Date缩写,输出电脑上的年月日
    SELECT CURDATE()
    输出为2024-10-10
    CURTIME:Current Time缩写,输出电脑上的时分秒
    SELECT CURTIME()
    输出为19:38:56
  2. YEAR、MONTH、DAY、HOUR、MINUTE、SECOND分别可以获取特定的年、月、日、时、分和秒
    SELECT YEAR(CURTIME()), MONTH(CURTIME()), DAY(CURTIME()),
           HOUR(CURTIME()), MINUTE(CURTIME()), SECOND(CURTIME())

    输出分别为2024,10,10,19,42,23
    DAYNAME、MONTHNAME:获取字符串格式的星期数和月数
    SELECT DAYNAME(CURTIME()), MONTHNAME(CURTIME())

    输出为Thursday,October
  3. EXTRACT:想要把代码录入别的DBMS,最好用EXTRACT函数
    SELECT EXTRACT(YEAR FROM NOW()), EXTRACT(MONTH FROM NOW()), EXTRACT(DAY FROM NOW())
    输出为2024,0,0

【练习题】
输出sql_store中当年的订单

USE sql_store;
SELECT *
FROM orders
WHERE YEAR(order_date) = YEAR(NOW())

思路是获取订单日期的年份,然后获取现在的年份,将两者进行对比,输出两者相等的订单

4- 格式化日期和时间 | Formatting Dates and Times_哔哩哔哩_bilibiliicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1UE41147KC?p=58&vd_source=eaeec77dfceb13d96cce76cc299fdd08

  1. DATE_FORMATE:输出符合某种格式的时间,需要用日期值和格式字符串
    %y:返回两位数的年
    %Y:返回四位数的年
    %m:返回数字月
    %M:返回应为单词月
    %d:返回日

    SELECT DATE_FORMAT(NOW(), '%M %y')
    输出为October 24
    其他的时间函数可以在网上搜索Mysql Date Format String

5- 计算日期和时间 | Calculating Dates and Times_哔哩哔哩_bilibiliicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1UE41147KC?p=59&vd_source=eaeec77dfceb13d96cce76cc299fdd08

  1. DATE_ADD:给日期添加时间
    SELECT DATE_ADD(NOW(), INTERVAL 1 DAY)
    输出为2024-10-11 20:12:35
    SELECT DATE_ADD(NOW(), INTERVAL -1 DAY)
    输出为2024-10-09 20:12:45
  2. DATE_SUB:在一个日期时间值上减去日期部分
    SELECT DATE_SUB(NOW(), INTERVAL 1 DAY)
    输出为2024-10-09 20:13:45
  3. DATEDIFF:计算两个日期的间隔
    SELECT DATEDIFF('2019-01-05 09:00', '2019-01-01 17:00')
    输出为4,注意DATEDIFF只返回天数,不返回小时什么的
    SELECT DATEDIFF('2019-01-01 17:00', '2019-01-05 09:00')
    输出为-4
  4. TIME_TO_SEC:返回从零点计算的秒数
    SELECT TIME_TO_SEC('09:00')
    输出为32400
    SELECT TIME_TO_SEC('09:00') - TIME_TO_SEC('09:02')
    输出为-120

6- IFNULL和COALESCE函数 | The IFNULL and COALESCE Functions_哔哩哔哩_bilibiliicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1UE41147KC?p=60&vd_source=eaeec77dfceb13d96cce76cc299fdd08

  1. 在sql_store中,输出没有shipper_id的订单,并将NULL改为Not assigned,并把这一列改名为shipper
    SELECT order_id, IFNULL(shipper_id, 'Not assigned') AS shipper 
    FROM orders
  2. 在sql_store中,输出没有shipper_id的订单。如果有该订单有注释(comments),则用注释来代替NULL,如果没有,那么用Not assigned来代替
    SELECT order_id, COALESCE(shipper_id, comments, 'Not assigned') AS shipper 
    FROM orders

【练习题】
输出下面的图片


SELECT CONCAT(first_name, ' ', last_name) AS customer, I
                                FNULL(phone, 'Unknown') AS phone
FROM customers

7- IF函数 | The IF Function_哔哩哔哩_bilibiliicon-default.png?t=O83Ahttps://www.bilibili.com/video/BV1UE41147KC?p=61&vd_source=eaeec77dfceb13d96cce76cc299fdd08

  1. IF(expression, first, second)IF函数可以输入一个测试用的表达式expression,如果这个表达式被判为真,则返回first这个位置的值,否则返回second这个位置的值,first和second这里可以是任何值,可以是NULL,空值什么的
  2. 根据orders表格,将里面所有的订单旁边都有一个标签”status“,如果订单是今年的,就叫active(活跃的),如果是以前的,就叫archived(存档),并输出订单id,订单日期和status
    SELECT order_id, order_date, IF(YEAR(NOW()) = YEAR(order_date), 'active', 'archived') AS status
    FROM orders

【练习题】
输出下面的图片,其中,orders是每个订单的产品数,frequency是根据orders决定的,如果某个产品被多次订购,那么就是Many times,如果不是。那就输出Once


SELECT p.product_id AS product_id, name, COUNT(o.order_id) AS orders,
               IF(COUNT(o.order_id) = 1, 'Once', 'Many times') AS frequency
FROM products p
JOIN order_items o USING (product_id)
GROUP BY p.product_id

这里IF后面不能用SELECT orders,个人认为是因为SELECT orders返回的是一个根据GROUP BY的分组值,而不是一个值

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

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

相关文章

网络协议——IP协议

一、IPv4 1、IPv4:TCP/IP协议规定,IPv4地址使用32位的二进制表示,也就是4个字节,为了方便使用,IPv4地址被写成十进制形式,中间用”.”分开。 【点分十进制表示法】 2、IPv4地址分类 2.1 私有地址在互联网…

怎么理解Contextual-Retrieval ?(顺手讲一下prompt-cache)

最近这个其实提的人挺多的,Graph RAG的火爆已经是上上个月的事了,其实我之前就讲过,Graph RAG是解决什么问题的,它也没法绝对替代传统RAG 之前关于Graph-RAG的文章 你为什么要用GraphGAG?(qq.com) 详解MS的GraphRAG的实…

Pr 视频效果:元数据和时间码刻录

视频效果/视频/元数据和时间码刻录 Video/Metadata & Timecode Burn-in 元数据和时间码刻录 Metadata & Timecode Burn-in效果是一种在视频画面上叠加显示剪辑元数据或时间码的工具。它允许在导出视频时,将需用的元数据信息直接刻录在画面上,方便…

情绪识别数据集(包含25w张图片) yolo格式类别:八种训练数据已划分, 识别精度:90%

情绪识别数据集(包含25w张图片) yolo格式 类别:Anger、Contempt、Disgust、Fear、Happy、Neutral、Sad、Surprise 八种 训练数据已划分,配置文件稍做路径改动即可训练。 训练集:171010 验证集:54060 测试集:27550 共计…

软考《信息系统运行管理员》- 4.3 信息系统软件运维的过程

4.3 信息系统软件运维的过程 文章目录 4.3 信息系统软件运维的过程日常运维日常运维的内容日常运行例行测试维护例行测试流程的关键点例行维护流程的关键点 定期测试维护 缺陷诊断与修复信息系统软件缺陷的概念信息系统软件缺陷的分类信息系统软件缺陷诊断与修复流程缺陷诊断与…

Excel中使用SQL语句的四种方法

总结在 Excel 中使用 SQL 语句的四种方法,各种方法都有各自的适用场景,可以选择自己熟悉的或喜欢方式。本文以在 Excel 中操作 MS SQL 数据库的数据为例进行说明。MS SQL 的数据如下,使用微软 SQLExpress 版本。 方法 1: Excel 现…

2024年软件设计师中级(软考中级)详细笔记【3】数据结构(下)(分值5分)

上午题第3章数据结构下部目录 前言第3章 数据结构【下】(5分)3.5 查找3.5.1 查找的基本概念【考点】3.5.2 静态查找表的查找方法3.5.3 动态查找表3.5.4 哈希表3.5.4.1 哈希表的定义3.5.4.2 哈希函数的构造方法3.5.4.3 处理冲突的方法 3.6 排序3.6.1 排序的基本概念3.6.2 简单排…

第二阶段:mysql(学完就隐藏版)

第一章:部署数据库系统(注意关闭防火墙,selinux安装) 安装mysql配置的相关文件:yum install https://dev.mysql.com/get/mysql80-community-release-el7-5.noarch.rpm(centos9:yum install http…

前端高频面试题2024/9/22(偏项目问题--通用后台管理系统)

文章目录 一.前端项目概述1.系统登录注册模块1.对注册的密码进行加密 (使用加密中间件bcrypt.js)2.登录成功后返回token3.前端登录页面有用到弹性布局,ref和reactive4.登录头像:文件上传 2.系统设置模块2.系统首页模块&#xff08…

Golang | Leetcode Golang题解之第472题连接词

题目: 题解: type trie struct {children [26]*trieisEnd bool }func (root *trie) insert(word string) {node : rootfor _, ch : range word {ch - aif node.children[ch] nil {node.children[ch] &trie{}}node node.children[ch]}node.isE…

ES-入门-http-多条件查询范围查询

must 表示多个条件需要同时满足 在postman 对应的参数配置如下 {"query": {"bool": {"must" : [{"match" :{"category":"小米"}},{"match":{"price":3999.00}}]}} } 如下图查询的结果是需…

JAVA科技赋能共享台球室无人系统小程序源码

科技赋能共享台球室无人系统 —— 智慧台球新体验 🎱 科技引领,台球室迎来无人新纪元 在这个日新月异的科技时代,共享经济的浪潮席卷而来,为我们的生活带来了诸多便利。而今天,我要为大家介绍的,正是科技…

便民医疗服务小程序后端springboot 服务 vue3 开发的后端 系统设计与实现

博主介绍:专注于Java(springboot ssm springcloud等开发框架) vue .net php phython node.js uniapp小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆…

基于Springboot+Vue的智能推荐旅游平台 (含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统中…

初学Qt之环境安装与 hello word

环境: Qt Creator 4.11.0 (Community) Qt 5.14.0 目录 1.Qt环境配置 1.1 下载Qt 5.14.0 1.2 注册Qt账号 1.3 安装Qt 1.4 配置环境变量 2.创建项目 2.1 创建一个项目 2.2 初始代码解析 2.3 可视化GUI ​编辑 2.4 hello word 2.4.1 可视化hello word …

探索光耦:光耦助力高速电吹风安全与性能的革命性提升

在消费者对家电产品智能化与安全性需求日益增长的今天,高速电吹风作为个人护理领域的明星产品,正经历着前所未有的技术创新。其中,光耦(光电耦合器)的引入,无疑为电吹风的性能优化与安全保障开辟了新路径。…

Java基础(下)

泛型 Java 泛型&#xff08;Generics&#xff09; 是 JDK 5 中引入的一个新特性。使用泛型参数&#xff0c;可以增强代码的可读性以及稳定性。 编译器可以对泛型参数进行检测&#xff0c;并且通过泛型参数可以指定传入的对象类型 ArrayList<Person> persons new Arra…

【linux】冯诺依曼架构

&#x1f525;个人主页&#xff1a;Quitecoder &#x1f525;专栏&#xff1a;linux笔记仓 目录 01.冯诺依曼体系结构02.操作系统&#xff08;Operator System&#xff09;如何理解“管理”操作系统中实现“管理的先描述再组织” 03.系统调用与库函数系统调用库函数 01.冯诺依…

SSM(5)(动态sql <if>、<where>、返回主键值)

返回主键值&#xff1a; 方法一&#xff1a; useGeneratedKeys 为ture 声明 返回主键 keyProperty 表示要返回的值 封装到对象的属性中 但是这一种方法不支持Orcal数据库。 <insert id"save2" parameterType"com.findyou.entity.User" useGenerated…

[软件工程]—TFTP协议简要解析

TFTP协议简要解析 1.TFTP基本概念 TFTP&#xff08;Trivial File Transfer Protocol&#xff09;&#xff1a;是一个很小且易于实现的文件传送协议&#xff1a; TFTP使用客户服务器方式和使用UDP数据包&#xff0c;因此TFTP需要有自己的差错改正机制。TFTP只支持文件传输而不…