laravel 操作mysql数据库的三种方式

2023-11-08

一、使用DB门面操作

需要引入 DB类 Illuminate\Support\Facades\DB

查询数据库记录

DB::select(SQL语句);

DB::select('select * from `stu` from ')	//以数组形式返回结果

增加数据库记录

DB::insert(SQL语句);

DB::insert("insert into `stu` (`name`,`sex`,`class_id`,`age`,`tall`) values ('刘素五','男',3,15,166);");

更新数据库记录

DB::update(SQL语句);

DB::update("update `stu` set `name` = '张三峰' where id = 10");

删除数据库记录

DB::delete(SQL语句);

	DB::delete("delete from `stu` where `id` = 21");

二、使用查询构造器

需要引入 DB类 Illuminate\Support\Facades\DB

查询数据库记录

DB::table('stu')->get(); //查询所有数据
DB::table('stu')->where('id','<',5)->where('id','>',3)->get();  //查询id大于3且小于5的记录
DB::table('stu')->all(); //查询所有数据,不能使用where条件
DB::table('stu')->select('name','sex')->get(); //查询name,sex两个字段
DB::table('stu')->orderBy('age','desc')->get();  //将查询结果按年龄升序显示
DB::table('stu')->orderBy('age','asc')->get()->first(); //查询年龄最大的一条记录
DB::table('stu')->limit(5)->get();  //取5条记录
DB::table('stu')->limit(5)->offset(2)->get();  //从第二条记录开始取5条记录
//每次从数据库中查询5条记录,直到查询完所有的记录
DB::table('stu')->chunk(5,function($students){
	var_dump($students);
	//return false;  //只查询一次
})-get(); 
DB::table('stu')->find(2); //查询id为2的记录

//聚合函数
DB::table('stu')->count(); 	   //返回所有记录数
DB::table('stu')->max('age');  //返回年龄最大的值
DB::table('stu')->min('age');  //返回年龄最小的值
DB::table('stu')->avg('age');  //返回年龄的平均值
DB::table('stu')->sum('age');  //返回年龄的总和

增加数据库记录

//增加多条记录
DB::table('stu')->insert([
	[
		'name' => '张三疯',
		'sex' => '男',
		'age' => 18
	],
	[
		'name' => '赵四颠',
		'sex' => '男',
		'age' => 18
	]
]); 

//增加一条记录
DB::table('stu')->insert([
	'name' => '夏月月',
	'sex' => '女',
	'age' => 18
]); 

DB::table('stu')->insertGetId([
	'name' => '孙磊磊',
	'sex' => '男',
	'age' =>18
]);

更新数据库记录

//修改id为5的记录
DB::table('stu')->where('id',5)->update([
	'name' => '慕容晓月',
	'sex' => '女',
	'age' => 23
]);

删除数据库记录

//删除id大于20的记录
DB::table('stu')->where('id','>',20)->delete();
//删除姓名为空的记录
DB::table('stu')->where('name',null)->delete();

三、使用模型

增删改查几乎和构造查询构造器差不多

站点目录下使用composer创建模型

#php artisan make:model Home/Student
//模型类中的代码

//定义关联的数据表
protected $table = 'stu';
//定义主键
protected $primaryKey = 'id';
//设置是否允许操作时间
public $timestamps = false;
//设置允许批量赋值的字段
protected $fillalble = ['name','sex','age','class_id','tall'];

查询数据库记录

Student::get(); //查询数据库的所有记录 返回的是对象
Student::get()->toarray();  //将查询结果转换为数组
Student::where('id','<',10)->get(); //查询id小于10的记录
Student::get()->first(); //取第一条记录
Student::orderBy('age','desc')->limit(5)->get();  //取年龄最大的5条记录
Student::limit(5)->offset(10)-get(); //从第10条记录开始截取5条记录

