Mysql学习笔记--基础

一,SQL最重要的增删改命令格式

1,insert into 表名(不写这个括号里面的内容就默认所有字段都要添加) values() 插入单条数据

2,insert into 表名 (里面是列名) values(根据列名依次对应)()插入多条数据

删除

3,drop table 表名 删除表 删除数据库drop database 数据库名;

4,delete from 表名 where 条件 删除表中的数据一行的内容

5,alter table 表名 drop 字段名/约束 删除字段/约束

改,更新

6,rename 表名 to 新表名 更改表名 /alter table 旧表名 rename to 新表名

9,alter table 表名 change 旧字段名 新字段名 字段类型 约束

7,alter table 表名 modify 字段名 值 类型 约束

10,alter table 表名 add 字段名 类型 往表中添加字段

8,update 表名 set 字段=新值,字段2=新值 where条件 更改表数据

二,查询的基础知识

1,简单查询(快捷输入selw)

select 字段名 from 表名 where 条件

查询时可以对字段进行处理

select cid+1 from mytable where cname=‘家电’;

distinct 对查询的字段名进行去重处理

select distinct cname from mytable ;

2,模糊查询(_表示占一位,%匹配任意多个字符)

select * from user where cname like ‘_字%’

③非空查询 is null或is not null

select *

from mytable

where desc is null;

3,排序查询asc升序,desc降序

select *

from mytable

order by(cid) desc ;

同时对多个字段进行排序,当第一个排好了之后才对第二个进行排序

select * from mytable

order by cid desc ,cname desc;

4,聚合查询

count()统计指定列不为null的记录行数 select count(distinct cname) from mytable; 去重查询

sum()求指定列数值的总和

avg()求平均价格

max() ,min()最大,最小select max(cid),min(cid) from mytable;

5,分组查询(相同的可以分成一组)(where后面不能跟聚合函数)

分组的字段可以有多个,根据多个查询后,having可以进行条件判断

select *

from mytable

group by sex,desc having sex=‘男’;

6,分页查询(limit m,n;参数意思,索引值从0开始,查询5条数据)

select * from mytable limit 0,5;
表示从第0条数据开始1,每页查询5条数据

7,多表查询

内连接 select 字段,字段 from 表a inner/left/right join 表b on a.字段 = b.字段

select * from mytable inner join student s on mytable.cid = s.cid
内连接,左连接,右连接
基本区别:

8,外键约束

constraint foreign 从表(从表字段名) references 主表(主表主键)
例如:向表中添加主键约束
创建表后,使用alter table关键字添加主键 alter table 表名 add primary key(字段名);
删除主键约束 使用alter table关键字删除主键 alter table 表名 drop primary key;
例如:向表中添加外键约束
alter table 表名 add foreign 从表(从表字段名) reference 主表(主表主键字段)

注意:
当从表插入数据时,如果连接字段主表没有,则会报错(插入数据时,需要根据主键字段名来插入对应的值)

当删除主表主键字段时需要先删除从表中对的该字段,不然会报错。

9,case when 语法

case

when 条件判断 then条件成立,返回的值

when 条件判断 then条件成立,返回的值

else 返回的值

end as 别名

# 根据判断条件创建新的字段,拥有几个when就会分成多消耗类
select product_name,product_id,
case
    when units_in_stock>100 then '高'
when units_in_stock between 50 and 100 then '中'
    when  units_in_stock between 10 and 50 then  '低'
    else '无法判断'
END  AS nun
from  products
order by nun desc;

2,case when之后根据起的别名进行分组,更方便

3,case when和count(),将case when放入coutn()里面进行判断

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【qemu逃逸】华为云2021-qemu_zzz

前言 虚拟机用户名:root 无密码 设备逆向 经过逆向分析,可得实例结构体大致结构如下: 其中 self 指向的是结构体本身,cpu_physical_memory_rw 就是这个函数的函数指针。arr 应该是 PCI 设备类结构体没啥用,就直接用…

京东按关键词搜索商品列表接口:竞品分析,商品管理,营销策略制定

京东搜索商品列表接口是京东开放平台提供的一种API接口,通过调用该接口,开发者可以获取京东平台上商品的列表数据,包括商品的标题、价格、库存、月销量、总销量、详情描述、图片等信息。 接口的主要作用包括: 市场调研&#xff…

图形学及图形学进展

有段时间没有来CSDN了,最近一直忙于工作,最近图形学方面,特别是重建图形学方面有了比较大的进展,然后NeRF-SLAM向也有不少进展,但由于ChatGPT风光无限,光芒都没有发出来,后续还是继续创作&#…

华为MateBook X Pro笔记本录屏办法

现象:使用ev录屏软件时录不上耳机声音。在我自己的普惠、华硕笔记本上都没有这个问题。 解决办法,使用华为自己的录屏功能。具体如下: 1、找到‘华为控制中心’: 2、使用‘智慧快录’:

ideal一键部署SpringBoot项目jar包到服务器

一 简介 我们在开发环境部署项目一般通过ideal将项目打包成jar包,然后连接linux服务器,将jar手动上传到服务中,重启服务。 概括的说流程是这样的: 本地打包->上传到服务器->kill掉以前的服务->重新启动jar包服务 每次总是循环这一…

【c语言】贪吃蛇

当我们不想学习新知识的时候,并且特别无聊,就会突然先看看别人怎么写游戏的,今天给大家分享的是贪吃蛇,所需要的知识有结构体,枚举,以及easy-x图形库的一些基本函数就完全够用了,本来我想插入游…

Android选项卡TabHost

