My SQL—CRUD初阶(增删改查)

article/2025/9/16 16:50:28

这里写目录标题

  • 回顾
  • My SQL基本CRUD(增删改查)操作
    • 新增
    • 查找
      • 全列查找
      • 指定列查询
      • 指定查询字段为表达式
      • 查询字段指定别名
      • 去重
      • 排序
      • 条件查询
      • 模糊查询
      • 分页查询
    • 修改
    • 删除

回顾

在这里插入图片描述

类似的,SQL Server 和Oracle也是采取类似的方式来组织数据的,这样的数据库叫做“关系型数据库”。

2.创建表
create table 表名(列名,列类型,列名,列类型…);

在My SQL里,也和其他的编程语言类似,提供了一些数据类型。常用的类型,主要有:
1.int
2.double()
3.varchar()
4.datetime

3.查看表
show tables;
4.查看表结构
desc 表名;

查看到一张表里面有几列,每一列的类型和其他信息。

5.删除表
drop table 表名:
非常危险,一旦删除,可能就恢复不了。

My SQL基本CRUD(增删改查)操作

新增

🎈inset into 表名 values(值,值…);

在这里插入图片描述
🎈insert 也可以一次插入多个行
在这里插入图片描述

values后面的每个()都对应到一行,可以一次性的带有多个(),多个()之间使用逗号来分隔。

类似的功能,也可以一次插入一行,分三个insert语句来插入
insert into student values(1,‘zahngsan’,11,66.8);
insert into student values(2,‘wangwu’,12,64.8);
insert into student values(1,‘lisi’,51,99.9);
一次插入N条记录的速度比一次插一条,分N条插入,要快很多

在这里插入图片描述

查找

全列查找

直接把一个表的所有列和所有行都查询出来。
select * from 表名;

*叫做“通配符”,表示一个表的所有列。

在这里插入图片描述
注:把一个表里面的所有行和所有列都查找到,查找的结果是一个“临时表”。之前说的数据库的表,都是在硬盘上的。而此处的这个查询结果临时表,不是在硬盘上,而是在内存中,随着进行了输出之后,数据也就被释放了。
在这里插入图片描述

select * from 表名 是一个非常危险的操作。
如果直接在生产环境的服务器上执行 select * from 表名,可能会带来灾难。
生产环境保存的数据可能是非常大的。
如果进行全列查询操作,此时就意味着My SQL服务器就会疯狂的来读取硬盘数据,瞬间就会把硬盘IO吃满,硬盘读取的速度是存在上限的,尤其是机械硬盘。同时My SQL服务器又会立即的返回响应数据,由于返回响应的数据也很大很多,也会把网卡的带宽吃满。
一旦服务器的硬盘和网络被吃满,此时数据库服务器难以对其他用户端的请求作出响应。(而生产环境的服务器,无时不刻要给普通用户提供响应)

指定列查询

只查询自己关注的列
select 列名,列名…from 表名;
在这里插入图片描述

这里在查询的时候会显示的告诉数据库要查询的是哪些列,数据库就会有针对性的返回数据了。

指定查询字段为表达式

在查询的时候,同时进行一些运算操作(列和列之间)
🎈例如:期望查询结果中的语文成绩比真实的多10分。
在这里插入图片描述

🎈查询每个同学的总分(语文+数学+英语)
在这里插入图片描述

查询字段指定别名

相当于是给查询结果的临时表,指定新的别名。
在这里插入图片描述

去重

针对查询的结果,把重复的记录去掉
在这里插入图片描述

去重之后,98的得分就只有一个了。

如果是针对多个列进行去重,就得这多个列的值都相同的时候才能视为去重。
在这里插入图片描述

排序

针对查询结果(临时表)进行排序。(不会影响到数据库服务器上的原始数据)
select 列名 … from 表名 order by 列名
🎈 针对数学成绩进行升序排序
在这里插入图片描述
🎈针对数学成绩进行降序排序
在这里插入图片描述

