laravel总结二
来源:互联网 发布:淘宝天猫购物返钱 编辑:程序博客网 时间:2024/05/17 01:56
Laravel提供了DB facade(原始查找) 、查询构造器和Eloquent ORM三种操作数据库方式
一.laravel连接数据库
连接数据库的配置文件在:config文件夹下的database.php文件中
但是要配置数据库需要在隐藏文件.env文件中写配置数据库的名字,密码,数据库名
这样配置数据库提高了数据库的安全性
二.用原始的sql语句进行增删改查
首先要先引用DB 这个类文件才能使用DB类中的方法
例:
use Illuminate\Support\Facades\DB;
然后在方法中使用DB这个对象来进行操作
例:
查询
select()
$goods=DB::select('select * from tp_goods');
print_r($goods);
或
这种方式进行预处理 防止sql语句注入
$goods=DB::select('select * from tp_goods where goods_num>?',[8]);
print_r($goods);
增加
insert()
进行预处理方式写法
$goods=DB::insert('insert into tp_goods(goods_name,goods_num,goods_money) VALUES (?,?,?)',['养乐多',30,3]);
var_dump($goods);
修改
update()
防止sql语句注入
$goods=DB::update('update tp_goods set goods_name=? WHERE goods_id=?',["可口可乐",2]);
var_dump($goods);
删除
delete()
防止sql语句注入
$goods=DB::delete('delete from tp_goods where goods_id=?',[2]);
var_dump($goods);
三.使用laravel中的查询构造器
查询构造器的简介
Laravel查询构造器(query builder)提供方便,流畅的接口,用来建立及执行数据库查询语法
使用PDO参数绑定,以保护应用程序免于SQL注入因此传入的参数不需额外转义特殊字符
基本可以满足所有的数据库操作,而且在所有支持的数据库系统上都可以执行
使用构造器也需要先打开DB这个类文件
table() 使用的数据库中的哪个表
例:
增加
insert() 添加一条数据
$goods=DB::table('tp_goods')->insert(
['goods_name'=>'可口可乐','goods_num'=>20,'goods_money'=>3]
);
添加记录添加多条记录
$goods=DB::table('tp_goods')->insert([
['goods_name'=>'农夫山泉','goods_num'=>50,'goods_money'=>2]
,['goods_name'=>'百岁山','goods_num'=>30,'goods_money'=>3]
]);
insertGetId() 添加一条记录返回这个数据的id
例:
$goods=DB::table('tp_goods')->insertGetId(
['goods_name'=>'雪碧','goods_num'=>30,'goods_money'=>3]
);
更新
where() 添加添加的方法
whereRaw() 加多个where条件
update() 更新方法
例:
$goods=DB::table('tp_goods')->where('goods_id',3)->update(['goods_num'=>40]);
increment() 自增方法 三个参数 自增的字段和每次自增几和更新字段,如果第二个参数不写,默认自增1 第三个字段是更新的字段
decrement() 自减方法
例:
$goods=DB::table('tp_goods')->increment('goods_num');
$goods=DB::table('tp_goods')->decrement('goods_num',3);
$goods=DB::table('tp_goods')->where('goods_id',3)->decrement('goods_num',3,['goods_name'=>'加多宝']);
删除
delete() 删除记录
例:
$goods=DB::table('tp_goods')->where('goods_id',3)->delete();
查询
get() 查询所有的数据
例:
$goods=DB::table('tp_goods')->get();
first() 查询一条数据
例:
$goods=DB::table('tp_goods')->orderBy('goods_id','desc')->first();
pluck() 查询所有记录中某个字段中的值
例:
$goods=DB::table('tp_goods')->pluck('goods_name');
lists() 查询所有记录中某个字段中的值 这个方法查询的时候可以把查询结果变成键值对的方式
例:
$goods=DB::table('tp_goods')->lists('goods_num','goods_name');
select() 查询指定的字段中的值
例:
$goods=DB::table('tp_goods')->select('goods_id','goods_name','goods_num')->get();
chunk() 多少个记录一组输出
例:
DB::table('tp_goods')->chunk(3,function($goods){
print_r($goods);
});
表的总记录数 count()
$goods=DB::table('tp_goods')->count();
某个字段的最大值 max()
$goods=DB::table('tp_goods')->max('goods_num');
某个字段的最小值 min()
$goods=DB::table('tp_goods')->min('goods_num');
某个字段的平均值 avg()
$goods=DB::table('tp_goods')->avg('goods_num');
某个字段的总数 sum()
$goods=DB::table('tp_goods')->sum('goods_num');
一.laravel连接数据库
连接数据库的配置文件在:config文件夹下的database.php文件中
但是要配置数据库需要在隐藏文件.env文件中写配置数据库的名字,密码,数据库名
这样配置数据库提高了数据库的安全性
二.用原始的sql语句进行增删改查
首先要先引用DB 这个类文件才能使用DB类中的方法
例:
use Illuminate\Support\Facades\DB;
然后在方法中使用DB这个对象来进行操作
例:
查询
select()
$goods=DB::select('select * from tp_goods');
print_r($goods);
或
这种方式进行预处理 防止sql语句注入
$goods=DB::select('select * from tp_goods where goods_num>?',[8]);
print_r($goods);
增加
insert()
进行预处理方式写法
$goods=DB::insert('insert into tp_goods(goods_name,goods_num,goods_money) VALUES (?,?,?)',['养乐多',30,3]);
var_dump($goods);
修改
update()
防止sql语句注入
$goods=DB::update('update tp_goods set goods_name=? WHERE goods_id=?',["可口可乐",2]);
var_dump($goods);
删除
delete()
防止sql语句注入
$goods=DB::delete('delete from tp_goods where goods_id=?',[2]);
var_dump($goods);
三.使用laravel中的查询构造器
查询构造器的简介
Laravel查询构造器(query builder)提供方便,流畅的接口,用来建立及执行数据库查询语法
使用PDO参数绑定,以保护应用程序免于SQL注入因此传入的参数不需额外转义特殊字符
基本可以满足所有的数据库操作,而且在所有支持的数据库系统上都可以执行
使用构造器也需要先打开DB这个类文件
table() 使用的数据库中的哪个表
例:
增加
insert() 添加一条数据
$goods=DB::table('tp_goods')->insert(
['goods_name'=>'可口可乐','goods_num'=>20,'goods_money'=>3]
);
添加记录添加多条记录
$goods=DB::table('tp_goods')->insert([
['goods_name'=>'农夫山泉','goods_num'=>50,'goods_money'=>2]
,['goods_name'=>'百岁山','goods_num'=>30,'goods_money'=>3]
]);
insertGetId() 添加一条记录返回这个数据的id
例:
$goods=DB::table('tp_goods')->insertGetId(
['goods_name'=>'雪碧','goods_num'=>30,'goods_money'=>3]
);
更新
where() 添加添加的方法
whereRaw() 加多个where条件
update() 更新方法
例:
$goods=DB::table('tp_goods')->where('goods_id',3)->update(['goods_num'=>40]);
increment() 自增方法 三个参数 自增的字段和每次自增几和更新字段,如果第二个参数不写,默认自增1 第三个字段是更新的字段
decrement() 自减方法
例:
$goods=DB::table('tp_goods')->increment('goods_num');
$goods=DB::table('tp_goods')->decrement('goods_num',3);
$goods=DB::table('tp_goods')->where('goods_id',3)->decrement('goods_num',3,['goods_name'=>'加多宝']);
删除
delete() 删除记录
例:
$goods=DB::table('tp_goods')->where('goods_id',3)->delete();
查询
get() 查询所有的数据
例:
$goods=DB::table('tp_goods')->get();
first() 查询一条数据
例:
$goods=DB::table('tp_goods')->orderBy('goods_id','desc')->first();
pluck() 查询所有记录中某个字段中的值
例:
$goods=DB::table('tp_goods')->pluck('goods_name');
lists() 查询所有记录中某个字段中的值 这个方法查询的时候可以把查询结果变成键值对的方式
例:
$goods=DB::table('tp_goods')->lists('goods_num','goods_name');
select() 查询指定的字段中的值
例:
$goods=DB::table('tp_goods')->select('goods_id','goods_name','goods_num')->get();
chunk() 多少个记录一组输出
例:
DB::table('tp_goods')->chunk(3,function($goods){
print_r($goods);
});
表的总记录数 count()
$goods=DB::table('tp_goods')->count();
某个字段的最大值 max()
$goods=DB::table('tp_goods')->max('goods_num');
某个字段的最小值 min()
$goods=DB::table('tp_goods')->min('goods_num');
某个字段的平均值 avg()
$goods=DB::table('tp_goods')->avg('goods_num');
某个字段的总数 sum()
$goods=DB::table('tp_goods')->sum('goods_num');
阅读全文
0 0
- laravel总结二
- laravel框架总结(二)
- laravel个人总结--模板方面--(二)
- Laravel 学习总结二:基础内容(Route)
- Laravel学习总结二:基础内容(Controller)
- Laravel教程二 安装Laravel
- laravel学习笔记二
- laravel(二)migration
- Laravel(二)
- laravel 二 路由
- laravel 路由使用(二)
- laravel(二)laravel文件上传
- Laravel资料总结
- php laravel学习总结
- Laravel控制器简单总结
- laravel基础知识总结
- laravel学习总结
- laravel框架总结一
- 关于百度echarts map地图的使用之分布图
- 关于做开源技术的一些思考
- 远程计算机或设备将不接受连接,IE无法上网
- Anastasia and pebbles (Codeforces-789A)
- poj 2394 Checking an Alibi--(Dijkstra)
- laravel总结二
- 奥威数据可视化分析工具Power-BI之人力资源分析-人员培训分析
- Excel函数公式计算阶梯式电价
- System.StackOverflowException错误
- 2017暑假训练第十五天
- String类常用的方法来操作字符串对象实例
- TCP/IP和HTTP的区别
- 【XSY2536】【BZOJ2655】calc DP 数学 拉格朗日插值
- css-1.样式和特征-优先级