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)

相关推荐

  • laravel框架数据库配置及操作数据库示例

    本文实例讲述了laravel框架数据库配置及操作数据库.分享给大家供大家参考,具体如下: laravel 数据库配置 数据库配置文件为项目根目录下的config/database.php //默认数据库为mysql 'default' => env('DB_CONNECTION', 'mysql'), 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('

  • Laravel如何同时连接多个数据库详解

    前言 上文说到thinkphp3.2同时连接两个数据库的文章,然后在总结下laravel同时连接 多个数据库的实例,方便新手学习,db连接以及model连接. 配置.env 文件 DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=database_name DB_USERNAME=root DB_PASSWORD=root DB_HOST_TEST=127.0.0.1 DB_PORT_TEST=3306 DB_DATAB

  • Laravel框架数据库CURD操作、连贯操作总结

    一.Selects 检索表中的所有行 复制代码 代码如下: $users = DB::table('users')->get(); foreach ($users as $user) { var_dump($user->name); } 从表检索单个行 复制代码 代码如下: $user = DB::table('users')->where('name', 'John')->first(); var_dump($user->name); 检索单个列的行 复制代码 代码如下:

  • Laravel获取所有的数据库表及结构的方法

    遇到一个需求,需要修改数据库中所有包含email的字段的表,要把里面的长度改为128位.Laravel获取所有的表,然后循环判断表里面有没有email这个字段. 代码如下: use Illuminate\Support\Facades\Schema; use DB; public function getDatabaseColumns() { $tables = DB::select('show tables'); $tables = array_column($tables, 'Tables_

  • 浅谈laravel数据库查询返回的数据形式

    版本:laravel5.4+ 问题描述:laravel数据库查询返回的数据不是单纯的数组形式,而是数组与类似stdClass Object这种对象的结合体,即使在查询构造器中调用了toArray(),也无法转换成单纯的数组形式. 问题解析: (以上图片来源于laravel学院5.3版本到5.4版本的升级手册) 如上图所示:Laravel不再支持在配置文件中定制PDO的"fetch mode",取而代之,总是使用PDO::FETCH_OBJ,如果你仍然想要为应用定制fetch模式,需要监

  • Laravel数据库读写分离配置的方法

    配置范例 'mysql' => [ 'driver' => 'mysql', 'write' => [ 'host' => '192.168.1.180', ], 'read' => [ ['host' => '192.168.1.182'], ['host' => '192.168.1.179'], ], ... ] 或 'mysql' => [ 'driver' => 'mysql', 'write' => [ 'host' => '1

  • Laravel5.5 数据库迁移:创建表与修改表示例

    数据库迁移是数据库的版本管理,要使用数据库迁移,需要在.env文件中连接好数据库(不多说).laravel本身已经存在user表和password_resets表的迁移了,因此,执行 php artisan migrate 便会在数据库中创建好user表.password_resets表和migrations表.migrations表是版本记录表. 命令执行的其实是 database\migration 下的迁移文件.迁移文件中调用的方法会替我们执行数据库操作(建表).每个文件的命名对应迁移创建

  • laravel 操作数据库常用函数的返回值方法

    1.insert/insertGetId insert函数的返回值为boolean类型:成功为true,失败为false insertGetId函数的返回值为整型:成功为插入时的ID值,失败为- DB::table('users')->insert( ['name' => '上官帝文1', 'age' => 99] ); DB::table('users')->insertGetId( ['name' => '上官帝文2', 'age' => 98] ); 2.upda

  • Laravel框架实现多数据库连接操作详解

    本文实例讲述了Laravel框架实现多数据库连接操作.分享给大家供大家参考,具体如下: 这篇文章介绍了在laravel中连接2个数据库的方法 一.定义连接 进入到数据库配置文件 app/config/database.php 中,你可以定义多个形式相同或不同的数据库连接.例如,你想从2个 MYSQL 数据中抓取资料到你的程式中,你可以这样定义: <?php return array( 'default' => 'mysql', 'connections' => array( # Our

  • Laravel创建数据库表结构的例子

    1.简介 迁移就像数据库的版本控制,允许团队简单轻松的编辑并共享应用的数据库表结构,迁移通常和Laravel的schema构建器结对从而可以很容易地构建应用的数据库表结构.如果你曾经告知小组成员需要手动添加列到本地数据库结构,那么这正是数据库迁移所致力于解决的问题. Laravel 的Schema门面提供了与数据库系统无关的创建和操纵表的支持,在 Laravel 所支持的所有数据库系统中提供一致的.优雅的.平滑的API. 2.生成迁移 使用 Artisan 命令make:migration来创建

  • Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法

    本文实例讲述了Laravel5.1数据库连接.创建数据库.创建model及创建控制器的方法.分享给大家供大家参考,具体如下: 前言:laravel创建数据库,实际可以手动创建,如古老的phpmyadmin 等均可以. 一.数据库连接: 在根目录(laravel5.1下面有个.env文件,如果没有则会有个.env.example然后将此文件修改成.env文件即可) 打开文件: 找到: DB_HOST=127.0.0.1 //连接地址不使用localhost DB_DATABASE=homestea

随机推荐