>  기사  >  PHP 프레임워크  >  ThinkPHP에서 테이블 쿼리문을 사용하는 방법

ThinkPHP에서 테이블 쿼리문을 사용하는 방법

WBOY
WBOY앞으로
2023-05-27 14:52:221470검색

1. 단일 필드 쿼리

테이블의 특정 필드를 쿼리하려면 table() 함수를 통해 쿼리할 테이블을 지정할 수 있지만, find() 함수는 다음과 유사하게 하나의 결과만 쿼리하는 것을 의미합니다. MySQL SELECT * FROM table_name WHERE 컬럼_이름 = '값' LIMIT 1.

샘플 코드:

$data = Db::table('user')->where('id', 1)->value('username');
echo $data; // 输出结果:'张三'

위 코드에서는 table() 함수를 사용하여 사용자로 쿼리할 테이블을 지정한 다음 where() 함수를 사용하여 쿼리 조건을 지정합니다. id 1을 사용하고 value() 함수를 사용하여 사용자 이름 필드의 값을 쿼리합니다.

2. 전체 레코드 쿼리

테이블의 전체 레코드를 가져오려면 find() 또는 select() 메서드를 사용할 수 있습니다. 그 중 find() 함수는 조건에 맞는 첫 번째 레코드를 조회한다는 의미이고, select() 함수는 조건에 맞는 모든 레코드를 조회한다는 뜻이다.

샘플 코드:

$data = Db::table('user')->where('username', '张三')->find();
print_r($data); // 输出结果:['id' => 1, 'username' => '张三', 'age' => 25]

위 코드에서는 먼저 table() 함수를 사용하여 사용자로 쿼리할 테이블을 지정한 다음 where() 함수를 사용하여 쿼리 조건을 지정하고 사용자 이름이 다음과 같은 레코드를 쿼리합니다. 'Zhang San', 마지막으로 find() 함수를 사용하여 전체 기록을 조회합니다.

3. 여러 필드 쿼리

테이블의 여러 필드를 쿼리하려면 field() 함수를 사용하여 쿼리할 필드를 지정할 수 있습니다.

샘플 코드:

$data = Db::table('user')->where('id', 1)->field('username, age')->find();
print_r($data); // 输出结果:['username' => '张三', 'age' => 25]

위 코드에서는 field() 함수를 사용하여 쿼리할 필드를 사용자 이름과 나이로 지정하고 ID가 1인 레코드를 쿼리한 다음 마지막으로 find() 함수를 사용하여 전체 기록.

4. 여러 레코드 쿼리

테이블에서 쿼리 조건에 맞는 여러 레코드를 쿼리하려면 select() 함수를 사용하세요. find() 함수와의 차이점은 select() 함수는 결과 집합 배열로 구성된 2차원 배열을 반환한다는 점입니다.

샘플 코드:

$data = Db::table('user')->where('age', '>', 20)->select();
print_r($data); // 输出结果:[['id' => 1, 'username' => '张三', 'age' => 25], ['id' => 2, 'username' => '李四', 'age' => 28]]

위 코드에서는 table() 함수를 사용하여 사용자로 쿼리할 테이블을 지정한 다음 where() 함수를 사용하여 쿼리 조건을 지정하고, age가 다음보다 큰 레코드를 쿼리합니다. 20, select() 함수를 사용하여 여러 레코드를 쿼리합니다.

5. 쿼리 정렬

쿼리 결과를 정렬하려면 order() 함수를 사용할 수 있습니다. 여기서 매개변수는 오름차순일 경우 asc, 내림차순일 경우 desc일 수 있습니다.

샘플 코드:

$data = Db::table('user')->where('age', '>', 20)->order('age desc')->select();
print_r($data); // 输出结果:[['id' => 2, 'username' => '李四', 'age' => 28], ['id' => 1, 'username' => '张三', 'age' => 25]]

위 코드에서는 where() 함수를 사용하여 쿼리 조건을 지정하고, 20세 이상의 레코드를 쿼리하고, order() 함수를 사용하여 결과를 내림차순으로 정렬합니다. age를 선택하고 마지막으로 select() 함수를 사용하여 여러 레코드를 쿼리합니다.

6. 페이징 쿼리

쿼리 결과에 레코드가 많은 경우에는 Limit() 함수를 사용하여 페이징 쿼리를 수행할 수 있습니다. 여기서 첫 번째 매개변수는 레코드의 시작 위치를 나타내고 두 번째 매개변수는 숫자를 나타냅니다. 쿼리할 레코드 수입니다.

샘플 코드:

$data = Db::table('user')->where('age', '>', 20)->order('age desc')->limit(0, 1)->select();
print_r($data); // 输出结果:[['id' => 2, 'username' => '李四', 'age' => 28]]

위 코드에서는 where() 함수를 사용하여 쿼리 조건을 지정하고, 20세 이상의 레코드를 쿼리하고, order() 함수를 사용하여 결과를 내림차순으로 정렬합니다. age를 선택한 다음 Limit() 함수를 사용하여 레코드를 쿼리합니다.

위 내용은 ThinkPHP에서 테이블 쿼리문을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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