【MySQL】MySQL表的增删查改(初阶)

这篇具有很好参考价值的文章主要介绍了【MySQL】MySQL表的增删查改(初阶)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

MySQL表的增删改查(基础)

据库最主要的操作就是增(create)删(update)改(retrieve)查(delete)。(CURD)
注意:进行增删改查操作的时候,请务必选中数据库。

增(create)

SQL中使用insert来表示新增。

insert into 表名 values(列,列,列....);

【MySQL】MySQL表的增删查改(初阶)

注意:

  1. 每次新增,都是直接新增一行。(一条记录)
  2. value后面()中的内容,个数和类型要和表的结构匹配。
  3. 在SQL中,’ 和’'都可以表示字符串。(SQL没有字符类型,只有字符串类型。其他的没有字符类型的编程语言,基本上也都是单引号双引号都行的)

【MySQL】MySQL表的增删查改(初阶)
如果是这种情况,说明当前数据库的字符集是有问题的。创建数据库,如果手动指定字符集了,以手动指定的为准,如果没有手动指定,此时就会读取MySQL的配置文件(my.ini),配置文件里面也会写一个字符集。
【MySQL】MySQL表的增删查改(初阶)
我们可以每次创建数据库手动指定即可。
【MySQL】MySQL表的增删查改(初阶)
insert除了可以插入完整的一行数据之外,还可以指定列插入。此时未被指定的列,则是以默认值来进行填充的。
【MySQL】MySQL表的增删查改(初阶)
【MySQL】MySQL表的增删查改(初阶)
如果指定多个列,就用逗号,来进行分隔。
【MySQL】MySQL表的增删查改(初阶)
在MySQL中,当前一次插入一条记录,分10次插入,效率要远低于一次把10个记录一起插入。因为MySQL是一个“客户端服务器”结构的程序。
【MySQL】MySQL表的增删查改(初阶)
原因:

  1. 由于网络请求和响应的时间开销引起的。
  2. 数据库服务区是把数据保存在硬盘上的。
  3. mysql关系型数据库,每次进行一个sql操作,内部都会开启一个事务。每次开启事务也是有一定开销的。

查询(select)

select是sql中最复杂的操作。

全列查询

查询表里的所有列

select* from 表名;

*指的是通配符。代表了所有的列。注意不要在大环境下使用select 因为服务器的硬件资源是有限的。如果在一些场景中,把某个资源吃光了,就会导致程序出现很严重的问题。
【MySQL】MySQL表的增删查改(初阶)

指定列查询

select 列名 from 表名;

通过指定列查询,相比于上面的select*查询是会精简不少的。

【MySQL】MySQL表的增删查改(初阶)

查询列为“表达式”,在查询过程中,进行一个简单地计算

select 列名 ,列名修改 from 表名;

【MySQL】MySQL表的增删查改(初阶)
【MySQL】MySQL表的增删查改(初阶)
进行表达式查询的时候,查询结果,是一个:临时表
这个临时表,并不是写入到硬盘中去的,临时表的类型也不是和原始的表完全一致。
select 只是查询,无论如何操作select都不会修改硬盘上的数据!!!
值得注意的是:如果使用的是decimal(3,1),那么98.0 是可以的100是不行的,1.25是不行的。
如果是98.05这种直接对小数点精度进行调整了(四舍五入)如果是10000,就无法调整精度,就直接报错了。
SQL对于类型本身检查并不严格,会尽可能的进行“隐式类型转换”。
Java是一个“强类型”编程语言,对于类型检查非常严格。SQL则是弱类型,会涉及到很多类型转换。
(在SQL中,Ctrl+c是终止当前要执行/要输入的内容)

给查询结果的列,指定别名

select 列名,列之间的加和 as 别名 from 表名;

as是可以省略的。但是建议加上以增加可读性。
【MySQL】MySQL表的增删查改(初阶)

查询的时候,针对列来去重(把有重复的记录,合并成一个)

select distinct 列名 from 表名;

【MySQL】MySQL表的增删查改(初阶)

针对查询结果进行排序

select 列名 from 表名 order by 列名/表达式/别名 asc/desc;

【MySQL】MySQL表的增删查改(初阶)
注意:SQL中默认的排序是升序排序也就是“asc”。
【MySQL】MySQL表的增删查改(初阶)
如果想要降序,那么手动指定desc(descend 降序)注意和上文desc(describe)表名区别。
【MySQL】MySQL表的增删查改(初阶)
MySQL中数据量是非常大的,因此有可能采用的是归并排序。具体到工作中,还得看数据库中的实现。
注意:

  1. 如果SQL中没有显式的写order by,认为查询结果的顺序,是不可预期的。写代码不能依赖自带的顺序!!!
    【MySQL】MySQL表的增删查改(初阶)
    不加order by,看起来好像是根据插入的顺序,依次排序的,但实际上,mysql并没有对顺序做任何承诺。
  2. 如果是要排序的列中,有NULL,NULL视为“最小值”。如果要是多个记录,排序的列值相同,此时先后顺序也是不确定的。
  3. 排序也可以针对 表达式/别名来进行。【MySQL】MySQL表的增删查改(初阶)
    SQL中null和任何值进行计算,结果还是null
    【MySQL】MySQL表的增删查改(初阶)
    【MySQL】MySQL表的增删查改(初阶)
    每个列的后面都可以加asc和desc;

