MySQL表的增删改查(初阶)

        CRUD 即增加(Create)、查询(Retrieve)、更新(Update)、删除(Delete)四个单词的首字母缩写。且增删改查(CRUD,create,retrieve,update,delete)数据库的核心模块。

1. 新增(Create)

        实际上sql中使用insert来往表里插入数据(确保已经选中数据库并创建好相应的表);

Insert into 表名 values(列,列…..);

//这里给出的列的数目和类型与之前创建的表里面的相关信息要匹配。

1.1 单行数据 + 全列插入

        代码如下:

-- 插入两条记录,table表数量必须和定义表的列的数量及顺序一致
insert into chengyuan values (1,'沈梦瑶');
insert into chengyuan values (1,'袁一琦');

        结果如下:

         

2、查询(Retrieve)

2.1 单次插入多行数据 + 指定列插入

        1、一次插入多行

        在values后面写多组()就可以,代码如下:

//-- 插入两条记录,value_list 数量必须和指定列数量及顺序一致
insert into chengyuan values 
(2,'袁一琦'),
(3,'王奕');

        结果如下:

       

        2、指定列进行插入,可以进行操作成功。代码如下:

//将成员表的id指定为4的信息插入insert into chengyuan (id ) values (4);

        结果如下:

         

        注意:在控制台中我们可以通过向上和向下的方向键来显示我们上一行命令。

2.2 全列查询

        操作指令及注意事项如下:

// 通常情况下不建议使用 * 进行全列查询
// 1. 查询的列越多,意味着需要传输的数据量越大;
// 2. 可能会影响到索引的使用。(索引待后面课程讲解)
SELECT * FROM 表名;

        结果展示: 

       

2.3 指定列查询

        调整表固定列的参数顺序

        语法如下:

//指定列的顺序不需要按定义表的顺序来
SELECT  name, id FROM chengyuan;

        结果展示:

        

2.4 查询字段为表达式

        语法如下:

//指定列的顺序不需要按定义表的顺序来
SELECT id, id+10,name FROM chengyuan;

        结果如下:

        

2.5  设置为别名查询

        为查询结果中的列指定别名,表示返回的结果集中,以别名作为该列的名称,语法如下:

SELECT id,name ,id+100 AS 总分 FROM chengyuan;

         结果如下:

        

  1. 当前表达式查询,并没有修改服务器上硬盘中存储的数据本体,只是在查寻结果的基础上进行运算的,得到的是一个临时表。(当这个操作结束,这里的数据就会消散,这里的数据库本体不会发生改变)->select操作不会改硬盘上的原始数据带来改变。
  2. 此处查询出来的临时表,每个列的类型不在受限于原始表。

2.6 去重:DISTINCT

        使用DISTINCT关键字对某列数据进行去重:

        1、对一个列使用去重,使用语法如下:

SELECT DISTINCT id FROM chengyuan;

        结果展示:

        2、 对多个列使用去重,当两个列都有着相同的数据才会进行合并,否则只有一个列相同,数据不会发生合并,使用语法如下:

SELECT  DISTINCT  name,id FROM chengyuan;

         结果展示:

          

2.7 排序:ORDER BY

2.7.1 简单的升降序排序

        语法格式:

// ASC 为升序(从小到大)
// DESC 为降序(从大到小)
// 一般默认为 ASCselect 列名 from 表名 order by 列名;

        (注意:order是一个关键字)

        最后一个列名就是排序的依据(不一定出现在select的列名中,order by也是针对临时表进行排序)

        如果一个查询语句没有order by,此时查询到的临时表,数据之间的顺序是不可以期望的。(mysql没有承诺一定要保持一种顺序)一定是要使用order by才能够明确制定一个顺序。

        NULL 数据排序,视为比任何值都小,升序出现在最上面,降序出现在最下面;

        操作代码:

1、升序(默认,asc)

        通过id对于数据信息进行升序排序

select * from chengyuan order by id;

2、降序(desc)

        通过id对于数据信息进行升序排序

select * from chengyuan order by id desc;

2.7.2 使用表达式及别名排序

        使用表达式语法:

select id + 100,name,id  from chengyuan order by id desc;

 

        使用别名:

select id ,name,id +10 newId  from chengyuan order by id desc;