有的数据库记录中是带有NULL值的,像这样的NULL认为是最小的。(升序在最前面,降序在最后面)
在这里插入图片描述

🎈根据表达式进行排序
在这里插入图片描述
🎈根据别名进行排序
在这里插入图片描述
🎈 通过order by 来指定多个列进行排序
先根据第一个列进行排序,如果第一个结果相同,相同结果之间通过第二个列排序。

在这里插入图片描述
如果不指定多个列的话,只有指定的一个列,此时如果结果相同,彼此之间的顺序是不可预期的。

NULL和其他值一起运算结果还是NULL,和0没有关系。

条件查询

在select后面加上一个where字句,后面跟上一个具体的筛选条件。
select 列名 from 表名 where条件;
在这里插入图片描述

=是比较,而不是赋值。
NULL=NULL 结果仍然是NULL,会被视为假,条件不成立。
<=>也是比较相等,用法和=差不多,只是<=>比较空值结果是真。如:NULL<=>NULL比较,结果是真。

在这里插入图片描述

BETWEEN a0 AND a1构成的是闭区间

IN(option)通过后面的这个()给出的几个固定的值,判断当前结果是否在这个值当中。

is NULL
is NOT NULL
专门用来比较空值的。

like 针对结果进行“模糊匹配”

在这里插入图片描述
🎈查询英语不及格的同学。
在这里插入图片描述
🎈查询语文成绩好于英语成绩的同学
在这里插入图片描述
🎈查询总分在200以下的同学
在这里插入图片描述

where字句不能使用别名

🎈查询语文成绩大于80,并且英语成绩大于80的同学
在这里插入图片描述

🎈查询语文成绩大于80,或者英语成绩大于80的同学
在这里插入图片描述
and的优先级高于or
如果想打破优先级,需要加()
在这里插入图片描述
在这里插入图片描述
🎈查询语文成绩在[80,90]的同学
在这里插入图片描述
在这里插入图片描述
🎈查询数学成绩是58,59,98,99的同学
在这里插入图片描述
在这里插入图片描述

模糊查询

like,搭配通配符来使用

%代表任意个任意字符(也包含0个字符)

🎈查找姓孙同学的成绩

在这里插入图片描述
在这里插入图片描述

_代表只能匹配一个任意字符

在这里插入图片描述
在这里插入图片描述

分页查询

SQL中通过limit来实现分页查询
在这里插入图片描述

limit可以搭配条件,以及order by等操作来组合使用。

🎈查询总成绩前三的同学
在这里插入图片描述

select * from 表名,对于生产环境的数据库来说,非常危险,其实危不危险,看返回的结果数量是多还是少,返回的数据量少,其实还好,返回的数据比较多,就比较危险。

如何才能让sql不危险???
1.限制更严格的条件 where
使用limit更稳妥的限制。

修改

update 表名 set 列名=值,列名=值 where 条件;

set 不能省略
where指的是针对哪些进行修改,符合条件的就会修改,如果省略where,就会修改所有的记录。

注:update是会修改数据库服务器上面的原始数据

🎈将孙悟空的数学改为80分
在这里插入图片描述

此操作也非常危险。
修改如果出现操作失误,危害可能比删库还严重!!1
对于删库操作,一般公司都是有“预案的”,就可以快速的吧数据还原回来。对于误修改操作,最麻烦的是有些修改了,有些没修改。

🎈将曹孟德的数学改为60,语文改为70
在这里插入图片描述
🎈将总成绩倒数前三的3位同学的数学成绩加10分
在这里插入图片描述
🎈将所有同学的语文成绩除以2
如果要修改表里的所有数据,不加where就可以了
在这里插入图片描述

删除

delete from 表名 where 条件;
在这里插入图片描述

一旦这里的条件写错,影响非常大!!!
如果不写条件,会把整张表的数据给删除掉!(和drop table 不一样)

在这里插入图片描述

这里是删除表中所有的数据,得到一个空表,如果是drop table ,表都没有了。


