laravel学习笔记(3)— 数据库操作之 - DB façade和查询构造器

ESP8266红外控制美的空调:从协议解析到Home Assistant集成 红外遥控技术作为一种经典的非接触式控制方式,其原理是通过红外发光二极管发射经过特定频率调制的光信号来传递指令。在物联网智能家居领域,利用微控制器如ESP8266模拟红外信号,成为将传统家电接入智能生态系统的关键技术。这项技术通过精准解析生成符合设备厂商私有协议的红外编码,实现了对空调、电视等设备的远程与自动化控制,具有很高的实用价值。本文聚焦于美的空调的红外协议,深入探讨了其脉冲宽度调制(PWM)全量式编码的特点,并提供了基于ESP8266的完整解决方案,包括硬件连接、库函数API详解以及如何将其无缝 阅读详情

Laravel 中提供了DB facade(原始查找)查询构造器Eloquent ORM三种操作数据库方式

一、数据库操作之—DB facade:

新建数据表与连接数据库:

新建数据表:

CREATE TABLE IF NOT EXISTS student(
  `id` INT AUTO_INCREMENT PRIMARY KEY,
  `name` VARCHAR(255) NOT NULL DEFAULT '' COMMENT '姓名',
  `age` TINYINT UNSIGNED NOT NULL DEFAULT 0 COMMENT '年龄',
  `sex` TINYINT UNSIGNED NOT NULL DEFAULT 10 COMMENT '性别',
  `created_at` INT NOT NULL DEFAULT 0 COMMENT '新增时间',
  `updated_at` INT NOT NULL DEFAULT 0 COMMENT '修改时间'
)ENGINE=INNODB DEFAULT CHARSET = UTF8 AUTO_INCREMENT=1001 COMMENT='学生表';
连接数据库:

1.找到数据库的配置 config/database.php

'default' => env('DB_CONNECTION', 'mysql'), //查看默认数据库是否正确

//看mysql的具体配置是否正确
        'mysql' => [
            'driver'    => 'mysql',
            'host'      => env('DB_HOST', 'localhost'),
            'database'  => env('DB_DATABASE', 'forge'),
            'username'  => env('DB_USERNAME', 'forge'),
            'password'  => env('DB_PASSWORD', ''),
            'charset'   => 'utf8',
            'collation' => 'utf8_unicode_ci',
            'prefix'    => '',
            'strict'    => false,
            'engine'    => null,
        ],
2.找env文件

修改配置
DB_HOST=localhost
DB_DATABASE=test
DB_USERNAME=root
DB_PASSWORD=root

使用DB facade实现CURD

StudentController中

<?php
namespace App\Http\Controllers;

use Illuminate\Support\Facades\DB;

class StudentController extends Controller{
	public function test1(){
		
		
		//插入
		/*$bool = DB::insert('insert into student(name,age) value(?,?)',
				['imooc',19]);
		var_dump($bool);*/
		
		//修改
		/*$num = DB::update('update student set age = ? where name = ?',
				[20,'sean']); //返回成功的行数
		var_dump($num); */
		
		//查询
		/*$students = DB::select('select * from student');
		dd($students);*/
		
		//删除
		$num = DB::delete('delete from student where id > ?',['1002']); //返回成功的行数
		var_dump($num);
	}
}

?>


二、数据库操作之—查询构造器

1.查询构造器简介及新增数据

● laravel查询构造器(query builder)提供方便、流畅的接口,用来建立及执行数据库查找语法。

● 使用PDO参数绑定,以保护应用程序免于SQL注入因此传入的参数不需额外转义特殊字符。

● 基本可以满足所有的数据库操作,而且在所有支持的数据库系统上都可以执行。

使用查询构造器新增:

 	//使用查询构造器插入数据
        DB::table('student')->insert(array('name' => jason,'age' => 18)); //返回布尔类型
        DB::table('student')->insertGetId(array('name' => jason,'age' => 18)); //返回插入的id
        DB::table('student')->insert([
		['name' => 'jason','age' => 18],
		['name' => 'jason2','age' => 18]
	]); //插入多条数据,返回布尔类型
2.使用查询构造器修改数据

更新为指定的内容

 	//使用查询构造器更新数据
        DB::table('student')->where('id', 12)->update(['age' => 18]); //返回影响的行数
