<?php
namespace app\index\controller;
use think\Db;
class Query
{
//读操作都是返回的二维数组,没有满足条件的记录 返回的是空数组
//写操作返回的是受影响的记录数量,如果没有返回0
public function find()
{
//查询单条记录
$sql = Db::table('my_sjb')
//->field('name,sex')
->field(['name'=>'姓名','sex'=>'性别'])
->where('id','>',3)
->find();
dump($sql);
}
public function select()
{
//查询满足条件的多条记录
$res = Db::table('my_sjb')
->field(['name'=>'姓名','salary'=>'工资'])
->where('salary','>',3000)
->order('salary', 'DESC')
->limit(2)
->select();
dump($res);
}
public function insert()
{
//新增单条记录
// $data = [
// 'name'=>'曾七',
// 'sex'=>0,
// 'age'=>49,
// 'salary'=>7000
// ];
// $num = Db::table('my_sjb')->insert($data);
// $id = Db::getLastInsID();
// return $num ? '添加成功,id=' .$id :'没有添加成功';
//data方法打包处理
// $id = Db::table('my_sjb')->insertGetId($data);
// return $id ? '添加成功,id=' .$id :'没有添加成功';
//data方法打包处理
// $num = Db::table('my_sjb')->data($data)->insert();
// $id = Db::getLastInsID();
// return $num ? '添加成功,id=' .$id :'没有添加成功';
$data = [
['name'=>'张飞','sex'=>0,'age'=>22,'salary'=>4000],
['name'=>'刘备','sex'=>1,'age'=>23,'salary'=>9600],
['name'=>'关羽','sex'=>0,'age'=>26,'salary'=>7200]
];
$num = Db::table('my_sjb')->data($data)->insertAll();
return $num ? '添加成功'.$num.'条记录~~':'没有添加成功';
}
public function update()
{
//更新操作必须是基于前置查询 不容许无条件更新
// $num = Db::table('my_sjb')
// ->where('salary','<=',4000)
// ->data(['salary'=>Db::raw('salary+1000')])
// ->update();
$num = Db::table('my_sjb')
->update(['sex'=>1,'id'=>15]);
return $num ? '更新成功'.$num.'条记录~~':'没有记录被更新';
}
public function delete()
{
//删除也要基于前置查询,不允许无条件删除
//$num = Db::table('my_sjb')->delete(12);
//$num = Db::table('my_sjb')->delete([12,13,14]);
$num = Db::table('my_sjb')
->where('salary','>=',10000)
->delete();
$num = Db::table('my_sjb')->delete(true); //清空表
return $num ? '删除成功'.$num.'条记录~~':'没有记录被删除';
}
//删除数据是一个非常危险的事情
}
//1.table() 获取指定的表名
//2.find() 获取满足条件记录中的第一条
//3.where() 判断条件的(字段 表达式 语法)
//4.select() 多条查询
//5.order() 排序 两个值 DESC降序 ASC升序
//6.limit() 限制展现条数
//7.insert() 新增单条记录
//8.update() 更新操作
//9.delete() 删除操作