Laravel5 基础查询构造器

原生SQL语句

使用原生sql语句查询请先引入 use Illuminate\Support\Facades\DB;

  • 查询语句
// sql 语句
$sql = 'SELECT * FROM users;';

// 执行成功 返回 array
DB::select( $sql );
  • 插入语句
// sql 语句
$sql = 'INSERT INTO users(`name`,`age`) values(?,?);';

//执行成功 返回 boolean
DB::insert( $sql ,['manarch',18]);
  • 修改语句
// sql 语句
$sql = 'UPDATE users SET `age` = ? WHERE `name` = ?;';

// 返回受影响行数 rows number
DB::update( $sql , [19,'manarch'] );
  • 删除语句
// sql 语句
$sql = 'DELETE FROM users WHERE id = ?;';

// 返回删除行数 rows number
DB::delete( $sql , [1]);

注:建议 sql 语句中的变量请尽量使用 ' ? ' 占位,然后在执行时使用数组的方式替换,有助于防止 sql 注入攻击。


查询构造器

  • 查询语句

插入一条数据:

// 返回 boolean
DB::table('users')->insert(['name'=>'manarch','age'=>18]);

插入一条数据并获取新数据的主键值:

// 返回 新增数据的主键值
DB::table('users')->insertGetId(['name'=>'manarch1','age'=>18]);

插入多条数据:

// 返回 boolean
DB::table('users')->insert([
    ['name'=>'manarch2','age'=>18],
    ['name'=>'manarch3','age'=>18],
]);
  • 修改数据

常规修改操作:

// 返回 受影响行数 rows number
DB::table('users')->where('name','manarch2')->update(['age'=>19]);

给某字段 1 :

// 把 manarch3 的年龄加 1 岁
// 返回 受影响行数 rows number
DB::table('users')->where('name','manarch3')->increment('age');

// 把 manarch3 的年龄加 2 岁,并把名字修改为 manarch4
// 返回 受影响行数 rows number
DB::table('users')->where('name','manarch3')->increment('age',2,['name'=>'manarch4']);

给某字段 1 :

// 把 manarch3 的年龄减 1 岁
// 返回 受影响行数 rows number
DB::table('users')->where('name','manarch3')->decrement('age');

// 把 manarch3 的年龄减 2 岁,并把名字修改为 manarch4
// 返回 受影响行数 rows number
DB::table('users')->where('name','manarch3')->decrement('age',2,['name'=>'manarch4']);
  • 删除数据

常规删除操作:

// 返回 删除的行数 rows number
DB::table('users')->where('name','manarch4')->delete();

清空表:

// 返回 void
DB::table('users')->truncate();
  • 查询数据

获取 所有 数据:

// 返回 array(array,array)
DB::table('users')->get();

获取 一条 数据:

// 返回 object
DB::table('users')->first();

条件 获取数据

// 获取 id 大于2 的所有数据
// 返回 array(array,array)
DB::table('users')->where('id','>',2)->get();

相关推荐