自增和自减

	DB::table('as_admin')->where('id', 12)->increment('age', 3); //字段自增3写,默认为1法 返回影响的行数
        DB::table('as_admin')->where('id', 12)->decrement('age', 3); //字段自减3写,默认为1法 返回影响的行数
        DB::table('as_admin')
		->where('id', 12)
		->increment('age', 3, ['name' => '张佳宁']); //自增或自减的同时更新name字段

3.使用查询构造器删除数据

● delete

● truncate

//使用查询构造器删除数据
	public function query3(){
		/*$num = DB::table('student')
			->where('id',11)
			->delete();*/

		$num = DB::table('student')
			->where('id', '>=', 9)
			->delete();

		var_dump($num);//返回删除的行数

		DB::table('student')->truncate();//整表删除,这个操作很危险,谨慎使用,不返回任何数;
	}

4.使用查询构造器查询数据

● get()          ● lists()

● first()         ● select()

● where()     ● chunk()

● pluck()

		//get() 获取表中所有数据
		//$students = DB::table('student')->get();
		
		//first() 获取第一条数据随机,常配合orderBy 一起使用
		//$students =  DB::table('student')->orderBy('id','asc')->first();
		
		//where 多条件查询
		/*$students = DB::table('student')
						->whereRaw('id >= ? and age > ?',[18,20])
						->get();*/
						
		//pluck 取结果集中一列特定列,返回字符串类型
		/*$students = DB::table('student')
						->pluck('id','name','age');*/
						
		//lists 按照Key=>value 对 的方式返回数组;最多两个参数,第一个参数作为value,第二个做为key。一个参数时与pluck用法一样
		/*$students = DB::table('student')
						->whereRaw('id >= ? and age > ?',[18,20])
						->lists('id','name','age');*/
						
		//select() 指定查询的字段
		/*$students = DB::table('student')
						->select('id','name','age')
						->get();*/
		
		//chunk() 方法 指定一次返回多少条,后跟闭包(匿名函数)
		/*echo '<pre>';	//预格式化
		DB::table('student')->chunk(2,function($students){
			var_dump($students);
			if(你的条件){
			     return false;
			}
		});*/
		dd($students);
5.查询构造器中的聚合函数

● count()            ● avg()

● max()              ● min()

● sum

  	//聚合函数
        DB::table('student')->count(); //返回记录数
        DB::table('student')->max('age'); //最大值,min同理
        DB::table('student')->avg('age'); //返回平均值
        DB::table('student')->sum('sum'); //求某一列和


WD西部数据2TB,2.5寸移动硬盘,因为磁头坏了,长时间通电导致划片划伤,维修过程通过反复更换磁头 WD西部数据2TB,2.5寸移动硬盘,因为磁头坏了,长时间通电导致划片划伤,维修过程通过反复更换磁头,才能利用专业设备,里面找到,镜像,把内容数据恢复出来。 1.说一下经历,借用的别人移动硬盘,去帮别人维修,拷数据出来,别人的文件,数据比较多,且复杂,而且是在PE系统,接口什么的是2.0,没有很好的思考就全选复制拷贝了; 2,拷贝的过程,极其慢,文件多,且文件有损坏,移动硬盘一直处于通电的状态,大概从下午,两点多开始100多G的数据,一直卡住,到,晚上7 。8点拷完还是没拷完。打开的时候就已经,就一直 阅读详情

相关推荐

基于SVD矩阵分解的用户购物篮预测分析实战

基于SVD矩阵分解的用户购物篮预测分析实战

345

Laravel数据库操作的三种方式

Laravel提供了3种操作数据库方式:DB facade(原始方式)、查询构造器Eloquent ORM。下面我将逐一讲解。 数据库的配置文件在config目录下的database.php里。打开这个文件,找到mysql的配置项。 这里有个env,它其实是调用了laravel根目录下的.env文件,这个文件存储了数据库的配置信息。打开它。修改为项目的数据库信息即可。

倾城一笑stu 12万+

AI测试干货:Claude Code Skill 从入门到精通

本文介绍了Claude Code Skill功能如何解决AI重复工作问题。传统提示词方式需要人工复制粘贴,而Skill功能通过建立AI工作记忆库实现智能触发分层加载。Skill包含工作指令、文档资源,能自动执行任务。文章以API测试用例生成为例,展示了Skill的创建流程结构化设计,包括测试框架、覆盖场景输出格式,显著提升测试工程师的工作效率。

