sql入门基础-2

Dml语句 对数据的增删改查

关键字

Insert增

Update删

Delete改

添加数据

给指定字段添加数据

Insert into 表明 (字段名1,字段名2) values(值1,值2);

给全部字段添加数据--(根据位置对应添加到字段下)

Insert into 表名 values(值1,值2);

添加多条数据--(一次添加两条)

Insert into 表名 values (值1,值2),(值1,值2);

修改数据---不带where则所有的字段更改

                                           唯一值作为条件-id

Update 表名 set 字段名=1 ,字段名=2 .... where 条件

Updae usertable set name=”王五” where id = 1 ;

根据条件删除  ---不携带where则删除表里所有数据

delete from 表名 where 字段=值

DQL--数据库查询语言

关键字 select

 

# 创建表
create table userTable (
    id int comment '唯一值',
    workno varchar(10) comment '工号',
    name varchar(50) comment '姓名',
    gender char(1) comment '性别',
    age tinyint comment '年龄',
    idcard varchar(18) comment '身份证号',
    worknoaddress varchar(50) comment '工作地址',
    entrydate date comment '入职时间'
) comment '员工表';

# 查询当前表 所有字段 字段值类型  默认值等
desc usertable;

# 批量添加           字段                                                    值
insert into userTable(id, workno, name, gender, age, idcard, worknoaddress, entrydate)
values (1,'1','柳岩','女',18,'123123123123123123','武汉','2023-6-26'),
       (2,'2','张无忌','男',20,'123123123123123123','天龙八部','2022-7-26'),
       (3,'3','韦一笑','男',18,'123123123123123123','天龙八部','2021-7-26'),
       (4,'4','周芷若','女',25,null,'天龙八部','2023-7-26'),
       (5,'5','谢逊','男',88,'12312312312312312x','天龙八部','2023-3-26'),
       (6,'6','张三丰','女',100,'123123123123123123','天龙八部','2023-2-26'),
       (7,'7','刘亦菲','女',18,'123123123123123123','武汉','2023-7-26')
       ;




# 查询
select * from usertable;


# ------查询需求------------------------DQl基础查询------

# 基本查询
# --1.查询指定字段-name workon age
select name ,workno,age from userTable;

# 2.查询所有字段返回
select  * from userTable;

# 3.查询所有员工得工作地址,起别名

select worknoaddress as '工作地址' from userTable;

#4查询公司员工得上班地址(不重复)
select distinct worknoaddress from userTable;

# ----------DQL语法条件查询-------------
#  > < >= <= = <>或!=(不等) BETWEEN...AND(在某个范围内含最小,最大)
# IN(...) 在in之后的列表中的值,多选一
# LINK 占位符 模糊匹配( _ 匹配单个字符, % 匹配任意个字符)
# IN NULL 是null
# AND或&& 并且
# OR或|| 或
# NOT 或 !
# 语法 SELECT 字段 from where 条件列表

# 1查询年龄=88的员工
select * from userTable where age = 88;

# 2查询年龄小于20
select * from userTable where age < 20;

# 3查询年龄小于等于20
select * from userTable where age <= 20;

# 4查询没有身份证号的
select * from userTable where idcard is null ;

# 5查询有身份证号的
select * from userTable where idcard is not null ;

# 查询名字是两位的
select * from userTable where name like'__';

# 查询身份证号后带x的
select * from userTable where idcard like '%x';

# 查询15-20的人
select * from userTable where age >=15 && age <= 20 ;
select * from userTable where age between 15 and 20 ;


# 与
select * from userTable where gender='女' && age = 18;
# 或
select * from userTable where age >= 900 || gender = '男';
# 非
select * from userTable where gender != '男';

# -------------DQL聚合函数---将列数据做为整体,进行纵向计算----------------
# count 统计数量
# max 最大
# min 最小
# sum 求和
# avg 平均值

# 语法
# select 聚合函数(字段)from 表名

# ** --null 值不参与聚合函数计算

# 统计员工数量
select count(*)from userTable;

# 统计员工平均年龄
select avg(age)from userTable;

# 统计最大年龄
select max(age) from userTable;

# 统计最小年龄
select min(age)from userTable;

# 统计天龙八部地区所有员工年龄之和
select sum(age) from userTable where worknoaddress = '武汉';


# ------分组查询-----------------
# 语法 select 字段列表 from 表名 [where 条件] GROUP BY 分组字段名 [having 分组后过滤条件]

# **--- where 是对分组前进行过滤   ,having 是分组后进行过滤
# **--- where不能对聚合函数进行判断,而having可以

