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

数据库(3)--针对列的CRUD操作

1.Create 新增

语法:

insert into 表名 (列名)values (列)...

创建一个学生表用于演示:

create table if not exists student(
id bigint comment '编号',
name varchar(20) comment '姓名'
);

1.1直接增加

insert into student values (1,'张三');

不在into 与 表名间声明列名

1.2声明增加单列

insert into (id,name) values (1,'张三');

 1.3声明增加多列

 

insert into (id,name) values (1,'张三'),(2,'李四');

2.Retrieve 检索

语法:

SELECT
[ DISTINCT ]
select_expr [, select_expr ] ...
[ FROM table_references ]
[ WHERE where_condition ]
[ GROUP BY { col_name | expr }, ...]
[ HAVING where_condition ]
[ ORDER BY { col_name | expr } [ ASC | DESC ], ... ]
[LIMIT {[ offset ,] row_count | row_count OFFSET offset }]

 功能较多,我们一个一个介绍

2.1select

先介绍普通查询

2.1.1全列查询

 

select * from 表名;

能打印出表中存储信息

注意desc tables;是打印表的属性 

2.2.2指定列查询 

select id from 表名;

 

在指定列查询时,可以对打印的数据进行微调,具体是:

对数据进行运算(即表达式)

对属性起别名

 2.2.2.1对数据进行运算
select id+1 from student;

也可以把类型相同的属性相加 :

select id+id from student;

2.2.2.2 对属性起别名
select id+id as 表达式 from student;

 加上as 后跟别名(as也可以省略)

 

2.2.3结果去重查询 

语法:

select distinct 列名/* from 表名;

有 重复:

 使用去重查询后:

注意:只有全部属性都相同才会去重 

2.2 where条件查询

 语法:

select * from 表名 where 判断条件;

2.2.1比较运算符

运算符说明
>,    >=,    <,    <=
使用与其他语言无异
=

既可以赋值又可以判断是否相等

但是不可以判断null是否等于null

<=>专门用于null=null  返回值为1/0
!=, <>
不相等
value BETWEEN a0 AND a1
[a0, a1]  如果在这个范围中就返回1
NOT BETWEEN则取反
value IN (option, ...)
如果value 在optoin列表中,则返回TRUE(1),NOT IN则取反
IS NULL
是null返回1
IS NOT NULL
不是null返回1
LIKE
模糊匹配,% 表⽰任意多个(包括0个)字符;
_ 表⽰任意⼀个字符
NOT LIKE则取反

2.2.2逻辑运算符

运算符说明
AND
多个条件必须都为 TRUE(1),结果才是 TRUE(1)
OR
任意⼀个条件为 TRUE(1), 结果为 TRUE(1)
NOT
条件为 TRUE(1),结果为 FALSE(0)

 2.3order by排序

语法:

SELECT ... FROM table_name [WHERE ...] ORDER BY {col_name | expr } [ASC | 
DESC], ... ;

-- ASC 为升序(从⼩到⼤)
-- DESC 为降序(从⼤到⼩)
-- 默认为 ASC

 

注意:

MYSQL中会自动排序,如果没有order by返回的顺序仅参考,不可信。

如果比较对象中有null,默认null是最小的值(比所有数都小,包括负数)

order by 中可以使用别名

如:

这是因为order by 是对select后的对象排序,在select中起的别名可以在order by 中识别

但是where不可以,因为where是先判断再select 

2.4 分页查询

语法:

-- 起始下标为 0
-- 从 0 开始,筛选 num 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT num;
-- 从 start 开始,筛选 num 条结果
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT start, num;
-- 从 start 开始,筛选 num 条结果,⽐第⼆种⽤法更明确,建议使⽤
SELECT ... FROM table_name [WHERE ...] [ORDER BY ...] LIMIT num OFFSET start;

作用:可以搭配order by排序成对取出前几个

3.Update修改

语法:

UPDATE [LOW_PRIORITY] [IGNORE] table_referenceSET assignment [, assignment] ...[WHERE where_condition][ORDER BY ...][LIMIT row_count]

例如: 

注意:

不加where条件时,会导致全表数据被列新,谨慎操作 

4.Detele删除 

语法:

DELETE FROM tbl_name [WHERE where_condition] [ORDER BY ...] [LIMIT row_count] 

比如:

注意:

执⾏Delete时不加条件会删除整张表的数据,谨慎操作 

 5.截断表

语法:

TRUNCATE [TABLE] 表名;

可以快速将整个表清空 

说明:

只能对整表操作,不能像 DELETE ⼀样针对部分数据
不对数据操作所以⽐DELETE更快,TRUNCATE在删除数据的时候,不经过真正的事物,所以⽆法回滚
会重置AUTO_INCREMENT 项

6. 插入查询结果

语法:

INSERT INTO table_name [(column [, column ...])] SELECT ...;

例如: 将  去重后  的表的原表互换 并保留原表

create table student_new like student;
insert into student_new (name,id,math,english)select distinct name,id,math,english from student;rename table student to student_new, student_new to student;

 7.聚合函数

函数说明
COUNT([DISTINCT] expr)
返回查询到的数据的 数量
SUM([DISTINCT] expr)
返回查询到的数据的 总和,不是数字没有意义
AVG([DISTINCT] expr)
返回查询到的数据的 平均值,不是数字没有意义
MAX([DISTINCT] expr)
返回查询到的数据的 最⼤值,不是数字没有意义
MIN([DISTINCT] expr)
返回查询到的数据的 最⼩值,不是数字没有意义

例子:

select count(*) from student;
select count(math) from student where math >50;
select sum(math) from student;
select avg(math) from student;
select min(math) from student where math>70;
select min(math),max(math) from student;

8.Group by 分组查询

将有相同属性的对象分组,便于集中统计计算与分析

语法:

SELECT {col_name | expr} ,... ,aggregate_function (aggregate_expr)FROM table_referencesGROUP BY {col_name | expr}, ... [HAVING where_condition]

 例如:

select role,ROUND(avg(salary),1) from cmp group by role;
select role,count(salary) from cmp where salary>1000.00 group by role;
-- 3                        1       2                        4         

上面的数字是执行顺序   group by也可以使用别名

但是正因为where比group by先执行,所以无法对分组后的数据进行判断

MYSQL中引入了having关键字专门用于解决此问题

8.1having子句

例如:

select role,ROUND(avg(salary)) from cmp group by role having ROUND(avg(salary))>1000.00;
Having 与Where 的区别
Having ⽤于对分组结果的条件过滤
Where ⽤于对表中真实数据的条件过滤

9.内置函数 

9.1日期函数

函数说明
CURDATE()
返回当前⽇期,同义词 CURRENT_DATE CURRENT_DATE()
CURTIME()
返回当前时间,同义词 CURRENT_TIME CURRENT_TIME([fsp])
NOW()
返回当前⽇期和时间,同义语 CURRENT_TIMESTAMP
CURRENT_TIMESTAMP
DATE(data)
提取date或datetime表达式的⽇期部分
ADDDATE(date,INTERVAL exprunit)
向⽇期值添加时间值(间隔),同义词 DATE_ADD()
SUBDATE(date,INTERVAL exprunit)
向⽇期值减去时间值(间隔),同义词 DATE_SUB()
DATEDIFF(expr1,expr2)
两个⽇期的差,以天为单位,expr1 - expr2
select curdate();
select curtime();
select now();
select date(now());
select adddate(curdate(),interval 31 day);
select subdate(curdate(),interval 1 month);
select datediff(curdate(),subdate(curdate(),interval 1 month));

9.2字符串处理函数

select name,char_length(name),length(name) from cmp;

select concat(name,'的工资为:',salary) as 工资 from cmp;

 

select concat_ws(',',name,ROUND(salary)) as 工资 from cmp;

 拼接后的字符串⽤逗号隔开

 

select lcase('ABC');

 

select ucase('abc');

9.3数学函数 

函数
ABS(X)
返回X的绝对值
CEIL(X)
返回不⼩于X的最⼩整数值,同义词是 CEILING(X)
FLOOR(X)
返回不⼤于X的最⼤整数值
CONV(N,from_base,to_base)
不同进制之间的转换
FORMAT(X,D)
将数字X格式化为“#,###,###”的格式。##',四舍五⼊到⼩数点后D位,并以字符串形式返回
RAND([N])
返回⼀个随机浮点值,取值范围 [0.0, 1.0)
ROUND(X), ROUND(X,D)
将参数X舍⼊到⼩数点后D位
CRC32(expr)
计算指定字符串的循环冗余校验值并返回⼀个32位⽆符号整数

例如:

select ROUND(RAND(),6);

 

select CRC32('MYSQL');

相关文章:

数据库(3)--针对列的CRUD操作

1.Create 新增 语法&#xff1a; insert into 表名 &#xff08;列名&#xff09;values &#xff08;列&#xff09;... 创建一个学生表用于演示&#xff1a; create table if not exists student( id bigint comment 编号, name varchar(20) comment 姓名 ); 1.1直接增加…...

【Linux】记录一下考RHCE的学习过程(七)

年底了&#xff0c;公司接的北京地铁轨道交通的项目做不完了&#xff0c;一百多列地铁的设备都得调&#xff0c;派我出差了几周&#xff0c;这几天才回来&#xff0c;出差累死了实在是没办法更新。&#xff08;YOASOBI的二开票还没抢到ToT&#xff0c;哭死&#xff0c;看看回滚…...

【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 1:背景动机

目录 1 简单概括2 几个重要发现3 主要贡献4 背景知识5 方法简介 论文&#xff1a;Multi-Head Encoding for Extreme Label Classification 作者&#xff1a;Daojun Liang, Haixia Zhang, Dongfeng Yuan and Minggao Zhang 单位&#xff1a;山东大学 代码&#xff1a;https://gi…...

使用hardhat进行合约测试

演示源码&#xff1a;hardhat-demo: 演示基于hardhat的HelloWord合约测试案例。 环境 NodeJs 创建工程 1.创建一个hardhat工程根目录(hardhat-demo)&#xff0c;然后进入该目录执行。 npx hardhat执行该命令&#xff0c;会进行hardhat工程初始化。 提示我们是否安装该版本h…...

基于生成式对抗网络(GAN)的前沿研究与应用

引言 人工智能&#xff08;AI&#xff09;领域在过去几年中经历了快速的发展&#xff0c;尤其是深度学习的兴起带来了许多变革。其中&#xff0c;生成式对抗网络&#xff08;Generative Adversarial Network, GAN&#xff09;因其强大的生成能力成为了研究热点。自2014年Ian G…...

Apache zookeeper集群搭建

文章目录 引言I 集群搭建保证服务器基础环境一致JDK安装与配置环境变量安装与修改zk配置文件同步zk安装包与配置文件zk集群启停查看进程、状态、日志II 扩展:shell脚本一键启停引言 springCloud 脚手架项目功能模块:Java分布式锁 https://blog.csdn.net/z929118967/article/d…...

cmake使用记录

Android相关 编译一个动态库&#xff0c;到指定的目录 cmake_minimum_required(VERSION 3.22.1) set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../v2x_algo_output/${ANDROID_ABI}) project("serial_port") include_directories(include) add_…...

nginx http反向代理

系统&#xff1a;Ubuntu_24.0.4 1、安装nginx sudo apt-get update sudo apt-get install nginx sudo systemctl start nginx 2、配置nginx.conf文件 /etc/nginx/nginx.conf&#xff0c;但可以在 /etc/nginx/sites-available/ 目录下创建一个新的配置文件&#xff0c;并在…...

实数的奥秘:柯西序列深度解析

实数的奥秘&#xff1a;柯西序列深度解析 一、柯西序列的概念与性质二、柯西序列定义无理数三、柯西序列定义实数系统 实数&#xff0c;是初中学到的概念&#xff0c;我知都知道它是有理数和无理数的统称。 然而&#xff0c;实数可不只是小数点后的一堆零碎儿&#xff0c;它背后…...

信息系统管理师试题-人力资源

信息系统管理师试题-人力资源 当组织计划的人力资源需求超过供给时&#xff0c;可通过下列方法解决&#xff0c;其中不包括&#xff08;&#xff09; A降低录用标准&#xff0c;招聘新员工 B增加临时性员工和使用退休员工 C减少加班数量或工作时间 D提高员工工作效率 答案C 下…...

补偿电阻对ota零极点的影响

本文内容主要是关于补偿电阻对零极点产生的影响。 1.极点分析 该补偿电阻并不会影响在输出端的主极点&#xff0c;受影响的主要是镜像极点。 这里我们可以先单看电流镜部分&#xff0c;这个补偿电阻的作用在于将极点推向原来的两倍&#xff0c;从而达到增加带宽的目的[1]。 …...

UVM: uvm_sequence

topcic sequence overview sequence excution flow sequence class callbacks sequencer driver communication...

编译技术实验三之编译器的构造和设计

一、实验目的: 我们将设计多个不同的综合实验项目提供给学生选择。&#xff08;如&#xff1a;LL(1)文法自动生成语法分析程序的设计&#xff1b;单词的自动识别与智能纠错&#xff1b;语言的程序编辑器&#xff1b;数学计算式的识别等&#xff09;学生可在这些项目中选择1个项…...

数据挖掘——数据预处理

数据挖掘——数据预处理 数据预处理数据预处理 ——主要任务数据清洗如何处理丢失的数据如何处理噪声数据如何处理不一致数据 数据集成相关分析相关系数(也成为皮尔逊相关系数)协方差 数据规约降维法&#xff1a;PCA主成分分析降数据——抽样法数据压缩 数据预处理 数据预处理…...

ECharts饼图下钻

背景&#xff1a;项目上需要对Echarts饼图进行功能定制&#xff0c;实现点击颜色块&#xff0c;下钻显示下一层级占比说明&#xff1a;饼图实现点击下钻/面包屑返回的功能 数据结构 [{name: a,value: 1,children: [...]},... ]点击下钻 // 为图表绑定点击事件&#xff08;需要…...

【RK3568笔记】Android修改开机动画

概述 Android 的开机动画是由一系列连续的 PNG 图片作为帧组成的动画形式&#xff0c;不是一张 GIF 图片。将各帧 PNG 图片以压缩方式进行保存&#xff08;压缩方式要求是存储压缩&#xff09;&#xff0c;并将保存的文件名命名为 bootanimation.zip&#xff0c;这个 bootanim…...

嵌入式技术之Linux(Ubuntu) 一

一、Linux入门 1.硬件和操作系统以及用户的关系 一个传感器&#xff0c;获得数据后&#xff0c;需要向服务器发送数据。传感器传数据给上位机。 上位机需要一个程序来接收数据&#xff0c;那么这个上位机是什么机器&#xff1f; 我们的笔记本电脑就可以当成上位机。 两个手…...

代码随想录day39 动态规划7

打家劫舍 题目&#xff1a;198.打家劫舍 213.打家劫舍II 337.打家劫舍III 需要重做&#xff1a;全部 198.打家劫舍 思路&#xff1a;第i个房子偷与不偷&#xff0c;取决于第i-2个房子和第i-1个房子 注意&#xff1a;注意下标的一致性。现在的下标含义是房子的下标&#x…...

ESP32-S3模组上实现低功耗(5)

接前一篇文章:ESP32-S3模组上实现低功耗(4) 本文内容参考: 系统低功耗模式介绍 - ESP32-S3 - — ESP-IDF 编程指南 latest 文档 电源管理 - ESP32-S3 - — ESP-IDF 编程指南 latest 文档...

PDF转文本以及转图片:itextpdf

文章目录 &#x1f412;个人主页&#xff1a;信计2102罗铠威&#x1f3c5;JavaEE系列专栏&#x1f4d6;前言&#xff1a;&#x1f380; 1. itextpdf1.1导入itextpdf的maven依赖1.2 提取文本代码1.3 pdf转换成图片代码&#xff08;本地图片地址还是线上PDF的URL地址均支持&#…...

MogFace人脸检测效果实测:不同分辨率/压缩率/光照条件下的鲁棒性对比

MogFace人脸检测效果实测&#xff1a;不同分辨率/压缩率/光照条件下的鲁棒性对比 1. 引言 人脸检测是计算机视觉领域最基础也最核心的任务之一。无论是手机解锁、美颜相机&#xff0c;还是安防监控、智能门禁&#xff0c;背后都离不开一个稳定可靠的人脸检测模型。然而&#…...

终极指南:3分钟学会Charticulator免费图表设计工具

终极指南&#xff1a;3分钟学会Charticulator免费图表设计工具 【免费下载链接】charticulator Interactive Layout-Aware Construction of Bespoke Charts 项目地址: https://gitcode.com/gh_mirrors/ch/charticulator 想要快速创建专业级数据可视化图表却不会编程&…...

OPUS编解码器在audio DSP上的移植和应用操

前言 在使用 kubectl get $KIND -o yaml 查看 k8s 资源时&#xff0c;输出结果中包含大量由集群自动生成的元数据&#xff08;如 managedFields、resourceVersion、uid 等&#xff09;。这些信息在实际复用 yaml 清单时需要手动清理&#xff0c;增加了额外的工作量。 使用 ku…...

Neeshck-Z-lmage_LYX_v2GPU适配方案:4G显存设备成功加载Z-Image实录

Neeshck-Z-lmage_LYX_v2 GPU适配方案&#xff1a;4G显存设备成功加载Z-Image实录 1. 项目背景与痛点 最近在体验国产的文生图模型时&#xff0c;我发现了一个挺有意思的工具——Neeshck-Z-lmage_LYX_v2。它基于Z-Image这个底座模型开发&#xff0c;主打轻量化和本地部署。 但…...

IQuest-Coder-V1-40B-Instruct新手入门:3步搭建代码生成与审查环境

IQuest-Coder-V1-40B-Instruct新手入门&#xff1a;3步搭建代码生成与审查环境 1. 引言&#xff1a;为什么选择IQuest-Coder-V1-40B-Instruct 1.1 模型核心能力概述 IQuest-Coder-V1-40B-Instruct是一款专为软件工程和竞技编程设计的大型语言模型&#xff0c;它能帮你&#…...

告别繁琐!WinRAR在Win11右键菜单的两种高效配置方案全解析

Win11右键菜单的WinRAR终极优化指南&#xff1a;极简派与功能派的完美平衡术 每次在Windows 11的资源管理器里右键点击压缩文件时&#xff0c;那个冗长的WinRAR子菜单是否让你感到效率受阻&#xff1f;作为一款装机量超过5亿的压缩工具&#xff0c;WinRAR在Windows 11上的右键菜…...

G-Helper:拯救华硕笔记本性能的轻量级控制神器

G-Helper&#xff1a;拯救华硕笔记本性能的轻量级控制神器 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, Strix, Scar, and…...

MT5 Zero-Shot中文增强效果可视化:原句vs改写句语义相似度与流畅度实测

MT5 Zero-Shot中文增强效果可视化&#xff1a;原句vs改写句语义相似度与流畅度实测 1. 项目介绍与核心价值 MT5 Zero-Shot Chinese Text Augmentation 是一个基于 Streamlit 和阿里达摩院 mT5 模型构建的本地化 NLP 工具。这个工具能够对输入的中文句子进行语义改写和数据增强…...

Janus-Pro-7B在AIGC内容创作中的惊艳效果:多风格图文生成案例集

Janus-Pro-7B在AIGC内容创作中的惊艳效果&#xff1a;多风格图文生成案例集 最近在折腾各种AI模型的时候&#xff0c;我深度体验了一把Janus-Pro-7B。说实话&#xff0c;一开始我对“多模态”这个词有点审美疲劳了&#xff0c;感觉很多模型宣传得天花乱坠&#xff0c;用起来却…...

避开这些坑!SAP采购订单屏幕增强(MM06E005)的5个常见错误及解决方案

SAP采购订单屏幕增强实战避坑指南&#xff1a;MM06E005高频错误解析 在SAP系统实施过程中&#xff0c;采购订单抬头屏幕增强(MM06E005)是供应链模块开发的高频需求&#xff0c;也是开发者踩坑的"重灾区"。我曾参与过多个跨国企业的SAP采购模块优化项目&#xff0c;亲…...