Rumah  >  Artikel  >  rangka kerja php  >  Mari kita bincangkan tentang operasi pangkalan data Thinkphp 5.0 (kod kunci)

Mari kita bincangkan tentang operasi pangkalan data Thinkphp 5.0 (kod kunci)

青灯夜游
青灯夜游ke hadapan
2022-09-23 19:28:361475semak imbas

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.

Mari kita bincangkan tentang operasi pangkalan data Thinkphp 5.0 (kod kunci)

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 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 pembantu

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

Kemas kini data

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

Padam data

// 根据主键删除
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','<&#39;,10)->delete();

Kaedah pertanyaan bersyarat

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

Sokongan ungkapan pertanyaan Kebanyakan sintaks pertanyaan SQL juga merupakan intipati bahasa pertanyaan ThinkPHP Format penggunaan ungkapan pertanyaan:

[Cadangan tutorial berkaitan:

rangka kerja thinkphp
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 时间比较

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!

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