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

Apakah kaedah mengendalikan pangkalan data dalam Thinkphp5.0?

WBOY
Lepaskan: 2023-05-31 17:28:06
ke hadapan
964 orang telah melayarinya

Penggunaan asas

Kendalian pertanyaan

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

Kendalian tulis

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

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();
Salin selepas log masuk

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();
Salin selepas log masuk

Fungsi Penolong<🎜. >

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

db(&#39;user&#39;)->where(&#39;id&#39;,1)->find();
db(&#39;user&#39;)->where(&#39;status&#39;,1)->select();
Salin selepas log masuk

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(&#39;user&#39;,[],false)->where(&#39;id&#39;,1)->find();
db(&#39;user&#39;,[],false)->where(&#39;status&#39;,1)->select();
Salin selepas log masuk

Tambah data

Gunakan kaedah sisipan kelas Db untuk menambah data ke pangkalan data Hantar data

$data = [&#39;foo&#39; => &#39;bar&#39;, &#39;bar&#39; => &#39;foo&#39;];
Db::table(&#39;think_user&#39;)->insert($data);
Salin selepas log masuk

Tambah berbilang keping data

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

$data = [    [&#39;foo&#39; => &#39;bar&#39;, &#39;bar&#39; => &#39;foo&#39;],
    [&#39;foo&#39; => &#39;bar1&#39;, &#39;bar&#39; => &#39;foo1&#39;],
    [&#39;foo&#39; => &#39;bar2&#39;, &#39;bar&#39; => &#39;foo2&#39;]
];
Db::name(&#39;user&#39;)->insertAll($data);
Salin selepas log masuk

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

Fungsi Penolong

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

// 添加多条数据
db(&#39;user&#39;)->insertAll($list);
Salin selepas log masuk

Kemas kini data

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

Db::table(&#39;think_user&#39;)->where(&#39;id&#39;, 1)->update([&#39;name&#39; => &#39;thinkphp&#39;]);
Salin selepas log masuk

Mengemas kini nilai medan: Kaedah setField mengembalikan bilangan data yang terjejas, jika tiada medan data diubah suai, mengembalikan 0

Db::table(&#39;think_user&#39;)->where(&#39;id&#39;,1)->setField(&#39;name&#39;, &#39;thinkphp&#39;);
Salin selepas log masuk
自增或自减一个字段的值
// score 字段加 1
Db::table(&#39;think_user&#39;)->where(&#39;id&#39;, 1)->setInc(&#39;score&#39;);
// score 字段加 5
Db::table(&#39;think_user&#39;)->where(&#39;id&#39;, 1)->setInc(&#39;score&#39;, 5);
// score 字段减 1
Db::table(&#39;think_user&#39;)->where(&#39;id&#39;, 1)->setDec(&#39;score&#39;);
// score 字段减 5
Db::table(&#39;think_user&#39;)->where(&#39;id&#39;, 1)->setDec(&#39;score&#39;, 5);
Salin selepas log masuk

Lengah Kemas Kini

Db::table(&#39;think_user&#39;)->where(&#39;id&#39;, 1)->setInc(&#39;score&#39;, 1, 10);
Salin selepas log masuk

Padam datarreee

Kaedah pertanyaan bersyarat

di mana

Anda boleh menggunakan kaedah where untuk DAN pertanyaan bersyarat:

// 根据主键删除
Db::table(&#39;think_user&#39;)->delete(1);
Db::table(&#39;think_user&#39;)->delete([1,2,3]);

// 条件删除    
Db::table(&#39;think_user&#39;)->where(&#39;id&#39;,1)->delete();
Db::table(&#39;think_user&#39;)->where(&#39;id&#39;,&#39;<&#39;,10)->delete();
Salin selepas log masuk

kaedah whereOr

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

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();
Salin selepas log masuk

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();
Salin selepas log masuk
where(&#39;字段名&#39;,&#39;表达式&#39;,&#39;查询条件&#39;);
whereOr(&#39;字段名&#39;,&#39;表达式&#39;,&#39;查询条件&#39;);
Salin selepas log masuk

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!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan