ThinkPHP5-데이터베이스 작업
1. 데이터베이스 구성
1. 애플리케이션 디렉터리 또는 모듈 디렉터리 아래에 다음 구성 매개변수를 추가합니다.
return [ // 数据库类型 'type' => 'mysql', // 数据库连接DSN配置 'dsn' => '', // 服务器地址 'hostname' => '127.0.0.1', // 数据库名 'database' => 'thinkphp', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => '', // 数据库连接端口 'hostport' => '', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => 'think_', // 数据库调试模式 'debug' => false, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器) 'deploy' => 0, // 数据库读写是否分离 主从式有效 'rw_separate' => false, // 读写分离后 主服务器数量 'master_num' => 1, // 指定从服务器序号 'slave_no' => '', // 是否严格检查字段是否存在 'fields_strict' => true, ];
2. 쿼리(쿼리 작업) 실행( 쓰기 작업) 원본 SQL 문 추가, 삭제, 수정 및 쿼리
Db::connect('mysql://root:1234@127.0.0.1:3306/thinkphp#utf8'); 数据库类型://用户名:密码@数据库地址:数据库端口/数据库名#字符集
자리 표시자 바인딩이라는 이름의 세 가지 매개 변수 바인딩
Db::execute("insert into t_test(username,password) values('qqq','qqq')"); Db::execute("update t_test set username ='55' where id = '10'"); Db::query('select * from t_test where id = 5'); Db::execute('delete from t_test where id = 6');
4. 쿼리 생성자
1. 데이터 쿼리: (1) 데이터를 쿼리하려면:
支持参数绑定: Db::query('select * from think_user where id=?',[8]); Db::execute('insert into think_user (id, name) values (?, ?)',[8,'thinkphp']); 支持占位符绑定: Db::query('select * from think_user where id=:id',['id'=>8]); Db::execute('insert into think_user (id, name) values (:id, :name)',['id'=>8,'name'=>'thinkphp']);
// table方法必须指定完整的数据表名Db::table('think_user')->where('id',1)->find();//find 方法查询结果不存在,返回 null
데이터 테이블 접두사 매개변수가 설정된 경우
Db::table('think_user')->where('status',1)->select(); select 方法查询结果不存在,返回空数组
를 사용할 수 있습니다. 데이터 테이블이 테이블 접두사 기능을 사용하지 않는 경우 이름과 테이블 메서드는 동일한 효과를 갖습니다.
(3) 보조 기능 시스템은 보다 편리한 쿼리를 위해 DB 보조 기능을 제공합니다:
Db::name('user')->where('id',1)->find();Db::name('user')->where('status',1)->select();
db('user')->where('id',1)->find(); db('user')->where('status',1)->select();
$data = ['foo' => 'bar', 'bar' => 'foo'];Db::table('think_user')->insert($data);
( 3) 보조 기능
$data = [ ['foo' => 'bar', 'bar' => 'foo'], ['foo' => 'bar1', 'bar' => 'foo1'], ['foo' => 'bar2', 'bar' => 'foo2'] ];Db::name('user')->insertAll($data); insertAll 方法添加数据成功返回添加成功的条数
3. 데이터 업데이트:
(1) 데이터 테이블의 데이터 업데이트// 添加单条数据 db('user')->insert($data);// 添加多条数据 db('user')->insertAll($list);
Db::table('think_user') ->where('id', 1) ->update(['name' => 'thinkphp']);
4. 데이터 삭제
(1) 테이블의 데이터 삭제 // 삭제 기본 키에 따라Db::table('think_user')->delete(1)
Db::table('think_user')->delete([1,2,3]);
/ / 조건부 삭제
Db::table('think_user')->where('id', 'e9b647425f734f4eff9c33a4d1e6d0ccdelete(); 보조 기능
// 更新数据表中的数据 db('user')->where('id',1)->update(['name' => 'thinkphp']);// 更新某个字段的值 db('user')->where('id',1)->setField('name','thinkphp');// 自增 score 字段 db('user')->where('id', 1)->setInc('score');// 自减 score 字段 db('user')->where('id', 1)->setDec('score');
// 根据主键删除 db('user')->delete(1);// 条件删除 db('user')->where('id',1)->delete();
이 기사에서는 ThinkPHP5 데이터베이스의 관련 작업에 대해 설명합니다. 더 많은 관련 내용을 보려면 PHP 중국어 웹사이트를 참고하세요.
관련 권장 사항:
ThinkPHP5의 데이터베이스 및 모델 사용 정보thinkphp5.0 데이터베이스 운영에 대한 사례 연구ThinkPHP5와 ThinkPHP3의 유사점과 차이점을 나열해 보세요위 내용은 ThinkPHP5 데이터베이스 관련 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!