http://chatgpt.dhexx.cn/article/V0lRuLFy.shtml

相关文章

balenaEtcher烧录U盘/SD卡恢复方法

今天用balenaEtcher-portable-1.5.115烧录了SD卡&#xff0c; 结果发现自己的笔记本不支持SD卡启动&#xff0c;就想把SD卡恢复了&#xff0c;结果发现win7无法恢复。度娘给的方法太费劲还不保证成功&#xff0c;就谷歌找了一下&#xff0c;很容易就找到了方法&#xff08;原文…

冰点还原精灵使用教程

DeepFreeze是一个系统的保护软件&#xff0c;不论什么原因你的系统出现了故障&#xff0c;它都可以快速的恢复到你原先的状态和设置。它会随时记录你的操作&#xff0c;当前打开的文件&#xff0c;运行着的程序和各项设置。程序安全性能非常高,目前还没有听说有什么办法能够破解…

w ndows10还原点,创建Windows10系统还原点快捷方式方法

通常情况下 Windows 10 会在系统有重大变更(例如进 Windows Update)时自动创建还原点,有些驱动程序(例如 Intel 显卡驱动)在安装时也会自动创建系统还原点,当然我们也可以在任何需要的时候手动创建还原点。本文中,我们所要介绍的是通过快捷方式创建 Windows 10 系统还原点。 检…

Android 游戏破解修改金币

这里是通过AndroidManifest.xml中的allowbackup属性去盗取手机中存储的信息,只要有信息存储在本地都可盗取出来(前提是你能拿到手机) 为什么研究这个技术:1,应用市场上修改游戏金币的软件很多,但是大概都需要root权限,所以就想能不能在不root的情况下修改金币和血量,2预防被盗信…

android 卡片放大变详情页,ConstraintLayout动画实现布局卡片式滑动放大缩放

ConstraintLayout(约束布局)是Android Studio 2.2中主要的新增功能之一,Android studio升级到2.3版本之后,不管是新建Activity或fragment,xml默认布局由RelativeLayout更改为ConstraintLayout了。 按照以往惯例先上效果图: GIF.gif 上图效果所示 根据手势滑动View 改变View…

破解联通HG8347R光猫

原文链接:https://youendless.com/post/unicom_cat 安装的联通宽带,自带的光猫设备型号HG8347R,看光猫后面可以清楚的看见这个设备是华为生产的,联通定制版本,后台管理页面基本只有设备重启这个功能了,其他所有的功能都被屏蔽,无法操作。自带光猫是不支持5G的,并且只有…

记一次MySql还原导致的无法连接

问题 昨天同事使用服务器的MySql数据库还原了一个5GB的备份&#xff0c;结果一直卡住&#xff0c;他就将数据库强行关闭&#xff0c;没再执行任何其他操作。 结果今天客户反馈登录异常。逐步排查&#xff0c;定位到是数据库无法访问。于是远程查看服务器&#xff0c;发现&…

iTerm 2 Oh My Zsh【DIY教程—亲身体验过程】完美替代教程汇总!

一年前&#xff0c;在搞终端的时候偶然一次机会&#xff0c;让我看到了各种强大的DIY界面&#xff0c;这让我很想去自己搞一个。于是在网上不断的寻找资源&#xff0c;也请教了大多数朋友。最终以失败告终。最近&#xff0c;本人又突然想起当时这件事&#xff0c;于是&#xff…

Windows Terminal美化:oh-my-posh配置记录

Windows Terminal美化&#xff1a;oh-my-posh配置记录 前置&#xff1a;安装Windows Terminal powershell&#xff0c;打开终端&#xff0c;默认路径为powershell。 这个流程踩了不少坑&#xff0c;记录在错误示范&#xff0c;正确的配置流程请移步配置流程。 [ 2023-3-13 ] …

存储卡修复软件测试自学,扩容内存卡用mydisktest失效,教你怎么用USBoot恢复出真实容量...

