原生方法

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数据库操作相关推荐

  1. laravel 数据库操作(表、字段)

    1)创建表(make:migration create),例如创建 articles php artisan make:migration create_articles_table 运行命令后,会在 ...

  2. laravel mysql sum,Laravel 数据库操作

    mysql DB 运行原始语句 select 查找 // 参数绑定 $users = DB::select('select * from users where active = ?', [1]); ...

  3. laravel mysql增删改查_Laravel框架数据库操作的增删改三种方式 阿星小栈

    Laravel提供了3种操作数据库方式:DB facade(原始方式).查询构造器和Eloquent ORM. 数据库的配置文件在config目录下的database.php里.打开这个文件,找到my ...

  4. laravel数据库相关操作

    SQL查询 配置好数据库连接后,可以使用 DB facade 运行查询.DB facade 为每种类型的查询提供了方法:select.update.insert.delete 和 statement. ...

  5. Laravel 数据库实例教程 —— 使用DB门面操作数据库

    Laravel支持多种数据库,包括MySQL.Postgres.SQLite和SQL Server,在Laravel中连接数据库和查询数据库都非常简单,我们可以使用多种方式与数据库进行交互,包括原生S ...

  6. 关于laravel数据库问题

    2019独角兽企业重金招聘Python工程师标准>>> 我现在使用: 1)$get_infos = DB::table('game_info')->where('type',$ ...

  7. larval 操作mysql数据库_laravel的数据库操作(三种)

    laravel中提供了DB facade(原始查找).查询构造器和 Eloquent ORM三种操作数据库方式 1.新建数据表与连接数据库 1.1 新建数据表 学生表 CREATE TABLE IF ...

  8. php单独使用laravel数据库 | laravel手动关闭数据库连接

    安装 composer require illuminate/database laravel单独使用案例 增删改查-手动关闭数据库 <?php date_default_timezone_se ...

  9. Laravel 数据库

    1.应用场景 用于与数据库的交互. 2.学习/操作 环境: Windows10 64位 专业版 laravel 5.8+ 2.1 数据迁移 migrate  --- 可测试数据库是否连接正常 http ...

最新文章

  1. 智能化招聘管理系统Moka完成B轮1.8亿人民币融资,高瓴资本领投
  2. LinuxUNIX系统编程手册(英文版)pdf
  3. kotlin使用代码javaClass或class.java报错:unresolved reference
  4. OpenGL:纹理Textures
  5. 前端学习(219):css伪类选择器
  6. python程序多次运行_Python内怎么使同一个.py文件多次运行?
  7. Linux内核调试原理和工具介绍--理解静态插装/动态插装、tracepoint、ftrace、kprobe、SystemTap、Perf、eBPF
  8. 天猫双11菜鸟物流绿色减碳1.8万吨 120万人参与快递箱回收
  9. 心痛!常德网约车司机遇害 滴滴回应:已成立应急处置小组
  10. PEB标记反调试方法
  11. maya界面字体大小修改方法
  12. java设计模式(创建型)之生成器模式
  13. 【网络学习】Coverity代码检查工具详细介绍
  14. android重复点击屏幕,手机不ROOT.推荐一款android能用的屏幕连点器,类似按键精灵!...
  15. Unity Shader 详细自学(一)
  16. 解决路由器中继不能连中文ssid问题
  17. 让国外买家秒回复的询盘模板示例
  18. 前端method常见请求方式
  19. 【演示文稿制作软件】Focusky教程 | 贯穿整个演示文稿背景音乐的添加与设置
  20. 洛谷OJ:P5960 【模板】差分约束算法

热门文章

  1. Guava之FluentIterable使用示例
  2. Fragment 源码解析
  3. 禁止显示“You have new mail in /var/spool/mail/root”
  4. POS 收款机资料整理
  5. postfix 554-5.7.0 Reject
  6. ros 工作流程图4
  7. (原创)按照一定的格式生成一定数量的随机数的例子
  8. 构建Dubbo-2.0.7源码
  9. 把两个文件捆绑压缩成一个文件命令
  10. 怎样加入� android private libraries 中的包的源码