Rumah >rangka kerja php >ThinkPHP >Apakah kaedah mengendalikan pangkalan data dalam Thinkphp5.0?

Apakah kaedah mengendalikan pangkalan data dalam Thinkphp5.0?

WBOY
WBOYke hadapan
2023-05-31 17:28:06957semak imbas

Penggunaan asas

Kendalian pertanyaan

Db::query('select * from think_user where id=?',[8]);

Kendalian tulis

Db::execute('insert into think_user (id, name) values (?, ?)',[8,'thinkphp']);

Pembina pertanyaan

Data pertanyaan

cari mengembalikan rekod, dan hasil yang dikembalikan ialah tatasusunan satu dimensi Jika hasilnya tidak wujud, NULL adalah 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();

Fungsi Penolong

Sistem menyediakan fungsi A db assistant untuk pertanyaan yang lebih mudah:

db('user')->where('id',1)->find();
db('user')->where('status',1)->select();

Nota: Menggunakan fungsi db assistant akan menyambung semula ke pangkalan data setiap kali secara lalai, semasa menggunakan Db ::name atau kaedah Db::table akan Singleton. 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 menambah data ke pangkalan data Hantar data

$data = ['foo' => 'bar', 'bar' => 'foo'];
Db::table('think_user')->insert($data);

Tambah berbilang keping data

Tambahkan berbilang keping data Hanya hantar data untuk ditambahkan terus kaedah insertAll kelas Db

$data = [    ['foo' => 'bar', 'bar' => 'foo'],
    ['foo' => 'bar1', 'bar' => 'foo1'],
    ['foo' => 'bar2', 'bar' => 'foo2']
];
Db::name('user')->insertAll($data);

insertAll kaedah menambah data dengan jayanya dan mengembalikan bilangan item yang berjaya ditambahkan

Fungsi Penolong

// 添加单条数据
db('user')->insert($data);

// 添加多条数据
db('user')->insertAll($list);

Kemas kini data

kaedah kemas kini mengembalikan Bilangan data yang terjejas, jika tiada data diubah suai, mengembalikan 0

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

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

Lengah Kemas Kini

Db::table('think_user')->where('id', 1)->setInc('score', 1, 10);

Padam datarreee

Kaedah pertanyaan bersyarat

di mana

Anda boleh menggunakan kaedah where untuk DAN pertanyaan bersyarat:

// 根据主键删除
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();

kaedah whereOr

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

Pertanyaan bercampur

di mana kaedah dan di manaAtau Kaedah sering perlu dicampur bersama dalam keadaan pertanyaan yang rumit Berikut ialah contoh:

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

Pertanyaan ungkapan

Ungkapan pertanyaan menyokong kebanyakan pertanyaan SQL Tatabahasa juga merupakan intipati bahasa pertanyaan ThinkPHP Format penggunaan ungkapan pertanyaan ialah:

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

Atas ialah kandungan terperinci Apakah kaedah mengendalikan pangkalan data dalam Thinkphp5.0?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam