数据库(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 ⽤于对表中真实数据的条件过滤
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 新增 语法: insert into 表名 (列名)values (列)... 创建一个学生表用于演示: create table if not exists student( id bigint comment 编号, name varchar(20) comment 姓名 ); 1.1直接增加…...
【Linux】记录一下考RHCE的学习过程(七)
年底了,公司接的北京地铁轨道交通的项目做不完了,一百多列地铁的设备都得调,派我出差了几周,这几天才回来,出差累死了实在是没办法更新。(YOASOBI的二开票还没抢到ToT,哭死,看看回滚…...
【顶刊TPAMI 2025】多头编码(MHE)之极限分类 Part 1:背景动机
目录 1 简单概括2 几个重要发现3 主要贡献4 背景知识5 方法简介 论文:Multi-Head Encoding for Extreme Label Classification 作者:Daojun Liang, Haixia Zhang, Dongfeng Yuan and Minggao Zhang 单位:山东大学 代码:https://gi…...
使用hardhat进行合约测试
演示源码:hardhat-demo: 演示基于hardhat的HelloWord合约测试案例。 环境 NodeJs 创建工程 1.创建一个hardhat工程根目录(hardhat-demo),然后进入该目录执行。 npx hardhat执行该命令,会进行hardhat工程初始化。 提示我们是否安装该版本h…...
基于生成式对抗网络(GAN)的前沿研究与应用
引言 人工智能(AI)领域在过去几年中经历了快速的发展,尤其是深度学习的兴起带来了许多变革。其中,生成式对抗网络(Generative Adversarial Network, GAN)因其强大的生成能力成为了研究热点。自2014年Ian G…...
Apache zookeeper集群搭建
文章目录 引言I 集群搭建保证服务器基础环境一致JDK安装与配置环境变量安装与修改zk配置文件同步zk安装包与配置文件zk集群启停查看进程、状态、日志II 扩展:shell脚本一键启停引言 springCloud 脚手架项目功能模块:Java分布式锁 https://blog.csdn.net/z929118967/article/d…...
cmake使用记录
Android相关 编译一个动态库,到指定的目录 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反向代理
系统: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,但可以在 /etc/nginx/sites-available/ 目录下创建一个新的配置文件,并在…...
实数的奥秘:柯西序列深度解析
实数的奥秘:柯西序列深度解析 一、柯西序列的概念与性质二、柯西序列定义无理数三、柯西序列定义实数系统 实数,是初中学到的概念,我知都知道它是有理数和无理数的统称。 然而,实数可不只是小数点后的一堆零碎儿,它背后…...
信息系统管理师试题-人力资源
信息系统管理师试题-人力资源 当组织计划的人力资源需求超过供给时,可通过下列方法解决,其中不包括() A降低录用标准,招聘新员工 B增加临时性员工和使用退休员工 C减少加班数量或工作时间 D提高员工工作效率 答案C 下…...
补偿电阻对ota零极点的影响
本文内容主要是关于补偿电阻对零极点产生的影响。 1.极点分析 该补偿电阻并不会影响在输出端的主极点,受影响的主要是镜像极点。 这里我们可以先单看电流镜部分,这个补偿电阻的作用在于将极点推向原来的两倍,从而达到增加带宽的目的[1]。 …...
UVM: uvm_sequence
topcic sequence overview sequence excution flow sequence class callbacks sequencer driver communication...
编译技术实验三之编译器的构造和设计
一、实验目的: 我们将设计多个不同的综合实验项目提供给学生选择。(如:LL(1)文法自动生成语法分析程序的设计;单词的自动识别与智能纠错;语言的程序编辑器;数学计算式的识别等)学生可在这些项目中选择1个项…...
数据挖掘——数据预处理
数据挖掘——数据预处理 数据预处理数据预处理 ——主要任务数据清洗如何处理丢失的数据如何处理噪声数据如何处理不一致数据 数据集成相关分析相关系数(也成为皮尔逊相关系数)协方差 数据规约降维法:PCA主成分分析降数据——抽样法数据压缩 数据预处理 数据预处理…...
ECharts饼图下钻
背景:项目上需要对Echarts饼图进行功能定制,实现点击颜色块,下钻显示下一层级占比说明:饼图实现点击下钻/面包屑返回的功能 数据结构 [{name: a,value: 1,children: [...]},... ]点击下钻 // 为图表绑定点击事件(需要…...
【RK3568笔记】Android修改开机动画
概述 Android 的开机动画是由一系列连续的 PNG 图片作为帧组成的动画形式,不是一张 GIF 图片。将各帧 PNG 图片以压缩方式进行保存(压缩方式要求是存储压缩),并将保存的文件名命名为 bootanimation.zip,这个 bootanim…...
嵌入式技术之Linux(Ubuntu) 一
一、Linux入门 1.硬件和操作系统以及用户的关系 一个传感器,获得数据后,需要向服务器发送数据。传感器传数据给上位机。 上位机需要一个程序来接收数据,那么这个上位机是什么机器? 我们的笔记本电脑就可以当成上位机。 两个手…...
代码随想录day39 动态规划7
打家劫舍 题目:198.打家劫舍 213.打家劫舍II 337.打家劫舍III 需要重做:全部 198.打家劫舍 思路:第i个房子偷与不偷,取决于第i-2个房子和第i-1个房子 注意:注意下标的一致性。现在的下标含义是房子的下标&#x…...
ESP32-S3模组上实现低功耗(5)
接前一篇文章:ESP32-S3模组上实现低功耗(4) 本文内容参考: 系统低功耗模式介绍 - ESP32-S3 - — ESP-IDF 编程指南 latest 文档 电源管理 - ESP32-S3 - — ESP-IDF 编程指南 latest 文档...
PDF转文本以及转图片:itextpdf
文章目录 🐒个人主页:信计2102罗铠威🏅JavaEE系列专栏📖前言:🎀 1. itextpdf1.1导入itextpdf的maven依赖1.2 提取文本代码1.3 pdf转换成图片代码(本地图片地址还是线上PDF的URL地址均支持&#…...
超短脉冲激光自聚焦效应
前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应,这是一种非线性光学现象,主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场,对材料产生非线性响应,可能…...
Zustand 状态管理库:极简而强大的解决方案
Zustand 是一个轻量级、快速和可扩展的状态管理库,特别适合 React 应用。它以简洁的 API 和高效的性能解决了 Redux 等状态管理方案中的繁琐问题。 核心优势对比 基本使用指南 1. 创建 Store // store.js import create from zustandconst useStore create((set)…...
c++ 面试题(1)-----深度优先搜索(DFS)实现
操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
从“安全密码”到测试体系:Gitee Test 赋能关键领域软件质量保障
关键领域软件测试的"安全密码":Gitee Test如何破解行业痛点 在数字化浪潮席卷全球的今天,软件系统已成为国家关键领域的"神经中枢"。从国防军工到能源电力,从金融交易到交通管控,这些关乎国计民生的关键领域…...
Kafka主题运维全指南:从基础配置到故障处理
#作者:张桐瑞 文章目录 主题日常管理1. 修改主题分区。2. 修改主题级别参数。3. 变更副本数。4. 修改主题限速。5.主题分区迁移。6. 常见主题错误处理常见错误1:主题删除失败。常见错误2:__consumer_offsets占用太多的磁盘。 主题日常管理 …...
uniapp 集成腾讯云 IM 富媒体消息(地理位置/文件)
UniApp 集成腾讯云 IM 富媒体消息全攻略(地理位置/文件) 一、功能实现原理 腾讯云 IM 通过 消息扩展机制 支持富媒体类型,核心实现方式: 标准消息类型:直接使用 SDK 内置类型(文件、图片等)自…...
9-Oracle 23 ai Vector Search 特性 知识准备
很多小伙伴是不是参加了 免费认证课程(限时至2025/5/15) Oracle AI Vector Search 1Z0-184-25考试,都顺利拿到certified了没。 各行各业的AI 大模型的到来,传统的数据库中的SQL还能不能打,结构化和非结构的话数据如何和…...
Python网页自动化Selenium中文文档
1. 安装 1.1. 安装 Selenium Python bindings 提供了一个简单的API,让你使用Selenium WebDriver来编写功能/校验测试。 通过Selenium Python的API,你可以非常直观的使用Selenium WebDriver的所有功能。 Selenium Python bindings 使用非常简洁方便的A…...
保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!
目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...
