当前位置: 首页 > news >正文

数据库 第一章 MySQL(3)

目录

SQL

DQL

语法:  

实例

基础查询

单行函数

 字符函数

实例

逻辑处理

实例

 数学函数

实例

 日期函数

日期格式​编辑

实例


SQL


DQL

DQL(Data Query Language)数据查询语言,查询是使用频率最高的一个操作, 可以从一个表中查询数据,也可以从多个表中查询数据。


语法:  

  • 特点:                      select 查询结果 from 表名 where 条件;
  •  查询结果可以是:    表中的字段、函数 查询的结果是一个虚拟的表格
  • 查询结果处理:     

                   查询特定列:    select column1,column2 from table

                   全部列查询: select * from table 处理函数:select 函数 from table;

  • 查询结果处理( 函数分类):

                    单行函数:如concat、length、ifnull等,会对查询的每行进行处理

                    分组函数:做统计使用,又称为统计函数、分组函数,会将多行处理为一行


实例

-- dql  查询语法
-- selet 基本语法结构 selet 查询结果 from 表名 where 条件
-- 查询语句是不会影响数据库中的数据的,查询的结果是临时备份
select name,birthday from  basketballplayer
-- 查询所有列的数据
select * from basketballplayer position = '中锋'
-- 查询结果中使用函数, as 别名
select id,name,char_length(name)as name_length from  basketballplayer

-- 查询结果处理
-- 查询指定列,查询所有的列
-- 查询结果使用函数进行处理
-- 函数又分为 单行函数: 函数会对每行查询的数据进行查询  分组函数 

基础查询


单行函数

 字符函数
  • length(): 获取参数值的字节个数
  • char_length()获取参数值的字符个数
  • concat(str1,str2,.....):拼接字符串
  • upper()/lower():将字符串变成大写/小写
  • substring(str,pos,length):截取字符串 位置从1开始
  •  trim(str):去掉字符串前后的空格或子串,trim(指定子串 from 字符串)
  •  replace(str,old,new):替换,替换所有的子串
    实例
-- length() 返回字节长度, 一个中文长度,一个中文占3个字节,英文字符占一个字节
select name,length(name)as nl,char_length(name) as nll from basketballplayer

-- sql + - * / 只能用作算术运算
-- concat(...)
select concat(id,':',name)as name from basketballplayer
-- UPPer(name)转大写,lower(name)转小写
select upper(name),lower(name) from basketballplayer
-- substring(列,开始的位置,截取长度) 注意开始的位置从1开始
select substring(name,1,1) from basketballplayer
-- trim() 默认是去除前后空格
select name,char_length(trim(name)) from basketballplayer
-- trim('#' from name) 去掉前后指定的字串
select trim('丹' from name)from basketballplayer
-- replace()复制并粘贴
select id,replace(name,'-','·')from basketballplayer
逻辑处理

  • case when 条件 then 结果1 else 结果2 end;

注:可以有多个when ifnull(被检测值,默认值)函数检测是否为null,如果为null,则返回指定的值,否则返回 原本的值

  • if函数:if else的 效果 if(条件,结果1,结果2)
实例
-- 逻辑处理
-- case  when 条件 then  else
select id,name,
           (case when height>=190 then '高个子' 
                 when height>=180 then '正常' else '非高个子' end)as height
           from basketballplayer
 -- ifnu11(列,默认值")检测指定列的值是否为空,如果为空显示默认值
select id,name, ifnull(position,'暂未录入信息')as position from basketballplayer
-- if(条件,结果1,结果2)
select id,name,if(height>=200,'高个子','非高个子')as height from basketballplayer
 数学函数
  • round(数值):四舍五入
  • ceil(数值):向上取整,返回>=该参数的最小整数
  • floor(数值):向下取整,返回<=该参数的最大整数
  • truncate(数值,保留小数的位数):截断,小数点后截断到几位
  • mod(被除数,除数):取余,被除数为正,则为正;被除数为负,则为负
实例
-- 数学函数 

select id,name,round(height),truncate(height,1) from basketballplayer
 日期函数
  • now():返回当前系统时间(年月日时分秒)
  • curdate():返回当前系统日期(年月日)
  • date_format(日期列,格式):将日期转换为指定格式
  • datediff(big,small):返回两个日期相差的天数
日期格式
实例
select id,name,now(),curdate() from  basketballplayer  

select id,name,date_format(birthday,'%Y') from basketballplayer

select id,name from basketballplayer where date_format(birthday,'%Y') = '1978'    
 
select id,name,datediff(curdate(),birthday)from basketballplayer  

相关文章:

  • LeetCode算法题(Go语言实现)_23
  • 9对象树(3)
  • 组合数学——排列与组合
  • 24.3 CogView3多模态生成实战:从API调优到1024高清图像生成全解析
  • 使用 Provider 和 GetX 实现 Flutter 局部刷新的几个示例
  • oracle 分组函数
  • STM32单片机入门学习——第3-4节: [2-1、2]软件安装和新建工程
  • Netty——心跳监测机制
  • 【Java 优选算法】哈希表
  • 基于springboot+vue的动漫交流与推荐平台
  • Zookeeper经典应用场景实战
  • 【GPT入门】第29课 对比不同的langchain ReAct代理的思考过程
  • C嘎嘎类里面的额函数
  • 一文详细讲解Python(详细版一篇学会Python基础和网络安全)
  • 安卓Q以下自定义文字的字体
  • LVGL Dropdown和Calendar详解
  • 机器学习 第一章 绪论
  • 算法 | 蜣螂优化算法(DBO)在无人机路径规划中的应用(附matlab源码)
  • 单机快速部署开源、免费的分布式任务调度系统——DolphinScheduler
  • VuePress 和 Docusaurus的对比
  • 王毅会见美国亚洲协会会长康京和
  • 钟睒睒:不反对代工,但农夫山泉目前所有产品是无法代工的
  • 聚焦智能浪潮下的创业突围,“青年草坪创新创业湃对”走进北杨人工智能小镇
  • 中国证监会副主席李明:目前A股估值水平仍处于相对低位
  • 全国游泳冠军赛:孙杨、潘展乐同进400自决赛,今晚将正面对决
  • 没有握手,采用翻译:俄乌三年来首次直接会谈成效如何?