2.7.3  可以对多个字段进行排序,排序优先级随书写顺序 

语法展示:

select *  from chengyuan order by name,id desc;

        1、使用字符串name进行排序,但是排序的内容不是按照中文字典进行排的序。

        2、Order by可以指定多个列来进行排序,在指定多个列的时候,也是有优先级的,前面的列,优先级高,后面的列优先级低。当优先级列的数值相同的时候,才会比较优先级低的列。

2.8 条件查询:WHERE

2.8.1 运算符的介绍

        比较运算符如下图所示:

           

        逻辑运算符:

             

注意事项:

  1. WHERE条件可以使用表达式,但不能使用别名。

  2. AND的优先级高于OR,在同时使用时,需要使用小括号()包裹优先执行的部分案例

2.8.2  基本查询

//查询id小于3的成员的名字( id< 60 )
SELECT name FROM chengyuan WHERE id < 3;

        结果如下图所示:

       

2.8.3 AND与OR 

        语法如下:

//查询id大于1分,且id小于4的成员,
//也可以使用between。。。and的语句使用,详见于后面
SELECT * FROM chengyuan WHERE id > 1 and id < 4;//查询id小于1分,或id大于3的成员
SELECT * FROM chengyuan WHERE id < 1 or id > 3;

        结果如下图所示:

2.8.4 范围查询

        BETWEEN … AND …

         语法如下:

//查询id大于1分,且id小于4的成员,
//也可以使用between。。。and的语句使用
SELECT * FROM chengyuan WHERE id between 1 and  3;

        结果展示:

        IN

        语法代码:

// 查询id是 1 或者 2 或者 3 的成员
SELECT * FROM chengyuan WHERE id IN (1, 2, 3);

        结果展示:

2.8.5 模糊查询:LIKE

 代码如下:

 // % 匹配任意多个(包括 0 个)字符
SELECT name FROM chengyuan WHERE name LIKE '王%';-- 匹配到孙悟空、孙权// _ 匹配严格的一个任意字符
SELECT name FROM chengyuan WHERE name LIKE '王_';-- 匹配到孙权

结果展示:

 2.8.6 NULL 的查询

        IS [NOT] NULL

        语法如下:

// 查询  name已知的同学姓名
SELECT * FROM chengyuan WHERE name IS NOT NULL;// 查询 name未知的同学姓名
SELECT * FROM chengyuan WHERE name IS  NULL;

        结果展示:

2.9 分页查询

     LIMIT 关键字的用法:

     关键字limit,来限制这次请求返回多少个记录(一页里面有几条)

     分页查询则是最合适的能解决上述问题的方案,分页查询可以限制这一次查询最大查多少个记录。

-- 起始下标为 0-- 从 0 开始,筛选 2 条结果
SELECT * FROM chengyuan  LIMIT 2;-- 从 2 开始,筛选 2 条结果
SELECT * FROM chengyuan  LIMIT 2, 2;-- 从 s 开始,筛选 n 条结果,比第二种用法更明确,建议使用
SELECT * FROM chengyuan  LIMIT 2,  OFFSET 2;

        结果如下:

3. 修改(Update) 

        update的操作都不是临时表,都是改为硬盘数据了,且Update也是一个危险的操作,sql没有相关的撤回操作。(无论是备份,还是恢复,都是有成本的,因为数据库里面数据很多,同时再恢复数据库的时候,数据库无法给外界提供服务,相当于数据库宕机)。

        语法格式:

Update 表名 set 列名 = 值 where 条件;

        语法代码:

// 将zhoushiyu的id变更为 0 
UPDATE chengyuan SET id = 0 WHERE name = 'zhoushiyu';-- 将id变为 0的成员改为曾艳芬
UPDATE chengyuan SET name = '曾艳芬' WHERE id = 0;

         操作结果:

where 条件:指的是修改哪一行?

        我们进行修改,要定位到行和列在进行修改。如果不写条件,就是针对所有的行和列。

4. 删除(Delete)

        Delete from 表名 where 条件、order by 、limit;(把条件匹配符合要求的记录给删除掉)

//删除id = 2 的袁一琦这一行的chengyuanbiao
delete from chengyuan where id = 2;

        结果展示:

        Drop table是吧表本身和表里的数据都给删除了;

        Delete只是把表里的数据删除了。

