返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >Laravel框架03:DB类操作数据库
  • 230
分享到

Laravel框架03:DB类操作数据库

数据库laravelphp 2023-09-01 19:09:37 230人浏览 独家记忆
摘要

Laravel框架03:DB类操作数据库 一、概述二、数据表的创建与配置三、增删改操作1. 增加信息2. 修改数据3. 删除数据 四、查询操作1. 取出基本数据2. 取出单行数据3. 获取

Laravel框架03:DB类操作数据库

一、概述

  • 按照mvc架构,对数据的操作应该放在Model中完成,但如果不使用Model,也可以用Laravel框架的DB类操作数据库
  • 对于某些极其复杂的sql,用Model难以完成。即可使用DB类去执行原生SQL。
  • 基本用法:DB::table('tableName')获取tableName表的实例。

二、数据表的创建与配置

  • 建立数据库和数据表

    CREATE DATABASE `test` CHARACTER SET 'utf8' COLLATE 'utf8_general_ci';use test;create table member(id int PRIMARY KEY auto_increment,name VARCHAR(32) not null,age TINYINT UNSIGNED not null,email VARCHAR(32) not null)ENGINE myisam charset utf8;
  • 数据库在Laravel中的配置
    在这里插入图片描述

  • 在config/database中默认开启了严格模式。开发时可以关闭。
    在这里插入图片描述

  • 在config/app.PHP中已经引入了DB门面
    在这里插入图片描述

三、增删改操作

1. 增加信息

  • 对数据库中的某个表增加数据主要有两个函数
    1. insert() 可以增加一条或多条,返回值是布尔类型。
    2. insertGetID() 只能添加一条数据,返回自增的ID。
  • 添加一条数据
public function add() {    $db = DB::table("member");    $result = $db->insert([        'name' => "冬梅",        'age' => 18,        'email' => "dongmei@qq.com"    ]);    dd($result);}
  • 添加多条数据
public function add() {    $db = DB::table("member");    $result = $db->insert([        [            'name' => "冬梅",            'age' => 18,            'email' => "dongmei@qq.com"        ],        [            'name' => '秋雅',            'age' => 19,            'email' => "qiuya@qq.com"        ]    ]);    dd($result);}
  • 添加一条记录并获取ID
public function add() {    $db = DB::table("member");    $result = $db->insertGetId([        "name" => "夏洛",        "age" => 20,        "email" => "xialuo@qq.com"    ]);    dd($result);}

