TP6-数据库的操作(增删改查)

查询数据

查询单条数据 使用 find() 方法

// table方法必须指定完整的数据表名
Db::table('user')->where('id',1)->find();

find方法查询结果不存在返回NULL,否则返回结果数组

查询多条数据/数据集 使用 select() 方法

Db::table('user')->select();

select方法查询结果是一个数据集对象,如果需要转换成数组可以使用 toArray()

Db::table('user')->select()->toArray();

值和列的查询

查询某个字段的值可以使用 value()

// 查询某一字段某一个值--必须加条件
Db::table('user')->where('id',1)->value('name');

value查询结果不存在,返回NULL

查询某一列的值可以使用 column()

// 查询某一列的值
Db::table('user')->column('name');

column查询结果不存在,返回空数组

 

添加数据 save insert

可以使用save方法统一写入数据,自动判断是新增还是更新数据(以写入数据中是否存在主键数据为依据)。

// save
$arr = ['name' => 'zhangsan' , 'pasd' => 123456];
Db::table('user')->save($arr);
// insert
$arr = ['name' => 'zhangsan' , 'pasd' => 123456];
Db::table('user')->insert($arr);

添加数据后如果需要返回新增数据的自增主键,可以使用insertGetId方法新增数据并返回主键值:

Db::table('user')->insertGetId($arr);

添加多条数据直接向 Db 类的 insertAll 方法传入需要添加的数据(通常是二维数组)即可。

// 添加多条数据
$arr = [
    ['name'=>'zhangsan','pasd'=>123456],
    ['name'=>'lisi','pasd'=>123456],
    ['name'=>'wangwu','pasd'=>123456]
];
// insertAll
Db::table('user')->insertAll($arr);

insertAll方法添加数据成功返回添加成功的条数

更新数据

可以使用save方法或者update方法

// 更新数据
$arr = [
    'id'=>1,
    'name'=>'zhangsan',
    'pasd'=>123456
];
// save -- 数组里面加条件
Db::table('user')->save($arr);
$arr = [
    'name'=>'zhangsan',
    'pasd'=>123456
];
// update -- 执行语句加条件
Db::table('user')->where('id',1)->update($arr);

数据自增、自减 

 可以使用inc/dec方法自增或自减一个字段的值( 如不加第二个参数,默认步长为1)。

// 自增、自减
Db::table('user')->where('id',10)->inc('jsid',5)->update();
Db::table('user')->where('id',10)->dec('jsid',5)->update();    

删除数据

// 根据主键删除
Db::table('think_user')->delete(1);
Db::table('think_user')->delete([1,2,3]);
// 条件删除    
Db::table('think_user')->where('id',1)->delete();
Db::table('think_user')->where('id','<',10)->delete();

 

posted @ 2021-08-27 16:01  sam-zh  阅读(3906)  评论(0编辑  收藏  举报