条件查询,针对查询结果,按照一定的条件,进行筛选

where 

根据查询的结果。按行,进行筛选。
通过where指定一个“条件”
把查询到的每一行,都带入到条件中,看条件是真还是假
把条件为真的行,保留(作为临时表结果),条件为假的,舍弃。
但是要想能够描述“条件”现有一些“关系运算符”&“逻辑运算符”
【MySQL】MySQL表的增删查改(初阶)
【MySQL】MySQL表的增删查改(初阶)

由于SQL是一个比较老的数据库。所以其与Java中的很多运算符不同。
“=”在SQL中是“比较相等”的意思(在where字句中)
“<=>”是针对NULL特殊处理了。使用=来比较某个值和NULL的相等关系,结果仍然是NULL,NULL又会被当成false
模糊匹配:值不要求完全相同,只要满足一部分相等即可。
【MySQL】MySQL表的增删查改(初阶)
先把数据库中保存的数据,进行查询,查的时候,每次得到一行,就带入到条件中。
【MySQL】MySQL表的增删查改(初阶)
加入or就可以带上空值了。很多sql字句都是可以相互组合的。
【MySQL】MySQL表的增删查改(初阶)
这里是两个列进行比较。
【MySQL】MySQL表的增删查改(初阶)
在这个代码中,此处的where子句不能够使用列的别名来比较。
比如:
【MySQL】MySQL表的增删查改(初阶)
这取决于mysql内部的实现。mysql里执行查询操作的时候,现针对每一行记录,计算条件,并按照条件筛选。满足条件的记录,才会取出对应的列。并且计算列里面的表达式(生成别名)
【MySQL】MySQL表的增删查改(初阶)
并且:两边的条件,都符合。逻辑与运算。
【MySQL】MySQL表的增删查改(初阶)
逻辑或运算。
注意:条件中,**同时有and和or,先计算and后计算or。**但是我们一般情况下最好加上()加以区分。

查询语文成绩是60-90分之间:
【MySQL】MySQL表的增删查改(初阶)
查询数字成绩是 58 或者 59 或者 98 或者99 分的同学及数学成绩。

【MySQL】MySQL表的增删查改(初阶)
查询姓程的同学的成绩。
【MySQL】MySQL表的增删查改(初阶)
%可以表示任意个字符(通配符)
'程%'表示以程开头的。
'%程’表示以程结尾的。
下划线表示_ 匹配任意一个字符。
【MySQL】MySQL表的增删查改(初阶)
模糊查询对于数据库来说,查询开销是比较大的。
mysql支持的模糊匹配功能是非常有限的。但是在实际开发中,可能会遇到更加复杂的情况。于是发明了一个东西,
正则表达式,来描述这种字符串的规则的。详情见正则表达式全解析+常用示例
【MySQL】MySQL表的增删查改(初阶)
【MySQL】MySQL表的增删查改(初阶)
条件查询很重要,不仅仅搭配select使用,update/delect 也会搭配where字句,对应的条件的用法,也是完全相同的。
select * 之所以危险,是不确定查询结果有多少,如果太多们就会把机器的硬盘/带宽吃满,保证查询操作“不危险”的关键,在于控制一次查询,查出来的结果数量。就是靠where子句,通过条件来针对结果进行限制。那么怎么做,才能保证数量可控呢?在查询操作中,引入了一个limit,通过limit来限制查询结果的数量。
直接在查询语句的末尾,加上limit指定N,N就表示这次查询结果的最大值。
【MySQL】MySQL表的增删查改(初阶)
在数据库中,针对分页查询的支持,主要就是通过limit来实现的。
直接limit N,查询到的是前N条的东西。搭配offset就可以指定从第几条开始进行筛选了。
【MySQL】MySQL表的增删查改(初阶)

修改(update)

update 表名 set 列名 =where 条件;

将张星星的数学成绩改成89;
【MySQL】MySQL表的增删查改(初阶)
修改操作之后,就是切实的改了服务器的硬盘数据了,这样的修改完成后,会“持久生效”。
【MySQL】MySQL表的增删查改(初阶)
【MySQL】MySQL表的增删查改(初阶)
注意【MySQL】MySQL表的增删查改(初阶)
匹配到了三行,但是程心和程乐乐都是空值,空值是没法进行算术运算的。
update 还可以同时去修改多个列
【MySQL】MySQL表的增删查改(初阶)
update还可以搭配order by/limit等子句来进行使用。
【MySQL】MySQL表的增删查改(初阶)
【MySQL】MySQL表的增删查改(初阶)
update操作也是非常危险的。

删除(delete)

delete from 表名 where 条件;

