专栏首页恩蓝脚本Laravel框架DB facade数据库操作详解

Laravel框架DB facade数据库操作详解

本文实例讲述了Laravel框架DB facade数据库操作。分享给大家供大家参考,具体如下:

前两篇文章我们讲述了Laravel下载介绍路由和MVC几个知识点,这篇我们就来讲述一下关于数据库的操作,有关于数据库的增删改查

创建数据库

在这里,我们需要用到的有两个文件,第一个是congfig目录下的database.php,以及Laravel目录下的env文件

如下图:

然后创建数据库这里,我用的是xampp的mysql数据库,phpMyAdmin

我们创建一个数据库,命名为laravel,如下图所示:

然后在laravel数据库下面添加一个数据表,并命名为student,然后点击sql

在这里,因为我是已经创建过了一个表的,所以呢,他这里有东西存在,然后在这个可以输入的框框里输入以下代码:

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='学生表';

这个时候,我们的数据库已经创建完成了,接下来就是要输出他,输出他的时候就需要我们打开env这个文件了

这里,我和大家简单介绍一下,我选中的三个代表的分别是,数据库名字:laravel,数据库账号root,数据库密码为空,上面那三个不过多介绍,从下往上依次是,端口,和地址,然后别的我都不知道了,学艺不精,望谅解!

然后怎么看数据库账号和密码呢?很简单,打开我们的phpmyadmin文件,点击它的config.inc.php文件,然后即可查看他的账户和密码,如下图所示:

然后到这里,我们链接也做完了,接下来就是讲解如何使用输出他了

输出数据库,并进行增删改查

既然要输出数据库,那么我们就肯定要对他进行路由控制器等一系列的绑定使用来达到输出效果,然后创建控制器什么的我也不多说了,直接在Controller目录下创建一个名为Student.php的控制器,然后创建一个相对应的路由。

代码如下:

namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
class Student extends Controller
{
 public function mql()
 {
 return 'my first mysql';
 }
}

然后测试一下是否能输出

结果如下:

数据库的查找

代码如下:

namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
class Student extends Controller
{
 public function mql()
 {
 $Students = DB::select('select * from student');//查找一个名为student的数据表,因为在env里我们已经定义了数据库的名字是laravel,而student存放在laravel里,所以我们给个student即可
 echo "<pre ";
 print_r($Students);
 echo "</pre ";
 }
}

然后将它输出,效果如下:

因为他并没有值

数据库的新增

代码如下:

namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
class Student extends Controller
{
 public function mql()
 {
 $Nadded = DB::insert('insert into student(name,age) values(?,?)',['Rarin',16]);//这里我们定义在student里的name,age新增值,values两个问号将name和Rarin,age和16连接起来
 echo "<pre ";
 print_r($Nadded);
 echo "</pre ";
 }
}

效果如下图:

因为我是点击了两次刷新,所以新增了两个数据

数据库的修改

代码如下:

namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
class Student extends Controller
{
 public function mql()
 {
  $update= DB::update('update student set id = ? where age = ?',[1002,16]);//这里我设置的是,如果age的值是16的时候,那么我就把id的值改成1002
  echo "<pre ";
  print_r($update);
  echo "</pre ";
 }
}

效果自行演示

数据库的删除

代码如下:

<?php 
namespace App\Http\Controllers;
use Illuminate\Support\Facades\DB;
class StudentController extends Controller
{
 public function test1()
 {
  $delete = DB::delete('delete from student where id   ?',[1003]);//这里指的是,删除id大于1003的数据
  echo "<pre ";
  print_r($delete);
  echo "</pre ";
 }
}
? 

效果自行演示一下即可

更多关于Laravel相关内容感兴趣的读者可查看本站专题:《Laravel框架入门与进阶教程》、《php优秀开发框架总结》、《php面向对象程序设计入门教程》、《php+mysql数据库操作入门教程》及《php常见数据库操作技巧汇总》

希望本文所述对大家基于Laravel框架的PHP程序设计有所帮助。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • python可以用哪些数据库

    关系型数据库是指采用了关系模型来组织数据的数据库,而关系模型是由二维表及其联系组成的数据组织。

    砸漏
  • Android Studio3.6.3 当前最新版本数据库查找与导出方法(图文详解)

      本文章主要是针对安装了Android Studio 3.6.3 版本(Android Studio以下简称为AS)所做的SQLite教程,

    砸漏
  • pycharm设置python文件模板信息过程图解

    在pycharm中设置python脚本的文件模板,让文件创建的时候就自动写上一些相关信息:

    砸漏
  • IntelliJ IDEA 中详细图解记录如何连接MySQL数据库

    在网上down了个web项目,在 IntelliJ IDEA 这个编辑器里面跑起来,但是发现domain文件夹下的xml文件都报如下的红色提示错误:

    格姗知识圈
  • django配置mysql数据库

    Wyc
  • 一款非常简单酷炫的LoadingView动画效果

    今天看到一个银行的APP上面的loadingview 挺好的,就尝试着自己实现,觉得很简单,但自己实现起来还是发现了一些问题。

    砸漏
  • 亿级Web系统搭建:单机到分布式集群

    当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能...

    逸鹏
  • 亿级Web系统搭建:单机到分布式集群

    当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题。为了解决这些性能...

    CSDN技术头条
  • 【问底】徐汉彬:亿级Web系统搭建——单机到分布式集群

    大规模流量的网站架构,从来都是慢慢“成长”而来。而这个过程中,会遇到很多问题,在不断解决问题的过程中,Web系统变得越来越大。并且,新的挑战又往往出现在旧的解决...

    CSDN技术头条
  • Android自定义View,敢说都知道吗?

    作者:ClericYi 链接:https://juejin.im/post/5e54e2de5188254945386529

    陈宇明

扫码关注云+社区

领取腾讯云代金券