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构建 和 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。
更新内容,请关注微信公众号,小韩说理:
本作品采用《CC 协议》,转载必须注明作者和本文链接
Good!
wherein -> whereIn