SQL 构造器-注,既 SQL 构建方法索引

SQL构造器-注,既SQL构建方法索引

作者:韩忠康
原文:https://learnku.com/docs/laravel/5.5/queries
中文(laravel-china翻译):https://learnku.com/docs/laravel/5.5/queri...
Laravel版本:5.5
本文是Laravel文档中查询构建器章节的整理,建议与文档对照阅读。

[TOC]

# 概述
# SQL构建方法索引
# 结语

概述

框架执行数据库操作,有 SQL构建 和 ORM 两种方式。其中SQL构建更直接些,而ORM更OOP一些。本文对SQL构建中用到的操作进行总结。
本文的主要总结,是SQL构建的语法。

SQL构建方法索引

方法 作用 详细
通用
table() 指定表名 详细
from() from子句 详细
DB::raw() 原生字符串 详细
插入
insert() 插入单条或多条记录 详细
insertGetId() 插入后返回自增ID 详细
更新
update() 更新,设置类更新 详细
increment() 递增更新 详细
decrement() 递减更新 详细
删除
delete() 删除记录 详细
truncate() 清空 详细
查询
select() 设置查询字段 详细
addSelect() 添加查询字段 详细
join() 连接查询,为inner join 详细
leftJoin() 左外连接 详细
rightJoin() 右外连接 详细
crossJoin() 交叉连接 详细
groupBy() 分组 详细
groupBy() 分组 详细
having() 分组后过滤 详细
groupBy() 分组 详细
havingRaw() 原始字符串having 详细
orderBy() 排序 详细
latest() 最新 详细
oldest() 最旧 详细
inRandomOrder() 随机排序 详细
skip()->take() 限定记录 详细
offset()->limit() 限定记录,同上 详细
get() 获取多条 详细
first() 查询单条 详细
value() 查询标量值 详细
pluck() 查询列 详细
count() 记录数 详细
max() 最大值 详细
min() 最小值 详细
avg() 平均值 详细
sum() 求和 详细
union() 联合 详细
unionAll() 全部联合 详细
distinct() 去重 详细
sharedLock() 共享悲观锁 详细
lockForUpdate() 独占悲观锁 详细
paginate() 分页 详细
simplePaginate() 简单分页 详细
条件
where() 条件设置 详细
orWhere() OR逻辑条件 详细
where(function(){}) 复杂逻辑条件 详细
whereBetween() between and 条件 详细
whereNotBetween() not between and 条件 详细
wherein() in 条件 详细
whereNotIn() not in 条件 详细
whereNull() is null 条件 详细
whereNotNull() is not null 条件 详细
whereDate() 年月日比较 详细
whereDay() 日比较 详细
whereMonth() 月比较 详细
whereYear() 年比较 详细
whereColumn() 比较两个字段 详细
whereExists() exists条件 详细
whereRaw() 原生字符串where 详细
直接执行SQL
DB::select() 直接执行select语句 详细
DB::update() 直接执行update语句 详细
DB::delete() 直接执行delete语句 详细
DB::insert() 直接执行insert语句 详细
DB::statement() 直接执行非CRUD语句 详细
事务支持
DB::transaction(function () {}) 事务处理 详细
DB::beginTransaction() 开启事务 详细
DB::rollBack() 回滚 详细
DB::commit() 提交 详细

详细引用的是laravel-china翻译文档,点击可以查看详请。章节划分有所不同,上下翻找即可。

结语

SQL构建,就是将SQL由方法拼凑出来,便于维护更新。laravel提供了大量的方法来使用,尤其是条件拼凑处。这样的目的是多方法,少参数。从方法名既可以判断出我们要做什么。像写文章一样写代码,这就是优雅的代码?反问ing。

Laravel-helloKang

更新内容,请关注微信公众号,小韩说理:
小韩说理

本作品采用《CC 协议》,转载必须注明作者和本文链接
韩忠康 坚持锻炼,坚持学习
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
讨论数量: 1

Good!

wherein -> whereIn

6年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!