ps:本次的内容就到这里了,如果大家感兴趣的话,就请一键三连!!!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构】二叉树的模拟实现

前言:前面我们学习了堆的模拟实现&#xff0c;今天我们来进一步学习二叉树&#xff0c;当然了内容肯定是越来越难的&#xff0c;各位我们一起努力&#xff01; &#x1f496; 博主CSDN主页:卫卫卫的个人主页 &#x1f49e; &#x1f449; 专栏分类:数据结构 &#x1f448; &…

CogVLM与CogAgent:开源视觉语言模型的新里程碑

引言 随着机器学习的快速发展&#xff0c;视觉语言模型&#xff08;VLM&#xff09;的研究取得了显著的进步。今天&#xff0c;我们很高兴介绍两款强大的开源视觉语言模型&#xff1a;CogVLM和CogAgent。这两款模型在图像理解和多轮对话等领域表现出色&#xff0c;为人工智能的…

A01、关于JVM的GC回收

引用类型 对象引用类型分为强引用、软引用、弱引用&#xff0c;具体差别详见下文描述&#xff1a; 强引用&#xff1a;就是我们一般声明对象是时虚拟机生成的引用&#xff0c;强引用环境下&#xff0c;垃圾回收时需要严格判断当前对象是否被强引用&#xff0c;如果被强引用&am…

GaN图腾柱无桥 Boost PFC(单相)九-EMI 滤波器容性电流影响分析

前言 为了防止 PFC 变换器中高频开关谐波对电网产生影响&#xff0c;同时抑制电网中的高频干扰对变换器运行的影响&#xff0c;一般通过在 PFC 变换器与交流电源之间加入EMI 滤波器消除共模干扰和差模干扰&#xff0c;使变换器满足相应的 EMI 标准。在基于GaN 功率器件的图腾柱…

GD32F4中断向量查询

中断向量表 中断向量对应函数 __Vectors DCD __initial_sp ; Top of StackDCD Reset_Handler ; Reset HandlerDCD NMI_Handler ; NMI HandlerDCD HardFault_Handler ;…

管理类联考——数学——真题篇——按题型分类——充分性判断题——蒙猜C

老规矩&#xff0c;先看目录&#xff0c;平均每个3-4C&#xff08;C是月饼&#xff0c;月饼一般分为4块&#xff09; C是什么&#xff0c;是两个都不行了&#xff0c;但联合起来可以&#xff0c;联合的英文是combined&#xff0c;好的&#xff0c;我知道这个英文也记不住&#…

【Python】管理项目第三方包

我们在开发python项目时&#xff0c;如果代码每移植到到其他机器上&#xff0c;就手动 pip install XXX 安装一次&#xff0c;这样手动介入 是不是不太方便&#xff1f; 那么&#xff0c;python有像java一样的maven管理包的工具吗&#xff1f;只需要一个类似pom的文件&#xff…

Excel怎样统计一列中不同的数据分别有多少个?

文章目录 1.打开Excel数据表2.选择“插入”&#xff0c;“数据透视表”3.选择数据透视表放置位置4.将统计列分别拖到“行”和“数值”区间5.统计出一列中不同的数据分别有多少个 1.打开Excel数据表 2.选择“插入”&#xff0c;“数据透视表” 3.选择数据透视表放置位置 4.将统计…

c 实现jpeg中的ALI(可变长度整数转换)正反向转换

用于DC的ALI表&#xff1a;DIFF 就是前后两个8X8块DC的差值&#xff0c;ssss就是DIFF值用二进制表示的位数 亮度&#xff0c;与色度的DC都是这种处理的。两个相邻的亮度与亮度比差&#xff0c;色度与色度比差产生DIFF, 扫描开始DIFF等于0。 用于AC ALI表&#xff1a;表中的AC…

喜讯!聚铭网络入选国家信息安全漏洞库(CNNVD)技术支撑单位

近日&#xff0c;国家信息安全漏洞库&#xff08;CNNVD&#xff09;公示2023年度新增技术支撑单位名单。经考核评定&#xff0c;聚铭网络正式入选并被授予《国家信息安全漏洞库&#xff08;CNNVD&#xff09;三级技术支撑单位证书》。 国家信息安全漏洞库&#xff08;CNNVD&am…

