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

MYSQL 表的增删改查(上)

目录

1.新增数据

2.查询数据

一般查询

去重查询 

排序查询

关于NULL 

条件查询

分页查询


1.新增数据

语法:insert into 表名[(字段1,字段2...)] values (值,值....);

插入一条新数据行,前面指定的列,要与后面values中的值要一一对应。

注意:

  • 字符串类型的值用英文的单引号记录 '

  • 注意 要保持全过程都是英文符号,可以通过符号之间的距离来判断是否是英文符号

现在,我们可以创建一个 student表 来帮助理解;

select * from student;的作用是查询表中的所有数据,这在后面的全列查询里会提到。 

现在,student表为空,这时候我们就可以往里面新增数据。

比如,我想放进去(1,张三),对应的语句就应该为:

一般形式

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

注意:

  • 注意添加表名

简写形式

可以省略插入什么类型,根据表中的顺序直接插入数据即可

指定列插入

像student表中,就有id,name两列,那么我们可以选择只插入其中一列。

因为name存储类型为varchar,在不给name数据时,默认为null。

多行插入

实际就是在 values 后面多加几个括号。


2.查询数据

一般查询

全列查询

语法:

select * from 表名;

像是查询student表中的所有数据

现在将student表换为 exam表,对exam表进行全列查询,这个表可以自己创建一份,然后通过新增数据来实现。

 指定列查询

我们可以通过 指定查询的列 来实现指定列查询,实际上就是把 * 换成想要查询的列。

select [列名,列名...] from 表名;

比如要查询 exam表中的 id,name,math列,演示及查询结果如下:

 列与列之间也可以参与运算

这样看着第三列的列头名不是很舒服,我们可以把这个重命名,如下有三种方式

  •  select id,name,chinese+math+english as 总分 from exam;
  •  select id,name,chinese+math+english 总分 from exam;
  •  select id,name,chinese+math+english as '总分' from exam;

三种方式有些细微的区别,这里我就选第一种做个演示 

去重查询 

语法:

select distinct 列名 from 表名;

只查询exam表中的math列

 可以看到,其中有11行,并且其中有两个98和80,这时候我们可以通过去重查询去除其中一个98和80。

可以看到这次查询的结果是有9行,并且没有重复的数。去重后,重复记录只保留一条。

注意:在查询结果中,每一列相同的MYSQL才认为他们是重复数据。

举个例子说,如果是从id,math列来进行去重查询,那么结果会有多少行?

11行,因为查询的id列并没有重复的内容,只有math里面有重复内容是无法进行去重的。

排序查询

排序规则:

  • 升序 ASC
  • 降序 DESC

语法:

select 列名 from 表名 order by 列名 [ASC | DESC];

默认为升序,也就是ASC。

还是以exam表为例,先对数学成绩进行升序查询;

 

可以看到这两种方式均可(是否省略 asc)。

在对英语成绩进行降序查询;

这里会看到其中有 -12 和 NULL,目的是为了来说明 NULL相关项。

 在数值比较时,NULL 视为比任何数据都小

在排序查询的时候,我们也可以通过别名进行查询

关于NULL 

MYSQL中的NULL比较特殊

  1. 不论和什么值进行比较,返回值都为NULL
  2. NULL始终被判定为FALSE
  3. NULL在MYSQL就是NULL,不是0或者其他内容

条件查询

根据一些指定条件,返回符合条件的记录。

语法:

select 列名 from 表名 where 列名/表达式 运算符 条件;

例如:

查询数学成绩 < 70 的同学;

 查询数学成绩 > 语文成绩的同学;

 查询语文成绩 > 80 且 英语成绩 > 80 的同学; 

 查询语文成绩 > 80 或者 数学成绩 > 90 的同学;

其中, 如果and和or同时出现,并且没有括号来进行优先级表示,那么and的优先级是要高于or

查询语文成绩在80到90之间的同学;

这里也可通过or方法进行查询,此处就不演示了。 

查询数学成绩是58或者59,或者98的同学;

分页查询

语法:

select ... from 表名 [where] [order by] LIMIT n;

n代表要查询记录的条数,即要查询n条记录。

例如,以id升序的表中查询前2条记录;

 还有一种方式,是从第几个往后查几个记录;

语法:

select ... from 表名 [where] [order by] LIMIT s,n;

s,n代表着从s条开始,筛选n条。

下面这种形式更加明确,意思和第二种方式一样

select ... from 表名 [where] [order by] LIMIT n offset s;

offset 代表偏移量。

例如,以id升序的表中查询第一条后的2条记录;

这次的分享到这里就结束了,后面我会尽快把下部分给写出了,感谢支持 。


http://www.kler.cn/a/411098.html

相关文章:

  • EXTI配置流程 含中断延时消抖点亮小灯
  • MacOS系统上Jmeter 录制脚本遇到的证书坑位
  • 【通俗理解】隐变量的变分分布探索——从公式到应用
  • ArcGIS API for Javascript学习
  • ubuntu24挂载硬盘记录
  • 网络安全学习77天(记录)
  • qt ubuntu i386 系统
  • 【MySQL系列】通过创建新表备份`password`字段
  • c++:面向对象三大特性--继承
  • 数据结构 【二叉树(上)】
  • c++学习:json库例子
  • Spark SQL大数据分析快速上手-Hive安装
  • 【设计模式】【行为型模式(Behavioral Patterns)】之命令模式(Command Pattern)
  • Vue进阶面试题(三)
  • Python和R统计检验比较各组之间的免疫浸润
  • 【IEEE出版 | ISBN: 979-8-3315-0796-1 | 高录用稳检索】 2025神经网络与智能优化国际研讨会(NNIO 2025)
  • 中国科学院大学研究生学术英语读写教程 Unit6 Biology TextA 原文和翻译
  • 对于公平与效率的关系问题,材料中有两种不同倾向性的观点,请对这两种观点分别加以概述并谈谈你的看法。字数不超过500字。
  • 上海乐鑫科技一级代理商飞睿科技,ESP32-C61高性价比WiFi6芯片高性能、大容量
  • 鸿蒙应用的基本架构
  • OpenTK 实现三维空间模型仿真详解
  • 基于Springboot的心灵治愈交流平台系统的设计与实现
  • RSA非对称加密解,支持分段加密解密、(公钥加密,私钥解密)、(私钥加密,公钥解密)
  • Bean的生命周期详解保姆级教程,结合spring boot和spring.xml两种方式讲解,5/7/10大小阶段详细分析
  • 基于Matlab卷积神经网络的肺癌检测系统(良性、恶性及正常病例分类的综合分析)
  • 【Vue3+Pinia】Vue新一代状态管理器Pinia