MySQL数据表:对数据的基础操作(增、删、查、改)以及运算符的讲解

news2024/12/28 8:13:59

目录

前言

一.增加数据

二.查询数据

2.1查询数据表中所有信息

 2.2查询表中指定的列信息

 2.3查询通过计算的列

 2.4使用别名代替列名

 2.5查询不带有重复值的列

2.6将查询的结果进行排序 

2.7条件查询

       2.7.1条件查询的种类       

       2.7.2使用运算符查询的讲解

2.8分页查询 

三.修改数据

 四.删除数据

总结


🎁个人主页:tq02的博客_CSDN博客-C语言,Java,Java数据结构领域博主
🎥 本文由 tq02 原创,首发于 CSDN🙉
🎄 本章讲解内容:MySQL的数据增删查改等操作

🎁欢迎各位→点赞👍 + 收藏⭐ + 评论📝+关注

 使用 MySQL数据库服务器

前言

     数据表是数据库的重要组成部分,每一个数据库都是由若干个数据表组成的。没有数据表就无法在数据库中存放数据。

俗语:一个仓库(数据库)没有货物单(数据表)就无法得知有什么货物(数据

       抽象理解:我们得想先拥有一份空白的采购单(空白的数据表),我们需要向其中添加我们需要的东西,再经过修改,采购后,采购单变成了货物单,代表了仓库拥有的货物。

而对应的数据表操作:增加数据、查询数据、修改数据和删除数据。

      第一步                                       第二步                                                   第三步

  创建数据库                                 创建数据表                                       添加数据并进行修改 

    //第一步创建一个名为商店数据库
create database shop character set utf8mb4;
   //第二步创建一个名为货物的数据表,拥有字段:商品名称、商品价格、商品库存、商品描述
create table foods(
    foods_name varchar(10) comment '货物名',
    foods_price int comment '价格',
    foods_stock  int comment '库存',
    foods_describe varchar(10) comment '用途'
);
  //第三步,使用增删查改,对数据表进行操作

一.增加数据

增添数据,有2种方法:   

     单行数据+全列插入

格式:insert   into  数据表名   values(数据1,数据2,.....,数据n);

     多行插入+指定列插入

格式:insert   into  数据表名(字段名1,字段名2)  values (数据1,数据2);(数据3,数据4);

单行数据+全列插入 代码示例:

 注:单行插入,只能插入一行,并且要与字段名的数据类型相对应。


多行插入+指定列插入 代码示例:

insert into foods(foods_name,foods_stock) values('文具盒',3);('书本',5);

数据表名后面的括号里未包含的字段名,默认值为NULL,而values之后的一个括号代表了1行数据

二.查询数据

顾名思义,查看数据表中的数据。且这种有很多方法。

1.查询数据表的所有信息                                         2.展示 数据表 某列信息

      select * from 表名;                                             select 列名 from 数据表;

                 3.查询通过计算的列,使用临时表展示。

                    select 列名1,列名2,...,列名n+数字/列  from 数据表;

4.用别名代表列名 用临时表展示 。                       5.消除取值重复的行,临时表展示

          select 列名 as 别名;                                       select  distinct  列名 from 表名;

6.将查询结果进行排序。                                  7.条件查询

      select 列名 from 表名  order by 列名;             使用where。

2.1查询数据表中所有信息

语法格式:select * from 表名; 

使用 select *from foods;查询表中信息。

 2.2查询表中指定的列信息

语法格式:select 列名 from 数据表;

例如,我们查询foods_name列信息,使用 :select foods_name  from  foods

 2.3查询通过计算的列

语法格式: select 列名1,列名2,...,列名n+数字/列  from 数据表;

这种查询有限制,一定得是数字,这样相加才有意义。例如,在foods_stock上加上20;使用:select foods_stock+20 from foods;

 2.4使用别名代替列名

语法格式:select 列名 as 别名; 

        这个经常和计算在一起使用,计算之后的列名:本来的列名+计算数,这不太优雅,因此我们可以使用其他别名代替。

        例子:newstack代替了2.3中的foods_stock+20.                                                                                  使用:select  foods_stock+20 as newstock from foods

 2.5查询不带有重复值的列

语法格式:select  distinct  列名 from 表名;

将一行里的重复值删去,只保留一个。

例如:将foods_name去重  使用:select distinct foods_name from fooks;

2.6将查询的结果进行排序 

排序有2种,一种是升序(ASC),另一种是降序(DESC)。当没有标注时,默认为升序

语法格式:  select  列名  from 表名  order by 需要排序的列名  ASC/DESC;

     注             需要展示的列                              按照ASC/DESC排序的列

例子:对foods_price进行排序且展示所有列:select * from foods order by foods_price;

2.7条件查询

2.7.1条件查询的种类       

        条件查询使用where,且条件查询需要使用到各种各样的运算符

条件查询                        运算符
比较= , >,  < , >=  ,=< , !=  ,<> , !> , !< ,  not
确定范围BETWEEN  AND ,  NOT BETWEEN  AND
确定集合IN  , NOT IN
字符匹配LIKE , NOT LIKE
空值IS NULL , IS NOT NULL
多重条件AND , OR

注:and的优先级高于or

2.7.2使用运算符查询的讲解

🌹比较大小

 这种运算符和编程语言的区别只有一个:  在编程语言使用:==   数据库中使用:=

实例代码:

//查询学生表中学号为202101234的学生;
SELECT * FROM Student where  Sno='202101234';

//查询年龄在201岁以下的学生的姓名和年龄;
select Sname , Sage from student where Sage<20;

   🌹确定范围

 确定范围的运算符有2种,between.....and和not between.......and

 使用的格式为:列名  [not] between   下限值   and  上限值;

实例代码: 

//查找学生表里,年龄在20到23岁之间的学生姓名
select Sname  from Student where Sage between 20 and 23;

//查找学生表里,年龄不在20到23之间的学生姓名
select Sname  from Student where Sage not between 20 and 23;

 🌹确定集合

   使用 IN运算符 用于查找某列的具体值。

使用格式:列名  [not] in (常量1,常量2,.......,常量n);

实例代码: 

//查询学生表中成绩是 58 或者 59 分的同学姓名
SELECT name FROM Student WHERE grade IN (58, 59);

  🌹字符匹配

字符匹配,是指:给一个匹配串,帮忙查找某列中含有此字符的数据;

使用格式:列名 [not] like <匹配串>;

字符匹配需要使用到:

  1.    _  这个短短的下划线。作用:可匹配任意字符
  2.    % 这个百分号。  作用是匹配任意数目字符。

  实例代码:

      查询学生表中 姓名 中 孙 字开头的名字。%是指无论多少个字。

SELECT Sname FROM Student WHERE Sname LIKE '孙%';
//可匹配到孙悟空、孙权等名字

        查询 学生表中 姓名 中 第2字为 的名字,使用 _  一个 _ 代表一个字符

SELECT Sname FROM Student WHERE Sname LIKE '_牛';

 🌹涉及到空值的查询

查询某列中的元素不为空,或者为空。

语法格式:列名 is [not] null;

实例代码:

//查询学生表中成绩不为空的姓名
SELECT Sname FROM Student WHERE grade IS NOT NULL;

//查询学生表中成绩为空的姓名
SELECT Sname FROM Student WHERE grade IS  NULL;

 🌹多重查询

使用and和or逻辑运算符来组成多条件查询。

  1. and:必须满足所有条件 便为true
  2. or: 满足部分条件 便为true

实例代码:

//查询学生表中成绩大于60 和 性别为男的学生姓名;
SELECT Sname FROM Student WHERE grade >60 and Sex= '男';

//查询学生表中性别为女 或者 年龄小于20的学生姓名;
SELECT Sname FROM Student WHERE Sage<20 and Sex= '女';

2.8分页查询 

就是将信息分成好几个页面来查看。

语法格式:select * from tablename limit (n-1)*m,m;

                n:求第几页的数据          m:每页显示m条数据

例如代码:

例子:
第一页数据,一页显示3行数据
select * from tablename limit 0,3;

第二页数据,一页显示3行数据   (2-1)*3,3
select * from tablename limit 3,3;

三.修改数据

修改数据使用的是update。将表中某个字段的数据进行修改。 

语法格式:update 表名  set  字段名   =  新值   [ where  条件 ];

注: [ ]里的内容是选择性的,如果没有,这是修改字段里所有数据。

例如:  将书包的foods_price的值修改为1000; 


 四.删除数据

删除表中所有数据          或       指定的数据                                                       

语法格式:delete from 表名  [ where  条件 ];           

例如:将书包这一行的数据全部删除


总结

        在对数据表元素的操作中,最为重要的是 数据的查询中的数据库运算符的使用

运算符一定一定需要学会使用。否则查询和修改会出现问题。导致数据出错。

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

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

相关文章

2015年全国硕士研究生入学统一考试管理类专业学位联考写作试题

2015年1月真题&#xff1a; 四、写作&#xff1a;第56~57小题&#xff0c;共65 分。其中论证有效性分析30 分&#xff0c;论说文35 分。 56、论证有效性分析&#xff1a; 分析下述论证存在的缺陷和漏洞&#xff0c;选择若干要点&#xff0c;写一篇600 字的文章&#xff0c;对…

MyCat2介绍以及部署和读写分离/分库分表(MyCat2.0)

一&#xff0c;MyCat入门 1.什么是mycat 官网&#xff1a;http://www.mycat.org.cn/​ mycat是数据库中间件 它可以干什么&#xff1f; 读写分离数据分片&#xff1a;垂直拆分&#xff0c;水平拆分多数据源整合 2.数据库中间件 ​ 中间件&#xff1a;是一类连接软件组件和…

KSM01.2B-061C-35N-M1-HP0-SE-NN伺服电机力士乐

​ KSM01.2B-061C-35N-M1-HP0-SE-NN伺服电机力士乐 KSM01.2B-061C-35N-M1-HP0-SE-NN伺服电机力士乐 从应用对象的规模上来说&#xff1a; PLC一般应用在小型自控场所&#xff0c;比如设备的控制或少量的模拟量的控制及联锁&#xff0c;而大型的应用一般都是DCS。当然&#x…

STM32开发——DMA(数据搬运)

目录 1.DMA简介 2.从内存到内存搬运 2.1CubeMX设置 2.2函数代码 3.内存到外设 3.1CubeMX配置 3.2 函数代码 4.外设到内存 4.1CubeMX配置 4.1函数代码 1.DMA简介 DMA(Direct Memory Access&#xff0c;直接存储器访问) 提供在外设与内存、存储器和存储器、外设 与外设…

APM二次开发(二):添加一个任务

固件版本 APM copter 4.3.1 参考&#xff1a;https://ardupilot.org/dev/docs/code-overview-scheduling-your-new-code-to-run-intermittently.html APM添加任务比PX4要简单很多&#xff0c;直接在调度器里添加函数即可。 先定义一个要调度的函数my_test() 然后加到调度器中…

C++ [STL容器反向迭代器]

本文已收录至《C语言和高级数据结构》专栏&#xff01; 作者&#xff1a;ARMCSKGT STL容器反向迭代器 前言正文适配器反向迭代器反向迭代器框架默认成员函数反向迭代器的遍历反向迭代器的比较反向迭代器数据访问反向迭代器代码测试反向迭代器 最后 前言 我们知道STL大部分容器…

(2023最新版)互联网大厂1120道Java面试真题附答案详解

很多 Java 工程师的技术不错&#xff0c;但是一面试就头疼&#xff0c;10 次面试 9 次都是被刷&#xff0c;过的那次还是去了家不知名的小公司。 问题就在于&#xff1a;面试有技巧&#xff0c;而你不会把自己的能力表达给面试官。 应届生&#xff1a;你该如何准备简历&#…

5.3.4 因特网的路由协议(四)BGP协议

5.3.4 因特网的路由协议&#xff08;四&#xff09;BGP协议 我们学习的RIP协议&#xff08;5.3.2 因特网的路由协议&#xff08;二&#xff09;基于距离向量算法的RIP协议&#xff09;和OSPF协议&#xff08;5.3.3 因特网的路由协议&#xff08;三&#xff09;OSPF协议&#x…

Python真的对初学者友好吗?其实可以从以下几点就能看出(收藏)

本文内容里我给大家分享的是一篇关于学习python有哪些必要条件&#xff0c;需要的朋友们可以学习下。 编程零基础&#xff0c;可以学习 Python 吗&#xff1f;这是很多初学者经常问我的一个问题。 当然&#xff0c;在计算机方面的基础越好&#xff0c;对学习任何一门新的编程…

强制使用本地GNSS作为时钟源带来的思考

1.背景知识 BMCA&#xff08;最佳时钟源选择算法&#xff09;&#xff1a;它是在PTP网络里面用来选择最佳时钟源的一种常见算法&#xff0c;它的执行过程包含一下四步&#xff1a; 时钟源发现&#xff1a;在网络中的PTP设备会交换时钟源信息。每个设备会公告自己的时钟源特性&…

联想拯救者电脑触摸板用不了了

文章目录 问题分析解决1. 解决方法一2. 解决方法二3. 解决方法三 问题 电脑触摸板用不了了&#xff0c;无论使用怎样的操作均未能完成对鼠标的操作 分析 这是因为被误触了“游戏模式”&#xff0c;就会出现“防误触”开关 解决 1. 解决方法一 &#xff08;开机输入密码前…

汽车EDI:如何与SAS建立 EDI 连接?

SAS Automotive Systems &#xff08;以下简称为&#xff1a;SAS&#xff09;是一家全球领先的汽车零部件制造商&#xff0c;总部位于德国。该公司专注于汽车电子技术和系统集成领域&#xff0c;为世界各大汽车制造商提供创新的解决方案。 EDI&#xff08;电子数据交换&#x…

MFC扩展库BCGControlBar Pro v33.5亮点 - Ribbon Bar等全新升级

BCGControlBar库拥有500多个经过全面设计、测试和充分记录的MFC扩展类。 我们的组件可以轻松地集成到您的应用程序中&#xff0c;并为您节省数百个开发和调试时间。 BCGControlBar专业版 v33.5已正式发布了&#xff0c;此版本包含了Ribbon&#xff08;功能区&#xff09;自定义…

『 前端三剑客 』:CSS常用属性

文章目录 一 . CSS常用元素属性1.1 字体家族和 字体大小1.2 设置字体粗细 font-weight1.3 文字样式1.4 文字颜色1.5 文本对齐1.6 文本装饰1.7 文本缩进1.8 背景属性1.9 边框设置 二 . 元素的显示模式2.1 块级元素2.2 行内元素2.3 css 盒子模型 三 . 弹性布局3.1 开启弹性布局3.…

springboot+vue地方美食分享网站(java项目源码+文档)

风定落花生&#xff0c;歌声逐流水&#xff0c;大家好我是风歌&#xff0c;混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的地方美食分享网站。项目源码以及部署相关请联系风歌&#xff0c;文末附上联系信息 。 &#x1f495;&#x1f495;作者&#xff1a;风…

Python基础(9)——Python运算符

Python基础&#xff08;9&#xff09;——Python运算符 文章目录 Python基础&#xff08;9&#xff09;——Python运算符目标运算符的分类1. 算数运算符2. 赋值运算符3. 复合赋值运算符4. 比较运算符5. 逻辑运算符5.1 拓展 总结 目标 掌握常用运算符的作用 运算符的分类 算数…

weboffice获取外部剪切板内容解决方案

1、初始化引入sdk时&#xff0c;需要传入监听函数 -- getClipboardData 在移动端 APP 需要从系统剪切板获取数据时&#xff0c;可以使用该接口。 目前仅支持移动端表格以及文字&#xff0c;并且 JSSDK 版本为 v1.1.6 可以通过传入 获取系统剪切板数据函数 在文档粘贴的时候&…

「深度学习之优化算法」(四)遗传算法

1. 遗传算法简介 遗传算法(Genetic Algorithms,GA)是一种模拟自然中生物的遗传、进化以适应环境的智能算法。由于其算法流程简单,参数较少优化速度较快,效果较好,在图像处理、函数优化、信号处理、模式识别等领域有着广泛的应用。   在遗传算法(GA)中,每一个待求问题…

“鸡兔同笼”问题蕴含的数学思维、数学思想

郭靖 [摘 要]“鸡兔同笼”问题是我国古代数学里的经典问题&#xff0c;出自《孙子算经》&#xff0c;也是小学数学的拓展内容。“鸡兔同笼”问题是一类题的总述&#xff0c;其背后隐藏着不同的解题策略与思维。教师应剖析由“鸡兔同笼”问题延伸出来的解题思路与思考方式&…

社交电商以人为核心,流量营销矩阵该如何打造

​ 从流量运营的角度来看&#xff0c;社交电商和传统电商最大的区别在于&#xff0c;社交电商在一开始就不是以流量为核心&#xff0c;而是以人为核心。 具体来说&#xff0c;就是通过社交关系链把消费者串联起来&#xff0c;打造一个巨大的流量池。在这个流量池中&#xff0…