blues_C的博客 2339

laravel记录笔记Laravel 连接数据库、操作数据库的三种方式

laravel中提供DB facade(原始查找)查询构造器、Eloquent ORM三种操作数据库方式 1、连接数据库 .env 数据库配置 DB_HOST=localhost dbhost DB_DATABASE=laravel dbname DB_USERNAM...

weixin_33744141的博客 299

如何配置database.php,数据库配置:database.php

```return [// 默认使用的数据库连接配置'default' => env('database.driver', 'mysql'),// 自定义时间查询规则'time_query_rule' => [],// 自动写入时间戳字段// true为自动识别类型 false关闭// 字符串则明确指定时间字段类型 支持 int timestamp datetime d...

weixin_39621870的博客 1272

laravel 使用 MongoDB

MongoDB 提供了面向文档的存储方式,操作起来比较简单容易,支持“无模式”的数据建模,可以存储比较复杂的数据类型,是一款非常流行的文档类型数据库。laravel-mongodb的中文官方文档:https://www.mongodb.com/zh-cn/docs/drivers/php/laravel-mongodb/current/由于我上面安装的laravel-mongodb:^3.9 版本的,在4.0以前的版本,laravel-mongodb这个包叫:jenssegers/mongodb

我码玄黄的博客 1427

laravel sqlserver扩展_laravel框架中PHP操作数据库的MysqlPDO扩展应用

Laravel中,对数据库的访问可以通过查询构造器或Eloquent ORM实现,不同的方法实现不同的底层封装,这两种封装都有同一个目的,即对底层不同数据库提供统一的操作接口.默认情况下,Laravel支持四种数据库系统,即MySQL、Postgres、SQLiteSQL Server.也就是说,当服务器程序数据库改变时(如从SQLite迁移到MySQL上),如果对数据库的操作是通过查询构造器...

weixin_33960655的博客 507

Laravel操作数据库的三种方式总结归纳

国庆这几天都在外面浪,马上要上班了,该收心了,趁今天有些空闲的时间,静下心总结下Laravel操作数据库的三种方式,以作资料参考:(三种方式:DB façade查询构造器、 Eloquent ORM ) 目录 一、使用DB façade(原始查找)操作数据库 二、使用查询构造器操作数据库(核心)(重要) 三、Eloquent ORM操作数据库 详细目录结构: 一、使用DB ...

小青蛙的博客 3928

Laravel框架学习(路由、控制器、模型)

1、路由 Route::any('/', function () { return view('welcome'); }); /* 路由群组 */ Route::group(['prefix'=&gt;'member'],function(){ Route::any('test1', ['as'=&gt;'center',function () { /*return r...

Leroi_Liu的博客 505

Laravel 数据库操作基础知识总结

一、原始DB类操作 $muse =DB::select( 'select MuId,MuName,MuPwd,MuSex,MuPhone from muser where MuName like ? or MuName like ?', ['%'.'管理'.'%','admin']); dd($muse);//json格式化

My设计Road 700

Laravel学习过程之基础知识学习使用(二)

Laravel学习过程之基础知识学习使用(二) 这个系列的第一节节写的是laravel在windows环境下的安装与配置,后面又写了laravel在linux(centos7.2)环境下的安装与配置,终于这个系列再次更新啦。 二、学习使用laravel (一)、Laravel中的路由MVC 1. 路由 l  路由简介 概念:简单地说就是讲用户的请求转发给相应的程序进行处理。

丁丁丁梦涛的博客 792

laravel 笔记

LARAVEL NOTES {{toc}} laravel简介 laravel对php版本要求 laravel5* 要求php>5.59 laravel 配置nginx后无法访问 给laravel下所有文件给读写权限 laravel配置文件 server { listen 80; server_name local.laravel.com;...

weixin_30699443的博客 224

Laravel学习篇-数据库操作查询构造器

最近小编在学习号称世界最牛框架–Laravel。其实学习框架也就是学习框架的思想! 我想在我的博客中记录我在laravel学习中的一些心得,欢迎大家关注我的其他Github博客简书,互相交流! 版本:Laravel 5.2 数据库:mysql 5.6 php:php7.1 数据库操作查询构造器Laravel中执行数据库操作有两种方式,一种是使用\DB外观对象的静态方法直接

coder for php 的博客 1803

laravel DB 查询构造器

//使用查询构造器更新数据,减少sql注入的风险 DB::table('as_admin')-&gt;where('id', 12)-&gt;update(array('age' =&gt; 18)); //返回影响的行数 没有where 就是所有行自增或者自减,返回影响的行数DB::table('表名')-&gt;incerment('字段’,步进值,[字段=》修改值]...

qq_33323831的博客 3077

Laravel摘记之DB类操作数据库

laravel中的DB类为我们提供了两个形式来操作数据库 原生sql语句操作数据库 构建器操作数据库 创建测试控制器 (1)、运行原生 SQL 语句 配置好数据库连接以后,DB类为我们提供select、update、insert、delete等方法,方便我们来操作执行sql语句。 ①、添加操作(insert) // 添加操作 $ret = DB::insert(‘inse...

龙城飞马将的博客 5179

laravelDB查询数据库后,返回的对象转为数组

先编码成json字符串,再解码成数组 Copy /** * [objectToArray 先编码成json字符串,再解码成数组] * @param [type] $object [description] * @return [type] [description] */ public function objectToArray($object) { return json_decode(json_encode($object), true); } DB查询数据库 Copy $

迷失的鱼的博客 2198

laravel5——数据模型(Eloquent ORM)

Laravel 有三宝,路由、容器 Eloquent ORM,Eloquent ORM 实际上是 Laravel 框架数据库组件的一个部分,也是最为重要常用的,所以我们在说 Laravel 数据库组件时,往往指的是 Eloquent ORM。当然,数据库篇的文章肯定要全面讲述,这样有助于理解,也能帮助一些在这一块遇到问题的朋友。 数据库组件是一个比较独立的组件,只依赖很少的东西,通过 c

爱代码也爱生活 1600

Thinkphp5第六讲:数据库操作Db--查询构造器

本节主要讲解查询构造器的含义以及使用方法,特别提示:为减少内存使用,提高效率,尽量不要使用db助手函数。 查询构造器,基于PDO实现的,可以更方便执行数据库的操作,对不同的数据库驱动都是统一的语法,同时免于SQL注入,安全性较高。解释:我们开发不同项目时,因项目需求会选择不同的数据库,常用数据库有mysql、oracle、sqlserver等,问题是每一种数据库的sql语句语法都是不尽相同的,于...

phpzt的专栏 920

laravel学习笔记查询构造器

通过路由访问控制器,来进行与数据库的交互 首先在.evn文件里面进行数据库的配置 然后代码如下:#route.php Route::get('query1','StudentController@query1'); Route::get('query2','StudentController@query2'); Route::get('query3','StudentController@que

小小的天有大大的梦想 920

laravel 获取某个查询查询SQL语句

DB::connection()-&gt;enableQueryLog();#开启执行日志 $count = DB::table('test')     //执行查询 -&gt;whereNull('deleted_at') -&gt;where('id', '=', 3) -&gt;where('Name', '=', '测...

guoguicheng的博客 1万+

数据库基本操作

一、操作数据库(1) 创建数据库CREATE DATABASE [IF NOT EXISTS] db_name [create_specification [, create_specification] ...] create_specification: [DEFAULT] CHARACTER SET charset_name | [DEFAULT] COLLATE c

wujingjing_crystal的专栏 2万+

2020年全国重点文保单位空间分布数据(Shp及excel格式,带经纬度信息).zip

2020年全国重点文保单位空间分布数据(Shp及excel格式,带经纬度信息).zip

Android Studio Koala(android-studio-2024.1.1.12-mac-arm.zip.002)

Android Studio Koala 2024.1.1(android-studio-2024.1.1.12-mac-arm.dmg)适用于macOS ARM系统,文件使用360压缩软件分割成两个压缩包,必须一起下载使用:part1: https://download.csdn.net/download/weixin_43800734/89586254part2: https://download.csdn.net/download/weixin_43800734/89586252

上一篇: laravel学习笔记(2)— Laravel中的MVC
下一篇: laravel学习笔记(4)— 数据库操作之 - Eloquent ORM
Burgdan
博客等级 码龄11年 0粉丝 29原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值