//聚合函数
Student::count(); 	   //返回所有记录数
Student::max('age');  //返回年龄最大的值
Student::min('age');  //返回年龄最小的值
Student::avg('age');  //返回年龄的平均值
Student::sum('age');  //返回年龄的总和
### 增加数据库记录
```php
//增加多条记录
Student::insert([
	[
		'name' => '张三疯',
		'sex' => '男',
		'age' => 18
	],
	[
		'name' => '赵四颠',
		'sex' => '男',
		'age' => 18
	]
]); 

//增加一条记录
Student::insert([
	'name' => '夏月月',
	'sex' => '女',
	'age' => 18
]); 

Student::insertGetId([
	'name' => '孙磊磊',
	'sex' => '男',
	'age' =>18
]);

更新数据库记录

//修改id为5的记录
Student::where('id',5)->update([
	'name' => '慕容晓月',
	'sex' => '女',
	'age' => 23
]);

删除数据库记录

//删除id大于20的记录
Student::where('id','>',20)->delete();
//删除姓名为空的记录
Student::where('name',null)->delete();
//删除主键id为5,10的记录
Student::destroy(5,10);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

laravel 操作mysql数据库的三种方式 的相关文章

随机推荐

  • Rust- 多线程

    Rust s standard library provides support for native threads with its std thread module allowing you to run code in paral
  • CGI的编译和执行

    g DDOCUMENT ROOT var www test o cgi bin suphp cgi install suphp cpp lcrypt chmod 4711 cgi bin suphp cgi service httpd re
  • 简要介绍

    神经辐射场 NeRF 原理 挑战与未来展望 1 背景介绍 随着深度学习和计算机图形学的不断发展 人工智能和图形学领域的交叉研究越来越多地受到关注 神经辐射场 NeRF 是其中一个极具潜力的研究方向 它结合了计算机图形学和深度学习 旨在通过神
  • 一秒钟变身明星:用swapface软件体验星光熠熠的感觉!

    你是否曾经想过能够用电脑或手机来实时地将自己的面部与其他人或角色进行交换 你是否曾经想过能够用一款简单易用的软件来制作出有趣或惊艳的面部交换直播 视频或图片 如果你的答案是肯定的 那么你一定要试试swapface软件 这是一款由Swapfa
  • 广元市2021年度专业技术人员公需科目 自动考试python selenium自动化

    def sou a for q in range 5 10次 browser get a time sleep 3 browser switch to default content bo browser find element by i
  • keil调试warning和error

    STM32 逻辑错误 1 若要用引脚重映射 一定要把该引脚原来的功能DISABLE 不然永远都没有想要的结果 例如 将TIM4 CH1映射到PB4 PB4原功能是JRST 因此需要调用 GPIO PinRemapConfig GPIO Pa
  • Xshell配置ssh免密码登录-密钥公钥(Public key)

    为什么80 的码农都做不了架构师 gt gt gt 1 简介 ssh登录提供两种认证方式 口令 密码 认证方式和密钥认证方式 其中口令 密码 认证方式是我们最常用的一种 这里介绍密钥认证方式登录到linux unix的方法 使用密钥登录分为
  • OpenLDAP源码安装及配置管理

    OpenLDAP源码安装 下载OpenLDAP源码 http www openldap org software download ftp ftp openldap org pub OpenLDAP openldap release tgz
  • Linux(centos8)用户管理

    添加用户 添加用户 useradd user 查看用户 id user 修改用户密码 需要root权限 passwd user 可以直接修改当前用户密码 passwd 查看用户密码保存文件 cat etc passwd 在这里插入代码片 查
  • MDK Error #550解决方案

    Error 550 Requested device STM32F302R8Tx STMicroelectronics not found 这个报错是因为我们没有安装pack包 解决方法如下 5条消息 Keil STM32F3xx DFP
  • JavaScript 逆向调试技巧

    前段时间尝试对某音的 PC 端进行了逆向 目前已经全部逆向出来了 在这里总结下一些调试技巧和总结 本文不会涉及任何的详细代码 仅仅是作为技术来讨论 一 加密分析 在这里以账户下的视频列表为例 可以看到 在 dy 中 加密的 JS 是 web
  • 快捷给UE4项目改名

    很多时候我们对一个工程随意地起了一个随意的名字 这很常见 如果我们想要后面修改整个项目的名字 似乎应该是一件简单的事情 但是这个过程充满了陷阱 如果做错了 您可能会无意间破坏您的项目 手动的做当然是一件非常困难的事情 尤其是对于C 的项目
  • 积分商城游戏化运营?积分游戏应该如何正确设置

    积分商城是一种可以通用获得积分在其中获得礼品的线上商城 这种商城可以起到拉取新用户的作用 帮助企业以及商家带来更多的新用户 因此 一些企业和商家在进行营销的时候都选择这种方法 一般情况下 企业和商家搭建了自己的积分商城之后 就会设置一些积分
  • js 数组过滤操作 过滤两组数组相同的 id

    过滤两组数组相同的 id const arr1 id 145 firstname dave lastname jones id 135 firstname mike lastname williams id 148 firstname bo
  • Zookeeper 的下载安装

    文章目录 一 下载 二 解压 1 在解压后的 bin 目录下 新增两个文件夹 2 在 conf 下 将 zoo sample cfg 复制一份 重命名为 zoo cfg 3 修改 zoo cfg 三 测试 1 启动服务端 2 启动客户端 3
  • Git下载和Git常用命令

    下载git 要下载和安装 Git 请按照以下步骤进行操作 1 访问官方网站 打开 Git 官方网站 https git scm com 2 下载 Git 安装程序 3 选择适用于你的操作系统的下载链接 Git 支持多个操作系统 包括 Win
  • SpringFramework核心技术一(IOC:基于Java的容器配置)

    Bean和 Configuration Spring新的Java配置支持中的中心构件是 Configuration注释类和 Bean注释方法 一 基本概念 Bean和 Configuration Spring新的Java配置支持中的中心构件
  • Nginx下同域部署多个Vue项目(history路由模式),报404、500错误

    主要内容 一 环境 二 问题描述 三 问题解决 1 修改vue项目中的vue config js文件 2 修改Nginx的nginx conf配置文件 3 Nginx目录结构 一 环境 系统 windows nginx 1 20 2 nod
  • 整理 qt opengl,自己的基础框架 —— 绘制一个彩色三角形

    网上很多都是QGLWidget例子 而cube 虽然说明文档上说再简单不过了 但是对于一个0基础的来说 还是像看天书一样 opengl的例子还有一个hellgl2 看着比较简单 但是那个log生成的代码使用了QVector3D显得有点复杂
  • laravel 操作mysql数据库的三种方式

    一 使用DB门面操作 需要引入 DB类 Illuminate Support Facades DB 查询数据库记录 DB select SQL语句 DB select select from stu from 以数组形式返回结果 增加数据库