쿼리 작업
Db::query('select * from think_user where id=?',[8]);
쓰기 작업
Db::execute('insert into think_user (id, name) values (?, ?)',[8,'thinkphp']);
Query data
find가 레코드를 반환하고 반환된 결과가 1차원 배열인 경우 존재하지 않는 경우 return NULL
Db::table('think_user')->where('id',1)->find();
select는 모든 레코드를 반환하며 반환된 결과는 2차원 배열입니다. 결과가 존재하지 않으면 빈 배열이 반환됩니다.
Db::table('think_user')->where('status',1)->select();
시스템 더 편리하게 사용할 수 있는 db 보조 기능을 제공합니다. 쿼리:
db('user')->where('id',1)->find(); db('user')->where('status',1)->select();
참고: db 보조 기능을 사용하면 기본적으로 매번 데이터베이스에 다시 연결되지만 Db::name 또는 Db::table 메서드를 사용하는 것은 싱글톤입니다. . db 함수가 동일한 링크를 사용해야 하는 경우
db('user',[],false)->where('id',1)->find(); db('user',[],false)->where('status',1)->select();
Add data
와 같은 세 번째 매개변수를 전달할 수 있습니다. Db 클래스의 삽입 메소드를 사용하여 데이터베이스에 데이터를 제출합니다.
$data = ['foo' => 'bar', 'bar' => 'foo']; Db::table('think_user')->insert($data);
Add 여러 개의 데이터
Add 여러 개의 데이터를 Db 클래스의 insertAll 메서드에 직접 전달하여 데이터를 추가할 수 있습니다.
$data = [ ['foo' => 'bar', 'bar' => 'foo'], ['foo' => 'bar1', 'bar' => 'foo1'], ['foo' => 'bar2', 'bar' => 'foo2'] ]; Db::name('user')->insertAll($data);
insertAll 메서드는 성공적으로 추가된 데이터의 개수를 반환합니다. 수정된 데이터가 없으면 0
// 添加单条数据 db('user')->insert($data); // 添加多条数据 db('user')->insertAll($list);
를 반환합니다. 특정 필드의 값 업데이트: setField 메서드는 영향을 받은 데이터의 수를 반환하고, 데이터 필드가 수정되지 않으면 0Db::table('think_user')->where('id', 1)->update(['name' => 'thinkphp']);
Db::table('think_user')->where('id',1)->setField('name', 'thinkphp');
自增或自减一个字段的值 // score 字段加 1 Db::table('think_user')->where('id', 1)->setInc('score'); // score 字段加 5 Db::table('think_user')->where('id', 1)->setInc('score', 5); // score 字段减 1 Db::table('think_user')->where('id', 1)->setDec('score'); // score 字段减 5 Db::table('think_user')->where('id', 1)->setDec('score', 5);
Db::table('think_user')->where('id', 1)->setInc('score', 1, 10);
// 根据主键删除 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();
Db::table('think_user') ->where('name','like','%thinkphp') ->where('status',1) ->find();
혼합 쿼리
where 메소드 및 whereOr 메소드 복잡한 쿼리 조건은 종종 함께 혼합되어야 합니다. 예는 다음과 같습니다:
Db::table('think_user') ->where('name','like','%thinkphp') ->whereOr('title','like','%thinkphp') ->find();
쿼리 표현식
쿼리 표현식은 대부분의 SQL 쿼리 구문을 지원하며 ThinkPHP 쿼리 언어의 핵심이기도 합니다: 위 내용은 데이터베이스에서 Thinkphp5.0의 작동 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!$result = Db::table('think_user')->where(function ($query) {
$query->where('id', 1)->whereor('id', 2);
})->whereOr(function ($query) {
$query->where('name', 'like', 'think')->whereOr('name', 'like', 'thinkphp');
})->select();
where('字段名','表达式','查询条件');
whereOr('字段名','表达式','查询条件');