# 分组查询
# 根据性别分组,统计男性员工  和 女性员工的数量
select count(*) from userTable group by gender;

select gender, count(*) from userTable group by gender;

# 根据性别分组,统计男性  和 女性员工的平均年龄
select avg(age) from userTable group by gender;
select gender , avg(age) from userTable group by gender;

# 查询年龄小于45员工,并根据工作地址分组,获取员工数量大于等于3的工作地址

# --where 过滤聚合函数之前数据    得到<45数据   分组 统计地址数据    对分组数据过滤 >=3的
select worknoaddress , count(worknoaddress) from userTable where age < 45 group by worknoaddress having count(worknoaddress) >= 3 ;

# --年龄小于45  地址  分组  统计
select worknoaddress , count(worknoaddress) from userTable where age < 45 group by worknoaddress ;

# ---********总结重点 执行优先级  where > 聚合函数  > having
# ***---分组之后,查询的字段一般为聚合函数和分组字段查询,查询其他字段无任何和意义

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

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

相关文章

套接字通信(C/C++ 多线程)----基于线程池的并发服务器

&#xff08;一&#xff09;大家可以看我写的这三篇&#xff0c;了解一下&#xff1a; 基于linux下的高并发服务器开发&#xff08;第四章&#xff09;- 多线程实现并发服务器_呵呵哒(&#xffe3;▽&#xffe3;)"的博客-CSDN博客https://blog.csdn.net/weixin_4198701…

【JavaWeb】Javascript经典案例

Javascript经典案例 注意&#xff1a;该文章是参考b站<20个JS经典案例>进行学习的&#xff0c;没有CSS的组成。 在慢慢更新中…哈哈哈哈&#xff0c;太慢了 文章目录 1.支付定时器2.验证码生成及校验 1.支付定时器 代码实现&#xff1a; confirm.html <!DOCTYPE html…

2.04 商品搜索功能实现

根据关键字获取分类查询对应的分页商品信息&#xff0c;并可以价格和销量进行排序切换 步骤1&#xff1a;mapper.xml编写sql语句 <!-- k: 默认&#xff0c;代表默认排序&#xff0c;根据name--> <!-- c: 根据销量排序--> <!-- p: 根据价格排序--> <sel…

消息队列 - 数据库操作

这里写自定义目录标题 前言数据表的插入删除操作关于实现接口类的几个注意实现实现封装创建DataBaseManager 类另一种获取Bean对象的方式 对数据库进行单元测试 前言 上一篇博客, 我们将消息队列的实体类创建完毕了, 并且还写了一些关于数据库的操作, 接下来我们继续进行关于数…

Java throw和throws 关键字

在Java中&#xff0c;异常可以分为两种类型&#xff1a; 未检查的异常&#xff1a;它们不是在编译时而是在运行时被检查&#xff0c;例如&#xff1a;ArithmeticException&#xff0c;NullPointerException&#xff0c;ArrayIndexOutOfBoundsException&#xff0c;Error类下的异…

wordpress 学习贴

安装问题 我的使用环境为docker环境&#xff0c;php、nginx、mysql分别处于3个容器中&#xff0c; 提示异常&#xff0c;打开debug模式&#xff0c;会发现 No such file or directory Warning: mysqli_real_connect(): (HY000/2002): No such file or directory 这个其实问题其…

Linux操作系统3-项目部署

手动部署 步骤 1.在idea中将文件项目进行打包 2.自定义一个文件目录&#xff0c;上传到Linux 3.使用 java -jar jar包名就可以进行运行 注意,如果需要启动该项目&#xff0c;需要确定所需的端口是否打开 采用这种方式&#xff0c;程序运行的时候会出现霸屏&#xff0c;并且会…

最近写了10篇Java技术博客【SQL和画图组件】

&#xff08;1&#xff09;Java获取SQL语句中的表名 &#xff08;2&#xff09;Java SQL 解析器实践 &#xff08;3&#xff09;Java SQL 格式化实践 &#xff08;4&#xff09;Java 画图 画图组件jgraphx项目整体介绍&#xff08;一&#xff09; 画图组件jgraphx项目导出…

计算机毕设 深度学习实现行人重识别 - python opencv yolo Reid

文章目录 0 前言1 课题背景2 效果展示3 行人检测4 行人重识别5 其他工具6 最后 0 前言 &#x1f525; 这两年开始毕业设计和毕业答辩的要求和难度不断提升&#xff0c;传统的毕设题目缺少创新和亮点&#xff0c;往往达不到毕业答辩的要求&#xff0c;这两年不断有学弟学妹告诉…

