数据表php
CREATE TABLE IF NOT EXISTS students( `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='学生表';
Laravel查询构造器(query builder)提供方便、流畅的接口,用来创建及执行数据库查找语法sql
使用PDO参数绑定,以保护应用程序免于SQL注入。所以传入的参数不需额外转义特殊字符数据库
基本能够知足全部的数据库操做,并且在全部支持的数据库系统上均可以执行数组
<?php /** * Created by PhpStorm. * User: chuang * Date: 17-1-14 * Time: 下午4:29 */ namespace App\Http\Controllers; use Illuminate\Support\Facades\DB; class StudentController extends Controller { //新增数据 public function insert(){ //返回一个布尔值 //table内传入表名 $bool = DB::table('students')->inster( //将参数以数组的形式传入 [ 'name'=>'bigz', 'age'=>18 ] ); var_dump($bool); //插入并返回id $id = DB::table('students')->insertGetId( [ 'name'=>'bigz', 'age'=>19 ] ); var_dump($id); //一次插入多条数据 $bools = DB::table('students')->insert( [ ['name'=>'bigz','age'=>18], ['name'=>'zbig','age'=>21] ] ); var_dump($bools); } }
<?php /** * Created by PhpStorm. * User: chuang * Date: 17-1-14 * Time: 下午4:29 */ namespace App\Http\Controllers; use Illuminate\Support\Facades\DB; class StudentController extends Controller { //更新数据 /* * 更新主要有两方面内容 * 一、更新指定内容 * 二、自增和自减 */ public function update(){ //一、更新指定内容 //返回影响行数 $num = DB::table('students') ->where('name','bigz')//更新条件 ->update(['age'=>22]);//更新内容 var_dump($num); //二、自增,自减 //自增,默认值是1,返回影响行数 $num = DB::table('students')->increment('age'); var_dump($num); //自定义自增数值 $num = DB::table('students')->increment('age',3); var_dump($num); //自减,默认值是1, 返回影响行数 $num = DB::table('students')->decrement('age'); var_dump($num); //带条件的自增与自减 $num = DB::table('students') ->where('name','bigz') ->increment('age'); var_dump($num); //自增,自减时同时修改其余字段 $num = DB::table('students') ->where('id',1) ->increment('age',['name'=>'BigZ']); var_dump($num); } }
<?php /** * Created by PhpStorm. * User: chuang * Date: 17-1-14 * Time: 下午4:29 */ namespace App\Http\Controllers; use Illuminate\Support\Facades\DB; class StudentController extends Controller { //删除数据 public function delete(){ //删除全表 $num = DB::table('students') ->delete(); var_dump($num); //删除指定数据 $num = DB::table('students') ->where('id',1) ->delete(); var_dump($num); //删除id大于等于6的数据 $num = DB::table('students') ->where('id','>=',6) ->delete(); var_dump($num); //清空数据表,不返回任何数据 DB::table('students')->turncate(); } }
<?php /** * Created by PhpStorm. * User: chuang * Date: 17-1-14 * Time: 下午4:29 */ namespace App\Http\Controllers; use Illuminate\Support\Facades\DB; class StudentController extends Controller { //查询数据 public function query(){ //get()获取全部数据 $students = DB::table('students')->get(); dd($students); //first()获取结果集中的第一条数据 $student = DB::table('students')->first(); dd($student); $student = DB::table('students')->orderBy('age','desc')->first(); dd($student); //where() //返回年龄大于18的全部数据 $students = DB::table('students') ->where('age','>',18) ->get(); dd($student); //多条件查询 $students = DB::table('students') ->whereRaw('id >= ? and age > ?',[20, 18]) ->get(); dd($students); //pluck() 返回结果集中指定的字段 $names = DB::table('students') ->pluck('name'); dd($names); //lists() 返回结果集中指定的字段 $names = DB::table('students') ->lists('name'); dd($names); $names = DB::table('students') // 指定id做为数组的key ->lists('name','id'); dd($names); //select() 查询指定的字段 $students = DB::table('students') ->select('id','name','age') ->get(); dd($students); //chunk() 限制每次查询数据的个数 DB::table('students')->chunk(1000,function ($students){ //把每次查询的数据打印出来 dd($students); //想要在指定的条件下中止此语句只需 return false; }); } }
<?php /** * Created by PhpStorm. * User: chuang * Date: 17-1-14 * Time: 下午4:29 */ namespace App\Http\Controllers; use Illuminate\Support\Facades\DB; class StudentController extends Controller { //聚合函数 public function funcs(){ //count() 返回数据条数 $num = DB::table('students')->count(); var_dump($num); //max() //返回数据表中最大的年龄数值 $max = DB::table('students')->max('age'); var_dump($max); //min() 同 max() //avg() 用法同 max() 返回平均数 //sum() 用法同max() 返回总和 } }