选项卡主要由TabHost(标签&#xff0c;主人)&#xff0c;TabWidget(微件)和FrameLayout3个组件组成&#xff0c;用于实现一个多标签页的用户界面。 1. TabHost在XML文件中添加&#xff1a; XML布局文件中添加选项卡时必须使用系统id来为各组件指定id属性。 <TabHostandro…

SAE 2.0,让容器化应用开发更简单

云原生容器化应用托管模式的演变 云原生这个概念从提出&#xff0c;到壮大&#xff0c;再到今天的极大普及&#xff0c;始终处于一个不断演进和革新的过程中。云原生体系下应用的托管形态是随着企业应用架构在不断演进的。最早的应用大多是集中式、单体式的&#xff0c;应用通…

深度学习之基于YoloV5-Deepsort人物识别与追踪系统

欢迎大家点赞、收藏、关注、评论啦 &#xff0c;由于篇幅有限&#xff0c;只展示了部分核心代码。 文章目录 一项目简介 二、功能三、系统四. 总结 一项目简介 YoloV5-Deepsort是一种基于深度学习的人物识别与追踪系统&#xff0c;具有较高的准确率和实时性能。 YoloV5是一种…

【hcie-cloud】【4】华为云Stack规划设计之华为云Stack标准组网【中】

文章目录 前言、华为云Stack交付综述华为云Stack标准组网标准组网架构HCS标准组网架构单核心VS双核心组网二层组网VS三层组网 单核心和双核心组网单核心组网设计和配置单核心组网 - 计算节点2网口单核心组网 - 计算节点4网口单核心组网 - 计算节点6网口单核心架构 - 多Region组…

Linux ----------------------- 文本处理工具

&#xff08;一&#xff09;绪论 awk、grep、sed和cut 是Linux 操作文本的四大利器&#xff0c;合称文本四大金刚&#xff0c;也是必须掌握的Linux 命令之一。这四个工具的功能各有侧重&#xff1a; awk&#xff1a;功能最强大&#xff0c;用于处理和格式化文本&#xff0c;可…

IntelliJ IDEA 如何修改默认Maven仓库地址

在使用idea过程中&#xff0c;每次新建项目或者打开项目时&#xff0c;maven仓库地址都会变为默认地址。如何修改默认地址&#xff0c;让其保持不变&#xff0c;如下这种方式可以简单快捷的设置。 1.打开idea&#xff0c;取消项目自动加载 2.点击 Customize,然后再点击 All se…

vSLAM中IMU预积分的作用--以惯性导航的角度分析

作为一个学过一点惯导的工程师&#xff0c;在初次接触视觉slam方向时&#xff0c;最感兴趣的就是IMU预积分了。但为什么要用这个预积分&#xff0c;在看了很多材料和书后&#xff0c;还是感觉模模糊糊&#xff0c;云里雾里。 在接触了vSLAM的更多内容后&#xff0c;站在历史研究…

JVM虚拟机:如何查看自己的JVM默认的垃圾回收器

只需要在程序运行的时候指定下面的参数就可以看到当前自己的JVM默认的垃圾回收器是什么&#xff1f;如下所示&#xff1a; 如上所示&#xff0c;默认使用的是G1回收器&#xff0c;这是我的电脑&#xff0c;因为我的电脑安装jdk的版本是1.9 如果你的jdk的版本是1.8&#xff0c;那…

11 抽象向量空间

抽象向量空间 向量是什么函数什么是线性推论向量空间 这是关于3Blue1Brown "线性代数的本质"的学习笔记。 向量是什么 可以是一个箭头&#xff0c;可以是一组实数&#xff0c;即一个坐标对。 箭头在高维&#xff08;4维&#xff0c;甚至更高&#xff09;空间&…

攻击者滥用日历服务作为 C2 基础设施

谷歌警告多个威胁参与者正在利用其日历服务作为命令和控制&#xff08;C2&#xff09;基础设施。 谷歌警告 称&#xff0c;多个威胁参与者共享一个名为“Google Calendar RAT”的公共概念验证&#xff08;PoC&#xff09;漏洞&#xff0c;该漏洞依赖日历服务来托管命令和控制&…

Redis-----SSM整合redis及redis的注解式开发以及redis的击穿,穿透,雪崩三种解决方案

目录 SSM项目整合Redis 导入pom依赖 配置文件spring-redis.xml redis.properties 配置redis的key生成策略 redis的注解式开发及应用场景 什么是redis的注解式 redis注解式的场景应用 Cacheable 自定义策略 Cacheable可以指定三个属性&#xff0c;value、key和condition…

每日汇评:黄金正在期待鲍威尔的讲话以获取新的方向动力

周三早盘&#xff0c;金价盘整了连续两天的跌势&#xff0c;等待鲍威尔发言&#xff1b; 美元在不同的美联储评论和风险偏好减弱的情况下寻求方向&#xff1b; 黄金价格确认了上升三角形的突破&#xff0c;但美债收益率较低可能会限制跌幅&#xff1b; 周二早些时候&#xf…

大数据中经常使用的指令:

1、Hadoop&#xff1a; 1、关闭Hadoop集群的安全模式&#xff1a; hdfs dfsadmin -safemode leave#查看集群的模式的状态&#xff1a; hdfs dfsadmin -safemode get 2、启动、关闭Hadoop集群&#xff1a; start-all.sh stop-all.sh 3、停止yarn中进程的命令&#xff1a; yar…

【ARM Trace32(劳特巴赫) 使用介绍 2 - Veloce 环境中使用trace32 连接 Cortex-M33】

文章目录 T32MARM 介绍Trace32 .t32 和 .cmm 差异veloce 下启动TRACE321.1.3 TAP 状态机操作命令1.1.3.1 IDCODE&#xff08;Identification Code&#xff09;寄存器 介绍 T32MARM 介绍 T32MARM 是 Lauterbach 的 Trace32 软件包的一部分&#xff0c;专门用于 ARM 基础架构的微…