【PHP系统学习】——Laravel框架数据库的连接以及数据库的增删改查的详细教程

news2025/1/25 4:42:41

在这里插入图片描述


👨‍💻个人主页:@开发者-曼亿点

👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!

👨‍💻 本文由 曼亿点 原创

👨‍💻 收录于专栏:PHP程序开发

🅰

请添加图片描述


文章目录

    • 🅰
    • 前言
    • 🎶(一)数据库的创建与配置
      • 1.建立数据:
      • 2.创建数据库和测试表
      • 3.数据库在laravel框架中配置
      • 4.在Test控制器中引导DB门面:
      • 5.定义一个增删改查需要的路由:
    • 🎶(二) insert增加数据
    • 🎶(三) delete删除数据
    • 🎶(四)update 更新数据
    • 🎶(五)select查找数据
      • 1.返回值是一个集合对象:
      • 2.使用遍历的方式查询数据:
      • 3.查询id大于2并且年龄小于21的数据:
        • 结束语🥇


前言

  按照 MVC 的架构,对数据的操作应该放在 Model 中完成,但如果不使用 Model,我们也可以用 laravel框架提供的 D8 类操作数据库。而且,对于某些极其复杂的sq!,用 Model已经很难完成,需要开发者自己手写sql语句,使用用 DB 类去执行原生sq!。larave! 中 DB类的基本用法 DB::table('tableName)获取操作 tlgleName 表的实例。


🎶(一)数据库的创建与配置


1.建立数据:

(1)sql语句
(2)图形界面

在这里插入图片描述

2.创建数据库和测试表

create table member(
		id int primary key auto_increment,
		name varchar(32) not null,
		aga tinyint unsigned not null,
		email varchar(32) not null
) engine myisam charset utf8;

运行效果:
在这里插入图片描述

3.数据库在laravel框架中配置

在env文件里面:
在这里插入图片描述

4.在Test控制器中引导DB门面:

在自己的项目文件的头文件中填写:class IndexController extends Controller

在这里插入图片描述

5.定义一个增删改查需要的路由:

添加路由:/homeAdd
删除路由:/homeDel
更新路由:/homeUpdate
查找路由:/homeSelect

在这里插入图片描述
注意:添加路由的方法支持lavavel框架8.0以上的版本


🎶(二) insert增加数据


使用insert函数向数据库member中添加多条数据

 public function add(){
        //定义关联操作表
       $db= DB::table('member');
       //使用insert来增加记录
       $result = $db ->insert([
[
    'name'=>'刘康',
    'age'=>'18',
    'email'=>'madongmei@qq.com'
],[
    'name'=>'马春梅',
    'age'=>'19',
    'email'=>'machunmei@qq.com'
]
       ]);
       dd($result);
    }

在这里插入图片描述
插入的数据如下:
在这里插入图片描述


🎶(三) delete删除数据


在使用del删除数据,删除有两种,一种是物理删除(本质就是删除),第二是逻辑删除(本质得修改)
数据删除可以通过delect函数和truncate函数实现

delect delete表示删除记录
truncate表示表示清空整个数据表

delect的语法:

DB::table(‘member’)->where(‘id’,‘=’,‘6’)->delete();

列如:删除id为2的记录:

public function del()
{
    $data=DB::table('member')->where('id','=','2')->delete();
    dd($data);
}

删除数据如下:
在这里插入图片描述



🎶(四)update 更新数据


数据修改可以使用 update()。
Update 表示可以修改整个记录中的全部字段;

案列:把id=2的名称,改完 ‘张三丰’
->where()->update([ ])

where语法:
->where(字段,运算符,值)       如果运算符为“=”,则第二个参数可以不写

 //使用update来更新数据
    public function update()
    {
        $db=DB::table('member');
        $rst=$db->where('id','=','2')->update([
            'name'=>'张三丰',
            'age'=>'21'
        ]);
    dd($rst);
    }

在这里插入图片描述
数据表结果:
在这里插入图片描述


🎶(五)select查找数据


案例1:获取memer表中所有的数据

DB::table(‘member’)->get(); //相当于select * from member;

1.返回值是一个集合对象:

public function select(){
//查询全部的数据
$db=DB::table('member');
$data=$db->get(); 
dd($data);
}

查询的结果如下:
在这里插入图片描述

2.使用遍历的方式查询数据:

public function select(){
//查询全部的数据
$db=DB::table('member');
//尝试循环一下数据
foreach($data as $key=>$value){
   echo "id是:{$value->id},名字是:{$value->name},邮箱是:{$value->email}<br/>";
}

查询的结果如下:
在这里插入图片描述

3.查询id大于2并且年龄小于21的数据:

public function select(){
//查询全部的数据
$db=DB::table('member');
$data=$db->where('id','>','2')->where('age','<','21')->get();
dd($data);
}

查询的结果如下:
在这里插入图片描述

结束语🥇

以上就是PHP程序设计
持续更新PHP程序设计教程,欢迎大家订阅系列专栏🔥PHP程序开发你们的支持就是曼亿点创作的动力💖💖💖
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1582971.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【招贤纳士】长期有效

【招贤纳士】长期有效&#xff0c;有意者联系 一、SLAM算法工程师工作内容&#xff1a;任职资格&#xff1a; 二、规划算法工程师工作内容&#xff1a;任职资格&#xff1a; 工作地点&#xff1a;深圳南山 公司行业&#xff1a;家用扫地机器人 待遇从优&#xff0c;有机器人比赛…

CAD导入GIS平台常见问题大全

1.CAD导入图新地球报【坐标超出范围】、【导入失败】 一般是投影不对&#xff0c;多数是中央经线选错了&#xff0c;或者是没注意是否有带号 这种情况&#xff0c;先打开CAD软件&#xff0c;通过id命令看一下数据的坐标&#xff0c;如下图 看到坐标是这样式的&#xff0c;X达…

达梦数据库审计相关参数

达梦数据库审计相关参数 基础环境 操作系统&#xff1a;Red Hat Enterprise Linux Server release 7.9 (Maipo) 数据库版本&#xff1a;DM Database Server 64 V8 架构&#xff1a;单实例1 查看审计相关的参数 查看AUD相关的参数。 1.1 查看dm.ini配置文件。 在dm.ini配置文…

gurobi不同版本切换

每年年底&#xff0c;gurobi都会推出新版本。新版本是大的迭代更新&#xff0c;求解问题的效率和精度都会提升。官方人员一般会建议我们安装最新的版本&#xff0c;此外&#xff0c;写论文审稿专家也会建议我们使用较新的版本。 从我们现装的版本切换到新版本。我以往的做法是…

【CVE-2023-38831】进行钓鱼攻击的研究

本文仅仅是对相关漏洞利用的学习记录&#xff0c;请各位合法合规食用&#xff01; WinRAR是一款文件压缩器,该产品支持RAR、ZIP等格式文件的压缩和解压等。WinRAR在处理压缩包内同名的文件与文件夹时代码执行漏洞,攻击者构建由恶意文件与非恶意文件构成的特制压缩包文件,诱导受…

【负载均衡——一致性哈希算法】

1.一致性哈希是什么 一致性哈希算法就很好地解决了分布式系统在扩容或者缩容时&#xff0c;发生过多的数据迁移的问题。 一致哈希算法也用了取模运算&#xff0c;但与哈希算法不同的是&#xff0c;哈希算法是对节点的数量进行取模运算&#xff0c;而一致哈希算法是对 2^32 进…

吴恩达机器学习理论基础—决策树模型

吴恩达机器学习理论基础—决策树模型 决策树模型&#xff08;Decision Trees&#xff09; 采用猫狗分类的数据集&#xff0c;同时拥有三个基本的特征&#xff08;输入&#xff09;作为模型建立时使用的数据集。 将构造出来的决策树&#xff0c;分为了决策结点和叶子节点&#…

【C++入门】内联函数、auto与基于范围的for循环

&#x1f49e;&#x1f49e; 前言 hello hello~ &#xff0c;这里是大耳朵土土垚~&#x1f496;&#x1f496; &#xff0c;欢迎大家点赞&#x1f973;&#x1f973;关注&#x1f4a5;&#x1f4a5;收藏&#x1f339;&#x1f339;&#x1f339; &#x1f4a5;个人主页&#x…

2024-04-08

作业要求&#xff1a; 1> 思维导图 2>使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 将登录按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否…

【日常记录】【JS】一道解构面试题

文章目录 1、描述2、分析与实现3、参考链接 1、描述 让这一段代码可以执行&#xff0c;并且正确输出 let [name, age] {name: 呆呆狗,age: 20}console.log(name, age);2、分析与实现 在浏览器上执行这段代码会报错 翻译以下&#xff1a;不是可迭代对象 可迭代对象&#xff08;…

Go——面向对象

一. 匿名字段 go支持只提供类型而不写字段名的方式&#xff0c;也就是匿名字段&#xff0c;也称为嵌入字段。 同名字段的情况 所以自定义类型和内置类型都可以作为匿名字段使用 指针类型匿名字段 二.接口 接口定义了一个对象的行为规范&#xff0c;但是定义规范不实现&#xff…

MT3022 召唤神龙

思路&#xff1a;二分答案 。check():检查组p套卡是否成立&#xff0c;即检查r卡是否足够组成p套卡。 &#xff08;易错点&#xff1a;check的思路&#xff0c;开long long&#xff09; #include <bits/stdc.h> using namespace std; long long int n, m; long long int…

JavaScript逆向爬取实战——使用Python实现列表页内容爬取

JavaScript逆向爬取—使用Python实现列表页内容爬取 1. 案例介绍 案例网址&#xff1a;https://spa6.scrape.center/&#xff0c; 如图所示&#xff1a; 点击任意一步电影&#xff0c;观察一下URL的变化&#xff0c;如图所示&#xff1a; 看到详情页URL包含了一个长字符串&am…

力扣HOT100 - 189. 轮转数组

解题思路&#xff1a; 三次反转。 先反转一次&#xff0c;再根据 k 拆分成两部分各反转一次。 class Solution {public void rotate(int[] nums, int k) {k % nums.length;reverse(nums, 0, nums.length - 1);reverse(nums, 0, k - 1);reverse(nums, k, nums.length - 1);}pu…

使用Docker中构建Java jar包,并且实现开启自启

文章目录 1.创建Dockerfile2.构建Docker镜像3.运行Docker容器4.后台运行并且可以开机自启4.1 在后台运行Docker容器4.2 设置开机自启动容器4.3 在Docker守护程序启动时自动启动容器 Docker中构建Java JAR包 要在Docker容器中构建Java应用程序的JAR包&#xff0c;你可以遵循以下…

RISC-V GNU Toolchain 工具链安装问题解决(stdio.h 问题解决,pk fence.i 问题解决)

我的安装过程主要参照 riscv-collab/riscv-gnu-toolchain 的官方 Readme 和这位佬的博客&#xff1a;RSIC-V工具链介绍及其安装教程 - 风正豪 &#xff08;大佬的博客写的非常详细&#xff0c;唯一不足就是 sudo make linux -jxx 是全部小写。&#xff09; 工具链前前后后我装了…

Docker容器嵌入式开发:在Ubuntu上配置Postman和flatpak

在 Ubuntu 上配置 Postman 可以通过 Snap 命令完成&#xff0c;以下是所有命令的总结&#xff1a; sudo snap install postmansudo snap install flatpak在 Ubuntu 上配置 Postman 和 Flatpak 非常简单。以下是一些简单的步骤&#xff1a; 配置 Flatpak 安装 Flatpak&#x…

【Redis】底层跳表实现

先巩固Redis的数据类型以及底层的数据结构&#xff1a; ZSet&#xff08;有序集合&#xff09;可以使用两种不同的内部数据结构来表示&#xff1a;压缩列表&#xff08;ziplist&#xff09;和跳跃表&#xff08;skiplist&#xff09;。 跳表是redis底层SortedSet(ZSet)的数据…

PostgreSQL入门到实战-第九弹

PostgreSQL入门到实战 PostgreSQL数据过滤(二)官网地址PostgreSQL概述PostgreSQL中and操作理论PostgreSQL中and操作实操更新计划 PostgreSQL数据过滤(二) 了解PostgreSQL AND逻辑运算符以及如何使用它来组合多个布尔表达式。 官网地址 声明: 由于操作系统, 版本更新等原因, …

uniapp中页面滚动锚点位置及滚动到对应高度显示对应按钮

可以把页面代码和组件代码放自己项目里跑一下 页面代码 <template><view class"Tracing-detail"><view class"title" v-for"i in 30">顶部信息</view><!-- tab按钮 --><Tab v-model"activeIndex" …