贪便宜在某宝花了14元包邮买了张32G的TF卡&#xff0c;购买之前不断强调如果是扩容卡卖家包邮退货&#xff0c;卖家都狠狠答应了&#xff0c;人家都这样讲了能不买吗&#xff1f;。 卡拿到手后先格式化&#xff0c;看属性还是32G&#xff0c;然后复制一个近8G的DVD镜像文件进去…

操作系统真象还原

整体框架 &#xff1a;mbr.S->loader.S&#xff1a;当os镜像被加载之后&#xff0c;cpu转去main的起止位置开始执行。&#xff08;到目前为止&#xff0c;控制权已经掌握在自己手里&#xff09; 接下来就要一步一步搭建起内核模块&#xff1a; 一&#xff1a;实现基本的输…

还原卡还原了数据能恢复吗_主动还原:我们可以更快地恢复吗? 快多了?

还原卡还原了数据能恢复吗 Hi! My name is Daulet Tymbayev, and today I want to share my experience of developing a system that (theoretically) is able to recover a disk much faster than traditional recovery. Let’s start from the beginning to cover all the p…

纯html 404页面,一款纯css3实现的漂亮的404页面_html/css_WEB-ITnose

一款纯css3实现的漂亮的404页面_html/css_WEB-ITnose 之前为大家分享了那些创意有趣的404页面&#xff0c; html5和css3打造一款创意404页面&#xff0c; HTML5可爱的404页面动画很逗的机器人。今天再给大家分享一款纯css3实现的漂亮的404页面。效果图如下&#xff1a; 在线预…

VUE 404页面的实现

效果图&#xff1a; 实现方式&#xff1a; 创建一个404的vue页面 <template><div class"wscn-http404-container"><div class"wscn-http404"><div class"pic-404"><imgclass"pic-404__parent"src"/…

Django配置404页面

目录 一.settings配置二.url设置三.views中设置四.最后附一个404页面的模板。 一.settings配置 1.首先需要在settings中将DEBUG由原来的True改为False DEBUG False2.需要设置 ALLOWED_OSTS ["*"]二.url设置 三.views中设置 def page_not_found(request,**kwarg…

收集的几个自定义的404页面的模板

文章目录 404pages : HTTP Status 404 – Not Found介绍&#xff1a;404页面分类&#xff1a;补充内容&#xff1a;致谢&#xff1a;声明 404pages : HTTP Status 404 – Not Found 介绍&#xff1a; 注&#xff1a;项目已上传到github&#xff1a;https://github.com/yanshen…

网站怎么自定义404页面

404页面是客户端在浏览网页时&#xff0c;服务器无法正常提供信息&#xff0c;或是服务器无法回应&#xff0c;且不知道原因所返回的页面&#xff0c;简单的说就是当别人访问你网站的某一个已经删除或不存在的网页的时候&#xff0c;服务器自动显示的页面。404页面对seo是有一定…

vue 中编写404页面

前言 今日给自己项目添加404页面时&#xff0c;踩了一点坑&#xff0c;分享给大家。 正文 <div class"_404"><h2 class"m-0">抱歉&#xff0c;页面未找到&#xff0c;<span>{{countDown}}</span>s后自动跳转到<a href"j…

hexo自定义404页面

1.找到你中意的404页面 推荐一款&#xff1a;https://404.life 预览保存&#xff0c;如果你看到其他喜欢的页面如何F12扒页面我就不教咯~ 2.hexo配置 2.1 把css和js放在博客下 我是放在这儿的&#xff0c;你也可以放在github&#xff0c;用jsd加速。 2.2 新建404.html 路…

缤纷多彩的404页面(404.html)

文章来源&#xff1a;https://www.skyqian.com/archives/404-Pages.html 一般而言&#xff0c;第一时间会在博客更新&#xff0c;CSDN随缘更新。 引言 别离滋味浓于酒。著人瘦。此情不及墙东柳。春色年年如旧。 ——勿埋我心 404是个很常见的页面&#xff0c;当该网站的内容搬迁…