1.1、基本的增删改查语句
插入数据
增删改查俗称为,这也是运行之后执行次数最多的一类语句,同时也是每位开发者写的最多的语句,接下来则说说这块的语句,首先登场的是咱们的几位老伙伴,即这类普通语句。
• :向指定的表中插入一条数据。
• :向表中插入多条数据。
• :插入一条数据,但只插入某个字段的值。
如果要插入一条完整的数据,字段名可以用代替所有字段,除开上述两种插入数据的基本方式外,还有几种批量插入的方式,如下:
上述批量插入数据的方式中,还可以通过关键字来实现插入,它与有啥区别呢?答案在于它可以实现批量更新,使用关键字来插入数据的表必须要有主键,会根据主键值来决定新增或修改数据,当批量插入的数据中,主键字段值在表中不存在时,则会向表中插入一条相应的数据,而当插入数据中的主键值存在时,则会使用新数据覆盖原有的老数据。
删除数据
• :删除一张表的所有数据。
• :根据条件删除一条或多条数据。
• :清空一张表的所有数据。
修改数据
• :修改表中所有记录的数据。
• :根据条件修改一条或多条记录的数据。
• :批量修改对应主键记录的数据。
查询数据
• :查询一张表的所有数据。
• :根据条件查询表中相应的数据。
• :根据条件查询表中相应数据的指定字段。
• :对查询后的结果集,进行某个函数的特殊处理。
上述三种是最基本的查询方式,接着来看一些高级查询语法,如下:
当然,对于中支持的函数稍后再展开聊,下面再聊聊一些其他的高级查询语法,如分组、过滤、子查询、关联查询等。
分组过滤、数据排序
写语句时,有些需求往往无法通过最基本的查询语句来实现,因此就需要用到一些高级的查询语法,例如分组、过滤、排序等操作,接着先聊聊这个,语法如下:
实际上这些语句,更多的要配合一些聚合函数使用,如,这样才能更符合业务需求,但对于聚合函数后面再介绍,先简单说说的区别:
这两个关键字都是用来做条件过滤的,但优先级会比高,因此当分组后需要再做条件过滤时,就无法使用来做筛选,而就是用来对分组后的结果做条件过滤的。查询语句中的各类关键字执行优先级为:。
子查询
子查询也可以理解成是查询嵌套,是指一种由多条语句组成的查询语句,语法如下:
在上述子查询语法中,的作用和大致相同,只不过时会触发全表扫描,而依旧可以走索引查询,因此通常情况下尽量使用代替来查询数据。
关联查询
关联查询也被称之为连表查询,也就是指利用主外键连接多张表去查询数据,这几乎也是日常开发中写的最多的一类查询语句,中支持多种关联类型,如:
• 交叉连接
• 内连接
• 外连接:
• 左外连接
• 右外连接
• 全外连接
语法如下:
对于连表查询的语法相信大家都并不陌生,因此不做过多产生,重点讲一下多表联查时的笛卡尔积问题,所谓的笛卡尔积问题就是指两张表的所有数据都做关联查询,一般连表查询都需要指定连接的条件,但如果不指定时,默认会将左表每一条数据挨个和右表所有数据关联一次,然后查询一次数据。比如左表有条数据,右表有条数据,笛卡尔积情况出现时,一共就会查询出条数据。
到此这篇增删改查sql语句是什么(增删改查mysql)的文章就介绍到这了,更多相关内容请继续浏览下面的相关推荐文章,希望大家都能在编程的领域有一番成就!笛卡尔积现象出现时,会随着表数据增长越来越大,因此在连表查询时一定要消除笛卡尔积问题,咋消除呢?其实就是指定加上关联条件即可。
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/sqlbc/34462.html