Rumah > Artikel > rangka kerja php > Mari kita bincangkan tentang operasi pangkalan data Thinkphp 5.0 (kod kunci)
Tapak web standard mesti tidak dapat dipisahkan daripada operasi pangkalan data Dalam kursus ini, saya akan bekerjasama dengan anda untuk membongkar misteri operasi data ThinkPHP5, dan dengan senang hati menggunakan ThinkPHP5 untuk mengendalikan pangkalan data dengan anda, menjadikan operasi pangkalan data lebih mudah.
Kendalian pertanyaan
Db::query('select * from think_user where id=?',[8]);
Kendalian tulis
Db::execute('insert into think_user (id, name) values (?, ?)',[8,'thinkphp']);
Data pertanyaan
cari mengembalikan rekod, dan hasil yang dikembalikan ialah tatasusunan satu dimensi Jika hasilnya tidak wujud, NULL dikembalikan
Db::table('think_user')->where('id',1)->find();
pilih mengembalikan semua rekod. dan hasil yang dikembalikan ialah tatasusunan Dua dimensi Jika hasilnya tidak wujud, tatasusunan kosong dikembalikan
Db::table('think_user')->where('status',1)->select();
Sistem menyediakan db fungsi pembantu untuk pertanyaan yang lebih mudah:
db('user')->where('id',1)->find(); db('user')->where('status',1)->select();
Nota: Menggunakan fungsi pembantu db akan menyambung semula ke pangkalan data setiap kali secara lalai, sambil menggunakan kaedah Db::name atau Db::table ialah seorang bujang. Jika fungsi db perlu menggunakan pautan yang sama, anda boleh memasukkan parameter ketiga, seperti
db('user',[],false)->where('id',1)->find(); db('user',[],false)->where('status',1)->select();
Tambah data
Gunakan kaedah sisipan kelas Db untuk menyerahkan data ke pangkalan data
$data = ['foo' => 'bar', 'bar' => 'foo']; Db::table('think_user')->insert($data);
Tambah berbilang keping data
Tambah berbilang keping data terus ke kelas Db Kaedah insertAll boleh menghantar data yang perlu ditambah
$data = [ ['foo' => 'bar', 'bar' => 'foo'], ['foo' => 'bar1', 'bar' => 'foo1'], ['foo' => 'bar2', 'bar' => 'foo2'] ]; Db::name('user')->insertAll($data);
Kaedah insertAll berjaya menambah data dan mengembalikan bilangan item yang berjaya ditambahkan
Fungsi Penolong
// 添加单条数据 db('user')->insert($data); // 添加多条数据 db('user')->insertAll($list);
Kaedah kemas kini mengembalikan bilangan data yang terjejas dan mengembalikan 0 jika tiada data diubah suai
Db::table('think_user')->where('id', 1)->update(['name' => 'thinkphp']);
Kemas kini nilai medan: kaedah setField Mengembalikan bilangan data yang terjejas Jika tiada medan data diubah suai, mengembalikan 0
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);
Kemas kini tertunda
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();
di mana
Anda boleh menggunakan kaedah where untuk melaksanakan DAN pertanyaan bersyarat:
Db::table('think_user') ->where('name','like','%thinkphp') ->where('status',1) ->find();
kaedah whereAr
Db::table('think_user') ->where('name','like','%thinkphp') ->whereOr('title','like','%thinkphp') ->find();
pertanyaan bercampur
di mana kaedah dan kaedah di mana sering perlu dicampur bersama dalam keadaan pertanyaan kompleks. 🎜>Ungkapan pertanyaan
$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();
[Cadangan tutorial berkaitan:
rangka kerja thinkphpwhere('字段名','表达式','查询条件'); 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 时间比较
Atas ialah kandungan terperinci Mari kita bincangkan tentang operasi pangkalan data Thinkphp 5.0 (kod kunci). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!