laravel数据库操作
原生方法
Db::select('select * from users where active = ?',[1]);//查询,第一个参数原生语句第二个参数where条件 Db::insert('insert into users (id, name) values (?, ?)')//插入参数 Db::update('update users set votes = 100 where name = ?')//更新语句 Db::delete('delete form users where id = ?',[1]);//删除,一定要带条件否则会删除所有记录
查询构造器
Db::table('user')->get();//以对象形式返回user表的所有数据结果 Db::table('user')->where('id',1)->first();//只获取一行数据 Db::table('user')->where('id',1)->value('name');//获取单个字段 Db::table('user')->pluck('name');//获取一列 Db::table('user')->count();//获取总数 Db::table('user')->max('id');//获取id最大的数据 Db::table('user')->min('id');//获取id最小的数据 Db::table('user')->sum('');//查询和 Db::table('user')->distinct()->get();//返回不重复的结果集 Db::table('user')->select('name','email as user_email')->get();//获取指定列并定义email别名 $query = DB::table('users')->select('name'); $users = $query->addSelect('age')->get();//子查询 DB::table('users')->join('contacts', 'users.id', '=', 'contacts.user_id')->join('orders', 'users.id', '=', 'orders.user_id')->select('users.*', 'contacts.phone', 'orders.price')->get();//join查询内连接,leftjoin表示左连接,crossJoin交叉连接Db::table('user')->insert();//插入Db::table('user')->insertGetId();//插入并返回自增idDb::table('user')->where('id',1)->update();//更新Db::table('user')->increment('votes',5,['name'=>'张三']);//增加votes字段值,第二个参数不给默认为1,第三个参数是条件Db::table('user')->decrement('votes',5,['name'=>'张三']);//减少votes字段值Db::table('user')->where('name','张三')->delete();//删除Db::table('user')->truncate();//截断表
where用法
where('id',1);//等于相当于where('id','=',1) where('id','>=',100);//大于等于 where('id','<>',100);//不等于 where('id','like','T%');//模糊查询 where([['id',100],['status','=',1]]);//数组作为条件 where('id','>',10)->orWhere('name','张三');//or语句,多条件查询 whereBetween('id',[1,100]);//区间查询,查询1到100之间的数据 whereNotBetween('id',[1,100]);//区间查询,查询不在1到100之间的数据 whereIn('id',[1,2,3]);//数组查询,查询数组中给定条件对应的数据,此处查询id等于1,2,3的这3条数据 whereNotIn('id',[1,2,3]);//数组查询,查询查询数组中给顶条件之外的数据,此处查询id不等于1,2,3的所有数据 whereNull('name');//查询给定字段为null的数据 whereNotNull('name');//查询给定字段不为null的数据 whereDate('created_at','2019-08-01');//时间查询,查询某一天的数据 whereMonth('created_at','10');//时间查询,根据月份查询 whereDay('created_at','10');//时间查询,查询指定日期的数据 whereYear('created_at','2019');//时间查询,查询指定年份的数据 whereColumn('first_name','last_name');//查询两个字段相等的数据,还可用'>','<'查询
排序
Db::table('user')->orderBy('created_at','desc')->get();//倒叙查询Db::table('user')->latest()->get();//通过日期对结果进行排序,默认以created_at进行排序Db::table('user)->inRandomOrder()->first();//随机排序
分组
DB::table('user')->groupBy('account_id')->having('account_id', '>', 100)->get();//分组查询 having是条件
数据库事务
/*自动方式*/ DB::transaction(function () {//对表的操作 });//此方法遇到错误异常自动回滚,如果执行成功自动提交/*手动方式*/ DB::beginTransaction();//开启事务 DB::rollBack();//事务回滚 DB::rollBack();//事务提交
读写分离
在database.php中配置 'mysql' => ['read' => ['host' => '127.0.0.1',],'write' => ['host' => '127.0.0.2'],'driver' => 'mysql','database' => 'database','username' => 'root','password' => '','charset' => 'utf8','collation' => 'utf8_unicode_ci','prefix' => '', ],//read为读的数据库,write为写的数据库,两个数据库采用同样的配置(用户名/密码等)//单独配置方式如下'rade' => [ 'host' => '127.0.0.1', 'database' => 'name1', 'username' => 'username1', 'password' => 'password1',],'write' => [ 'host' => '127.0.0.2', 'database' => 'name2', 'username' => 'username2', 'password' => 'password2',]//还可以配置多个读数据库随机选择'rade' => [ 'host' => '127.0.0.1,127.0.0.3',]
转载于:https://www.cnblogs.com/notesbooks/p/11308122.html
laravel数据库操作相关推荐
- laravel 数据库操作(表、字段)
1)创建表(make:migration create),例如创建 articles php artisan make:migration create_articles_table 运行命令后,会在 ...
- laravel mysql sum,Laravel 数据库操作
mysql DB 运行原始语句 select 查找 // 参数绑定 $users = DB::select('select * from users where active = ?', [1]); ...
- laravel mysql增删改查_Laravel框架数据库操作的增删改三种方式 阿星小栈
Laravel提供了3种操作数据库方式:DB facade(原始方式).查询构造器和Eloquent ORM. 数据库的配置文件在config目录下的database.php里.打开这个文件,找到my ...
- laravel数据库相关操作
SQL查询 配置好数据库连接后,可以使用 DB facade 运行查询.DB facade 为每种类型的查询提供了方法:select.update.insert.delete 和 statement. ...
- Laravel 数据库实例教程 —— 使用DB门面操作数据库
Laravel支持多种数据库,包括MySQL.Postgres.SQLite和SQL Server,在Laravel中连接数据库和查询数据库都非常简单,我们可以使用多种方式与数据库进行交互,包括原生S ...
- 关于laravel数据库问题
2019独角兽企业重金招聘Python工程师标准>>> 我现在使用: 1)$get_infos = DB::table('game_info')->where('type',$ ...
- larval 操作mysql数据库_laravel的数据库操作(三种)
laravel中提供了DB facade(原始查找).查询构造器和 Eloquent ORM三种操作数据库方式 1.新建数据表与连接数据库 1.1 新建数据表 学生表 CREATE TABLE IF ...
- php单独使用laravel数据库 | laravel手动关闭数据库连接
安装 composer require illuminate/database laravel单独使用案例 增删改查-手动关闭数据库 <?php date_default_timezone_se ...
- Laravel 数据库
1.应用场景 用于与数据库的交互. 2.学习/操作 环境: Windows10 64位 专业版 laravel 5.8+ 2.1 数据迁移 migrate --- 可测试数据库是否连接正常 http ...
最新文章
- 智能化招聘管理系统Moka完成B轮1.8亿人民币融资,高瓴资本领投
- LinuxUNIX系统编程手册(英文版)pdf
- kotlin使用代码javaClass或class.java报错:unresolved reference
- OpenGL:纹理Textures
- 前端学习(219):css伪类选择器
- python程序多次运行_Python内怎么使同一个.py文件多次运行?
- Linux内核调试原理和工具介绍--理解静态插装/动态插装、tracepoint、ftrace、kprobe、SystemTap、Perf、eBPF
- 天猫双11菜鸟物流绿色减碳1.8万吨 120万人参与快递箱回收
- 心痛!常德网约车司机遇害 滴滴回应:已成立应急处置小组
- PEB标记反调试方法
- maya界面字体大小修改方法
- java设计模式(创建型)之生成器模式
- 【网络学习】Coverity代码检查工具详细介绍
- android重复点击屏幕,手机不ROOT.推荐一款android能用的屏幕连点器,类似按键精灵!...
- Unity Shader 详细自学(一)
- 解决路由器中继不能连中文ssid问题
- 让国外买家秒回复的询盘模板示例
- 前端method常见请求方式
- 【演示文稿制作软件】Focusky教程 | 贯穿整个演示文稿背景音乐的添加与设置
- 洛谷OJ:P5960 【模板】差分约束算法
热门文章
- Guava之FluentIterable使用示例
- Fragment 源码解析
- 禁止显示“You have new mail in /var/spool/mail/root”
- POS 收款机资料整理
- postfix 554-5.7.0 Reject
- ros 工作流程图4
- (原创)按照一定的格式生成一定数量的随机数的例子
- 构建Dubbo-2.0.7源码
- 把两个文件捆绑压缩成一个文件命令
- 怎样加入� android private libraries 中的包的源码