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

2025/4/18 数据库相关基础知识

1.去掉重复行数据

 要点: 根据结果列进行重置值去除  语法:select distinct 列名1..  from 表名

select distinct name,gender from students where age>16;

首先根据where后面的条件查询筛选出 符合大于16岁的条件的行,然后回到前面的语句(select name,gender)知 是从选出的行中选定name,gender这两列 再通过前面的distinct可知 再从确定的那两列数据中去除重复的行

2.查询常数列

要点: 人为制造的一个值和一个列(多个值 多个列)  语法: select '常数值' as 列名 from 表名 

注意: 上面的列名原表是没有的 也就是要点里面说的人为制造的 不过值是固定的'常数值'

SELECT `ename` `员工姓名`,`salary` `工资`,'尚硅谷' AS company FROM `t_employee`;

以上代码中 常数值为 '尚硅谷' 字段名(列名)为 company 所以出现以下结果:

 3.关于NULL相关的

 NULL 运算任何值 = NULL   eg: 在salary为NULL bonus不为NULL的情况下 salary+bonus =   NULL  有点a/0 即使a不为0 整个算式也无意义的感觉

4.关于查看表结构的 

 要点: 使用命令查看表中的列和列的特征 语法: describe 表名/desc 表名 推荐desc 它是简写

5.关于过滤数据(条件查询)

要点: 就是对表的行数据进行筛选 筛选出符合条件的行 再进行结果列的查询!

语法: select 列名1... from 表名 where [条件1 and/or/orx 条件2]  这里orx是异或 

where 会返回 true|false 根据该结果选出符合条件的行

6.算数运算符

要点: + 加 - 减 *乘    除法: / 或者 div  取模: %或者mod   

注意: 1. /是浮点除法 即会保留小数(四舍五入)  div是整数除法 会去掉小数点后面的 

2. /0 不会抛出异常 结果是NULL(不像Java) 3. 和浮点类进行运算 结果也会是浮点类

7.比较运算符

要点:

1.等于对比 = 其不能做空判断 即 null = null 结果是false  <=> 是安全等于对比 可以进行空判断

即 null<=>null 结果是true <=>是MySql的方言  

2.不等于对比 <>  1<>2 结果是true  MySQL方言: !=  1!=1 结果是false

3.空值处理: is null 和 is not null 4.区间比较: between and 和 not between and

5.范围比较: key in (x,y,z)  即 key = x or key = y or key = z;   还有 key not in (x,y,z)

6.模糊匹配: like 和 not like   eg: 姓李的人: name like '李%';

8.逻辑运算符

AND/&& 逻辑且 NOT/! 否定值  OR/|| 逻辑或 XOR 逻辑异或 

注意点: false在SQL中展示的结果是0 true是1  eg: NOT 10  结果是0

逻辑运算符可以将多个条件拼接到一起 最终生成一个结果! 

9.find in set 函数可以替代like 模糊查询

要点: FIND_IN_SET(要查找的字符串,从哪个字符串查找)
SELECT * FROM t_employee WHERE FIND_IN_SET('北京',work_place);

结果是work_place中包含'北京'的成员的信息  如果反过来就完全不一样了

FIND_IN_SET(work_place,'北京') 是查找'北京' 中包含work_place的成员

10.运算符优先级

  第一阶梯: ()圆括号  MySql中 优先级最大的

  第二阶梯: 一元运算符 -(符号)、!(非)、~(按位反)等

  第三阶梯: 算法运算符  * / % DIV MOD 

  第四阶梯: 算数运算符 + - 

  第五阶梯: 比较运算符 = > != is like in ...

  第六阶梯: 逻辑运算符 and or xor 

 

http://www.xdnf.cn/news/330.html

相关文章:

  • 编程规范之整数运算
  • 进程间通信(IPC)----共享内存
  • 热蛋白质组分析技术(TPP)在前列腺癌治疗研究中的应用
  • c++ map与unordered_map的比较
  • 抖音“碰一碰发视频”源码搭建:碰一碰定制化开发
  • 西门子 博途 软件 崩溃
  • 接口自动化测试(二)
  • 不一样的flag 1(迷宫题)
  • 《软件设计师》复习笔记(11.2)——开发方法、产品线、软件复用、逆向
  • 从零实现Git安装、使用
  • Java 爬虫按关键字搜索淘宝商品:实现与优化
  • MARA/MARC表 PSTAT字段
  • [特殊字符] 当Docker遇上大模型:本地运行LLM的奇幻漂流 [特殊字符]
  • 高阶数据结构 图 (上)
  • UR5e机器人动力学
  • 大模型如何突破“知识盲区”?一场静悄悄的技术革命正在发生
  • [Vue3]动态引入图片
  • NHANES指标推荐:CMI
  • 阿里云服务器搭建开源版禅道
  • 高级工程师评审-隐藏的条件都有哪些
  • gitee提交大文件夹
  • MapWindow GIS:开源的GIS程序 库和工具,适用于基于C#和.NET的应用程序
  • 电路安全智控系统与主机安全防护系统主要功能是什么
  • Spring lazy-init 懒加载的原理
  • Vue自定义指令-防抖节流
  • 易派客九周年再启新程 数智赋能工业供应链高质量发展
  • 开发者调研:使用AI工具后需求交付效率提升210%
  • 安卓手机万能遥控器APP推荐
  • Qt 入门 5 之其他窗口部件
  • 2025年4月18日漏洞文字版表述一句话版本(漏洞危害以及修复建议),通常用于漏洞通报中简洁干练【持续更新中】,漏洞通报中对于各类漏洞及修复指南