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 协议》,转载必须注明作者和本文链接
关于 LearnKu
推荐文章: