標準的な Web サイトはデータベース操作と切り離せない必要があります。この一連のコースでは、ThinkPHP5 データ操作の謎を解き明かし、ThinkPHP5 を喜んで使用してデータベースを操作し、データベース操作をより変更可能にしていきます。喜び。
クエリ操作
Db::query('select * from think_user where id=?',[8]);
#書き込み操作Db::execute('insert into think_user (id, name) values (?, ?)',[8,'thinkphp']);
クエリ データ #find はレコードを返し、返される結果は 1 次元配列です。結果が存在しない場合は、NULL が返されます。
Db::table('think_user')->where('id',1)->find();
Db::table('think_user')->where('status',1)->select();
アシスタント機能
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
のように 3 番目のパラメータを渡すことができます。 #Use Db クラスの insert メソッドはデータをデータベースに送信します$data = ['foo' => 'bar', 'bar' => 'foo'];
Db::table('think_user')->insert($data);
複数のデータを追加し、これを Db クラスの insertAll メソッドに直接渡します。追加する必要があるデータは次のとおりです。$data = [ ['foo' => 'bar', 'bar' => 'foo'],
['foo' => 'bar1', 'bar' => 'foo1'],
['foo' => 'bar2', 'bar' => 'foo2']
];
Db::name('user')->insertAll($data);
// 添加单条数据 db('user')->insert($data); // 添加多条数据 db('user')->insertAll($list);
update メソッドは、影響を受けるデータの数を返します。データは変更されず、0
Db::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();
Db::table('think_user') ->where('name','like','%thinkphp') ->whereOr('title','like','%thinkphp') ->find();
混合クエリ
where メソッド多くの場合、複雑なクエリ条件では whereOr メソッドを混在させる必要があります。例を次に示します:$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('字段名','表达式','查询条件');
表达式 含义 EQ、= 等于(=) NEQ、<> 不等于(<>) GT、> 大于(>) EGT、>= 大于等于(>=) LT、< 小于(<) ELT、<= 小于等于(<=) LIKE 模糊查询 [NOT] BETWEEN (不在)区间查询 [NOT] IN (不在)IN 查询 [NOT] NULL 查询字段是否(不)是NULL [NOT] EXISTS EXISTS查询 EXP 表达式查询,支持SQL语法 > time 时间比较 < time 时间比较 between time 时间比较 notbetween time 时间比较
以上がThinkphp 5.0のデータベース(キーコード)の操作について話しましょうの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。