>PHP 프레임워크 >ThinkPHP >데이터베이스에서 Thinkphp5.0의 작동 방법은 무엇입니까?

데이터베이스에서 Thinkphp5.0의 작동 방법은 무엇입니까?

WBOY
WBOY앞으로
2023-05-31 17:28:06957검색

기본 사용법

쿼리 작업

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();

Assistant 함수

시스템 더 편리하게 사용할 수 있는 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 메서드는 영향을 받은 데이터의 수를 반환하고, 데이터 필드가 수정되지 않으면 0

Db::table('think_user')->where('id', 1)->update(['name' => 'thinkphp']);
Db::table('think_user')->where('id',1)->setField('name', 'thinkphp');
Delayed update

自增或自减一个字段的值
// 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);

조건부 쿼리 방법

where

where 메서드를 사용하여 조건부 쿼리를 수행할 수 있습니다:

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

// 条件删除    
Db::table('think_user')->where('id',1)->delete();
Db::table(&#39;think_user&#39;)->where(&#39;id&#39;,&#39;<&#39;,10)->delete();

whereOr 메서드

Db::table(&#39;think_user&#39;)
    ->where(&#39;name&#39;,&#39;like&#39;,&#39;%thinkphp&#39;)
    ->where(&#39;status&#39;,1)
    ->find();

혼합 쿼리

where 메소드 및 whereOr 메소드 복잡한 쿼리 조건은 종종 함께 혼합되어야 합니다. 예는 다음과 같습니다:

Db::table(&#39;think_user&#39;)
    ->where(&#39;name&#39;,&#39;like&#39;,&#39;%thinkphp&#39;)
    ->whereOr(&#39;title&#39;,&#39;like&#39;,&#39;%thinkphp&#39;)
    ->find();

쿼리 표현식

쿼리 표현식은 대부분의 SQL 쿼리 구문을 지원하며 ThinkPHP 쿼리 언어의 핵심이기도 합니다:

$result = Db::table(&#39;think_user&#39;)->where(function ($query) {
    $query->where(&#39;id&#39;, 1)->whereor(&#39;id&#39;, 2);
})->whereOr(function ($query) {
    $query->where(&#39;name&#39;, &#39;like&#39;, &#39;think&#39;)->whereOr(&#39;name&#39;, &#39;like&#39;, &#39;thinkphp&#39;);
})->select();
where(&#39;字段名&#39;,&#39;表达式&#39;,&#39;查询条件&#39;);
whereOr(&#39;字段名&#39;,&#39;表达式&#39;,&#39;查询条件&#39;);
.

위 내용은 데이터베이스에서 Thinkphp5.0의 작동 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제