二阶段web基础与http协议

dns与域名 网络是基于tcp/ip协议进行通信和连接的 应用层-----传输层-----网络层-----数据链路层-----物理层 ip地址&#xff0c;每一台主机都有一个唯一的地址标识&#xff08;固定的ip地址&#xff09; 1.区分用户和计算机 2.通信 ip地址的问题在于32位二进制数组成的&…

【安装vue脚手架报错:npm install -g @vue-cli pm ERR! code EINVALIDTAGNAME 】

当我们执行npm install -g vue-cli时候会报错&#xff1a; npm ERR! Invalid tag name “vue-cli” of package “vue-cli”: Tags may not have any characters that encodeURIComponent encodes. npm ERR! A complete log of this run can be found in: /Users/wuwenlu/.npm/…

Centos虚拟机修改密码

1.重启系统 2.在这个选择界面&#xff0c;按e 3.找到如下位置&#xff0c;插入init/bin/sh 4.填写完成后按Ctrlx引导启动 5.输入mount -o remount, rw / (注意空格) 6.重置密码 出现以下为重置成功 7.执行touch /.autorelabel 8.退出exec /sbin/init 9.输入你的新密码…

React入门学习笔记1

前言 React是一个用来动态构0建用户界面的JavaScript库&#xff08;只关注于视图&#xff09;。它可以帮助开发人员轻松地创建复杂的交互式界面&#xff0c;以及管理与用户交互的状态。相比于其他的JavaScript框架&#xff0c;React采用了一种不同的编程模型&#xff0c;称为“…

【BASH】回顾与知识点梳理(二)

【BASH】回顾与知识点梳理 二 二. Shell 的变量功能2.1 什么是变量&#xff1f;2.2 变量的取用与设定: echo, 变量设定规则: set/unset2.3 环境变量的功能用 set 观察所有变量 (含环境变量与自定义变量)export&#xff1a; 自定义变量转成环境变量那如何将环境变量转成自定义变…

《向量数据库指南》——当前向量数据库的赛道有哪些?

当前&#xff0c;向量数据库赛道主要分为四个类别&#xff1a; 基于PG、Clickhouse 等进行魔改或者插件化实现的向量数据库&#xff1a;这类解决方案以现有的关系数据库或列存数据库作为基础&#xff0c;通过修改或插件扩展的方式添加向量搜索功能。PG Vector 是这类解决方案的…

【设计模式——学习笔记】23种设计模式——外观模式Facade(原理讲解+应用场景介绍+案例介绍+Java代码实现)

文章目录 案例引入介绍基本介绍类图出场角色 案例实现案例一类图代码实现 案例二类图代码实现 外观模式在Mybatis源码中的应用总结文章说明 案例引入 在家庭影院中&#xff0c;要享受一场电影&#xff0c;需要如下步骤&#xff1a; 直接用遥控器&#xff1a;统筹各设备开关开…

Linux - 进程控制(进程替换)

0.引入 创建子进程的目的是什么&#xff1f; 就是为了让子进程帮我执行特定的任务 让子进程执行父进程的一部分代码 如果子进程想执行一个全新的程序代码呢&#xff1f; 那么就要使用 进程的程序替换 为什么要有程序替换&#xff1f; 也就是说子进程想执行一个全新的程序代码&a…

FSM:Full Surround Monodepth from Multiple Cameras

参考代码&#xff1a;None 介绍 深度估计任务作为基础环境感知任务&#xff0c;在基础上构建的3D感知才能更加准确&#xff0c;并且泛化能力更强。单目的自监督深度估计已经有MonoDepth、ManyDepth这些经典深度估计模型了&#xff0c;而这篇文章是对多目自监督深度估计进行探…

three.js实现vr全景图

方法: 可以利用Threejs中的立方体或者球体实现全景图功能&#xff0c;把立方体或球体当成天空盒子&#xff0c;将无缝衔接的图片贴上&#xff0c;看起来就像在一个场景中&#xff0c;相机一般放置在中央。 three.js中文网 1、立方体实现 立方体6个面要贴上6个方向的图片&…

Pytorch深度学习-----神经网络之非线性激活的使用(ReLu、Sigmoid)

系列文章目录 PyTorch深度学习——Anaconda和PyTorch安装 Pytorch深度学习-----数据模块Dataset类 Pytorch深度学习------TensorBoard的使用 Pytorch深度学习------Torchvision中Transforms的使用&#xff08;ToTensor&#xff0c;Normalize&#xff0c;Resize &#xff0c;Co…