解决腾讯云CentOS 6硬盘空间不足问题:从快照到数据迁移

引言&#xff1a; 随着数据的不断增加&#xff0c;服务器硬盘空间不足变成了许多运维人员必须面对的问题。此主机运行了httpd&#xff08;apache服务&#xff09;&#xff0c;提供对外web访问服务,web资源挂载在**/data/wwwroot目录下,http日志存放在/data/wwwlogs目录下&…

11 v-bind指令

概述 v-bind指令可以说是Vue3中最常用的指令之一&#xff0c;使用v-bind&#xff0c;我们几乎能够给任何实现动态的绑定比值。 这里&#xff0c;我们主要演示以下&#xff0c;通过v-bind动态绑定CSS样式。 基本用法 我们创建src/components/Demo11.vue&#xff0c;在这个组…

JS逆向实战——开发者工具检测

说明&#xff1a;仅供学习使用&#xff0c;请勿用于非法用途&#xff0c;若有侵权&#xff0c;请联系博主删除 作者&#xff1a;zhu6201976 一、背景 在JS逆向领域&#xff0c;Chrome开发者工具是核心&#xff0c;抓包、调试、看调用栈等都离不开它。可以说&#xff0c;逆向人…

C语言--字符函数与字符串函数

大家好&#xff0c;我是残念&#xff0c;希望在你看完之后&#xff0c;能对你有所帮助&#xff0c;有什么不足请指正&#xff01;共同学习交流 本文由&#xff1a;残念ing 原创CSDN首发&#xff0c;如需要转载请通知 个人主页&#xff1a;残念ing-CSDN博客&#xff0c;欢迎各位…

Java 数据结构篇-实现二叉搜索树的核心方法

&#x1f525;博客主页&#xff1a; 【小扳_-CSDN博客】 ❤感谢大家点赞&#x1f44d;收藏⭐评论✍ 文章目录 1.0 二叉搜索树的概述 2.0 二叉搜索树的成员变量及其构造方法 3.0 实现二叉树的核心接口 3.1 实现二叉搜索树 - 获取值 get(int key) 3.2 实现二叉搜索树 - 获取最小…

程序流程图的意义(合集)

程序流程图的意义 1、矩形 作用&#xff1a;一般用作要执行的处理(process)&#xff0c;在程序流程图中做执行框。 在axure中如果是画页面框架图&#xff0c;那么也可以指代一个页面。有时候我们会把页面和执行命令放在同一个流程中做说明&#xff0c;这个时候将两类不同的矩形…

算法(2)——滑动窗口

前言&#xff1a; 步骤及算法模板&#xff1a; 确定两个指针变量&#xff0c;left0,right0; 进窗口&#xff1a; 判断&#xff1a; 出窗口 更新结果 接下来我们的所用滑动窗口解决问题都需要以上几个步骤。 一、长度最小的子数组 209. 长度最小的子数组 - 力扣&#xff08;L…

Ebullient第一阶段开发小结

一. 简介 距离Ebullient硬件发布已有一段时间&#xff0c;小一个月吧&#xff0c;在这段时间内在努力的编写代码&#xff0c;现在终于完成了第一阶段的功能设计&#xff0c;算是一个小型的样机吧&#xff0c;基本的代码框架基本确定了&#xff0c;相信后续的会快一点(希望如此…

Nodejs 第二十六章(反向代理)

什么是反向代理? 反向代理&#xff08;Reverse Proxy&#xff09;是一种网络通信模式&#xff0c;它充当服务器和客户端之间的中介&#xff0c;将客户端的请求转发到一个或多个后端服务器&#xff0c;并将后端服务器的响应返回给客户端。 负载均衡&#xff1a;反向代理可以根…

二、W5100S/W5500+RP2040之MicroPython开发<DHCP示例>

文章目录 1 前言2 相关网络信息2 .1 简介2.2 DHCP工作原理2.3 DHCP的优点2.4 应用场景 3 WIZnet以太网芯片4 DHCP网络设置示例概述以及使用4.1 流程图4.2 准备工作核心4.3 连接方式4.4 主要代码概述4.5 结果演示 5 注意事项6 相关链接 1 前言 在这个智能硬件和物联网时代&#…