2. 修改数据

  • 数据修改可以使用 update()、increment()、decrement() 实现。

    • update 可以修改整个记录中的全部字段,返回影响行数。
    • increment、decrement修改数字字段(递增或递减)
  • 使用 where(字段, 运算符, 值) 限定数据。如果运算符为=,第二个参数可以不写。

    • where()->where()…:这个语法是并且(and)关系。
    • where()->orWhere()…:这个语法是或者(or)关系。
  • 修改ID为1的名字和年龄

    public function update() {    $db = DB::table("member");    $result = $db->where("id", "=", 1)->update([        "name" => "张三丰",        'age' => 200    ]);    dd($result);}
  • 把ID为2的年龄增加10。

    public function update() {    $db = DB::table("member");    # 加10    $result = $db->where("id", 2)->increment('age', 10);    # 减10    $result = $db->where("id", 2)->decrement('age', 10);    dd($result);}

3. 删除数据

  • 在删除中,有两种方式:物理删除、逻辑删除(修改为空)
  • 物理删除:DB::table('tableName')->where('id', 1)->delete();。返回影响行数。
  • 清空整个表:DB::table('tableName')->truncate();

四、查询操作

1. 取出基本数据

  • 取出表中所有数据:DB::table('member')->get();。返回值是一个Collection(集合)对象。

    public function select() {    $db = DB::table("member");    $result = $db->get();    dd($result);}

    在这里插入图片描述

  • 遍历Collection对象,所获得的也是一个对象。

    public function select() {    $db = DB::table("member");    $result = $db->get();    foreach ($result as $index => $item) {        echo "id是:{$item->id},名字是:{$item->name},邮箱是:{$item->email}
    "
    ; }}

    在这里插入图片描述

  • 同样能使用 where 和 orWhere 限定查询范围。

2. 取出单行数据

  • 使用 first 取出一个单行对象。等价于 limit 1。$db->first();
$data = $db->where('age', ">", 25)->first();dd($data);

3. 获取一个字段的值

  • 使用 value('字段名') 获取具体的值。
$data = $db->where('id', 1)->value("name");dd($data);

4. 获取多个字段的值

  • 使用 select('字段名') 获取多个字段的值。
$data = $db->select('name as 名字', "email")->get();dd($data);

在这里插入图片描述

5. 排序

  • 使用orderBy() 对数据进行排序
$data = $db->orderBy('age', 'desc')->get();dd($data);

6. 分页

  • DB::table('member')->limit(3)->offset(2)->get();
    • limit:限制输出的行数
    • offset:从什么地方开始
    • 组合起来等价于:limit 5, 5
  • paginate 方法根据用户浏览的当前页码,自动设置恰当的偏移量 offset 和限制数 limit。DB::table('users')->paginate(15);

五、执行任意的SQL语句

  1. 执行任意的修改:DB::statement("SQL语句");
  2. 执行任意的查询:DB::select("SQL语句");

来源地址:https://blog.csdn.net/realoser/article/details/129225624

--结束END--

本文标题: Laravel框架03:DB类操作数据库

本文链接: https://lsjlt.com/news/389397.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Laravel框架03:DB类操作数据库
    Laravel框架03:DB类操作数据库 一、概述二、数据表的创建与配置三、增删改操作1. 增加信息2. 修改数据3. 删除数据 四、查询操作1. 取出基本数据2. 取出单行数据3. 获取...
    99+
    2023-09-01
    数据库 laravel php
  • Laravel数据库操作之DB facade
    一、查询操作$student=DB::select("select * from user"); // 返回一个二维数组  $student va...
    99+
    2020-11-23
    Laravel数据库操作之DB facade
  • Laravel 框架中使用 MongoDB 数据库的操作
    1、先确定好自己使用的哪个版本的 Laravel 框架,再决定 composer 哪一个的 MongoDB,我使用的是 Laravel 8 所以我 composer 了 3.8 的M...
    99+
    2024-04-02
  • 详解nodejs操作mongodb数据库封装DB类
    这个DB类也算是我经历了3个实际项目应用的,现分享出来,有需要的请借鉴批评。 上面的注释都挺详细的,我使用到了nodejs的插件mongoose,用mongoose操作mongodb其实蛮方便的。 关于mo...
    99+
    2022-06-04
    详解 操作 数据库
  • laravel数据库操作
    了解 Laravel 某个模块的内部实现,最好的切入点就是从 composer.json 开始,从里面我们主要可以得到以下信息:require 字段可以知道相关的依赖包extra.laravel.providers 可以知道它的服务提供者的...
    99+
    2016-06-17
    laravel数据库操作 数据库入门 数据库基础教程 数据库 mysql
  • laravel 数据库操作
    一:数据库配置 数据库配置文件放置在config/database.php 文件中 1:基础配置 'connections' => [ 'mysql' => [ 'driver' => 'mysql', #数据...
    99+
    2023-09-07
    laravel php Powered by 金山文档
  • PHP 数据库操作与ORM 框架
    php中操作数据库的方法有两种:低级pdo api和简化操作的orm框架。pdo允许直接与数据库交互,通过连接、查询和获取结果的步骤实现。orm框架(如doctrine)将数据库表映射为...
    99+
    2024-04-30
    php orm mysql
  • NodeJs Express框架如何操作MongoDB数据库
    这篇文章主要介绍“NodeJs Express框架如何操作MongoDB数据库”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“NodeJs Express框架如何操作MongoDB...
    99+
    2023-07-04
  • Laravel框架如何处理数据类型?
    Laravel是一个非常流行的PHP框架,它提供了许多有用的功能,包括处理数据类型。在本文中,我们将讨论Laravel框架如何处理数据类型,并展示一些示例代码。 数据类型概述 在Laravel中,数据类型是指变量可以存储的值的类型。PH...
    99+
    2023-09-19
    数据类型 laravel spring
  • PHP单例模式怎么实现数据库操作类的框架
    这篇文章主要介绍了PHP单例模式怎么实现数据库操作类的框架的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PHP单例模式怎么实现数据库操作类的框架文章都会有所收获,下面我们一起来看看吧。在PHP中,单例是一个类有...
    99+
    2023-06-30
  • SpringMVC框架怎么搭建idea操作数据库
    这篇文章主要介绍“SpringMVC框架怎么搭建idea操作数据库”,在日常操作中,相信很多人在SpringMVC框架怎么搭建idea操作数据库问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringMVC...
    99+
    2023-06-29
  • Laravel框架,同时连接2个数据库
    在env内,写入两个数据库的信息 #默认连接DB_CONNECTION=mysqlDB_HOST=localhost //连接地址DB_PORT=3306DB_DATABASE=database //数据库名称DB_USERNAME=...
    99+
    2023-09-03
    数据库 laravel php
  • Laravel框架中如何使用MongoDB数据库
    这篇文章主要为大家展示了“Laravel框架中如何使用MongoDB数据库”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Laravel框架中如何使用MongoDB数据库”这篇文章吧。先确定好自己...
    99+
    2023-06-29
  • python orm框架SQLAlchemy简单应用(数据库操作)
    #_*_coding:utf-8_*_ ''' 创建SQLAlchemy应用基本过程 1、创建连接(和关系数据库创建连接) 2、声明映射文件(python中到类和数据库中的表做一对一的映射,这样就可以通过p...
    99+
    2024-04-02
  • .net数据库操作框架SqlSugar的简单入门
    目录介绍 框架新功能 1、配置查询 1.1 创建测试数据 1.2 传统字典联表实现缺点 1.3 配置表简化字典联表 1.4 简单联表查询也可以配置2、多租户+仓储+自动分配 3、行列...
    99+
    2024-04-02
  • ORM模型框架操作mysql数据库的方法
    【什么是ORM】 ORM 全称是(Object Relational Mapping)表示对象关系映射; 通俗理解可以理解为编程语言的虚拟数据库; 【理解ORM】 用户地址信息数据库...
    99+
    2024-04-02
  • golang gorm框架数据库的连接操作示例
    目录1. 连接数据库1.1 MySQL1.2 PostgreSQL1.3 Sqlite31.4 不支持的数据库2. 迁移2.1. 自动迁移2.2. 检查表是否存在2.3. 创建表2....
    99+
    2024-04-02
  • Python FastAPI 框架 操作Mysql数据库 增删改查
    2 比 1 更容易理解,可以先看2(单文件级别) 1、FastAPI 框架 操作Mysql数据库(项目多文件级别) FastAPI 可以使用任何您想要的关系型数据库。 在这里,让我们看一个使用着SQ...
    99+
    2023-09-06
    数据库 python fastapi
  • laravel框架中缓存的操作示例
    这篇文章给大家分享的是有关laravel框架中缓存的操作示例的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。laravel为不同的缓存系统提供了统一的API。缓存配置位于config/cache.php。Larav...
    99+
    2023-06-14
  • laravel框架 路由和表单数据传输 数据库
    设置路由: use IlluminateSupportFacadesRoute; //设置路由访问控制器只能是get访问 // Route::get(‘/user‘,‘[email protected]‘); // Route::get(...
    99+
    2016-05-05
    laravel框架 路由和表单数据传输 数据库 数据库入门 数据库基础教程 数据库 mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作