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>"; } } ?>
效果自行演示一下即可