删除张星星的成绩
【MySQL】MySQL表的增删查改(初阶)
这个操作也是在修改数据库服务器的硬盘,也是持久化删除。
后面的条件和update一样,可以支持where order by limit 。
【MySQL】MySQL表的增删查改(初阶)
注意区分:
【MySQL】MySQL表的增删查改(初阶)
以上这种删除,只是删除了表中的数据,表依然存在。(空表)
【MySQL】MySQL表的增删查改(初阶)
【MySQL】MySQL表的增删查改(初阶)
以上删除,才是删除表。文章来源地址https://www.toymoban.com/news/detail-404117.html

到了这里,关于【MySQL】MySQL表的增删查改(初阶)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【MySQL】库和表的增删查改

    需要云服务器等云产品来学习Linux的同学可以移步/--腾讯云--/--阿里云--/--华为云--/官网,轻量型云服务器低至112元/年,新用户首次下单享超低折扣。   目录 一、库的操作 1、创建数据库 2、数据库所使用的编码 2.1查询编码集和校验集 2.2查看数据库的字符集和校验集 2.3创建数

    2024年02月08日
    浏览(51)
  • 【MySQL】基本查询(表的增删查改)

    CRUD : 四种操作 Create(创建), Retrieve(读取), Update(更新), Delete(删除) 创建一张学生表 查询展示 查询展示 由于 主键 或者 唯一键 对应的值已经存在而导致插入失败 可以选择性的进行同步更新操作 语法: 插入主键冲突把插入操作该为更新操作 创建一张表 全列查询 – 通常

    2024年02月15日
    浏览(41)
  • 【MySQL探索之旅】MySQL数据表的增删查改(初阶)

    📚博客主页:爱敲代码的小杨. ✨专栏:《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 ❤️感谢大家点赞👍🏻收藏⭐评论✍🏻,您的三连就是我持续更新的动力❤️ 🙏小杨水平有限,欢迎各位大佬指点,相互学习进步! 前面我们学习了MySQL数据库

    2024年03月19日
    浏览(42)
  • 【MySQL】MySQL表的增删查改以及聚合函数/group by句子的使用

    语法: 插入两条记录,value_list 数量必须和定义表的列的数量及顺序一致 注意,这里在插入的时候,也可以不用指定id(当然,那时候就需要明确插入数据到那些列了),那么mysql会使用默认的值进行自增。 插入两条记录,value_list 数量必须和指定列数量及顺序一致 由于 主键

    2024年01月19日
    浏览(51)
  • MySQL基础——增删查改(基础)

    目录 1.前言 2.铺垫 3.正片   经过前面一段时间数据结构基础的学习,现在我们终于来到了MySQL的学习。我们先简单介绍一下什么是数据库。 为了解决 海量文件的存储与管理 问题,专家们设计出更加利于管理数据的软件——数据库,它能更有效的管理数据。数据 库可以提供远

    2024年02月06日
    浏览(42)
  • 【MySQL】增删查改基础

    需要云服务器等云产品来学习Linux的同学可以移步/--腾讯云--/--阿里云--/--华为云--/官网,轻量型云服务器低至112元/年,新用户首次下单享超低折扣。    目录 一、Create(创建) 1、insert(插入) 1.1单行数据插入 1.2多行数据插入 1.3插入或者替换更新 2、replace(替换) 二、Retrieve(读取

    2024年02月09日
    浏览(43)
  • [ MySQL ] — 基础增删查改的使用

    目录 表的增删查改 Create 单行数据 全列插入 多行数据 全列插入 多行数据 指定列插入 不存在插入存在则更新 替换  Retrieve SELECT 列   全列查询 指定列查询 查询字段为表达式  为查询结果指定别名 结果去重 WHERE 条件  结果排序 筛选结果分页 Update  Delete  删除数据 截断表

    2024年02月12日
    浏览(55)
  • C语言—实现循序表的增删查改

    嗨嗨嗨!大家好!今天我为大家分享的是数据结构知识——顺序表。废话不多数,让我们开始今天的知识分享吧。 数据结构是计算机存储、组织数据的方式。数据结构是指相互之间存在一种或多种特定关系的数据元素的集合。数据结构反映数据的内部构成,即数据由那部分构

    2024年04月15日
    浏览(54)
  • 数据结构之顺序表的增删查改

    自今日起,我们正式 越过C语言的大山 ,走向了 数据结构的深山 ,现如今摆在我们面前的第一个坎就是 顺序表 ,我们需要了解顺序表的 定义 ,并且知道,如何对其进行 增删查改 ,之后我们需要在此处基础上写出一份 通讯录代码 ,ok,顺序表,启动! 线性表( linear lis

    2024年01月23日
    浏览(68)
  • 【数据结构】单链表的增删查改(C实现)

    优势 : 可通过 下标i (数据连续(物理空间连续)) 便捷查询查找顺序表中的信息,也会在后面的 排序算法 和 堆算法 中尽显身手 问题 : 在头部/中间的插入与删除需要 挪动数据 ,时间复杂度为O(N),效率低; 增容需要申请新空间, 可能会拷贝数据 ,释放旧空间,会有

    2024年02月05日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包