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

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

青灯夜游
Lepaskan: 2022-09-23 19:28:36
ke hadapan
1488 orang telah melayarinya

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

Sistem menyediakan db fungsi pembantu untuk pertanyaan yang lebih mudah:

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

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

Tambah data

Gunakan kaedah sisipan kelas Db untuk menyerahkan data ke pangkalan data

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

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

Kaedah insertAll berjaya menambah data dan mengembalikan bilangan item yang berjaya ditambahkan

Fungsi Penolong

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

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

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

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');
Salin selepas log masuk
自增或自减一个字段的值
// 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);
Salin selepas log masuk

Kemas kini tertunda

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

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

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

kaedah whereAr

Db::table('think_user')
    ->where('name','like','%thinkphp')
    ->whereOr('title','like','%thinkphp')
    ->find();
Salin selepas log masuk

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

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('字段名','表达式','查询条件');
Salin selepas log masuk
]
表达式 含义
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 时间比较
Salin selepas log masuk

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!

Label berkaitan:
sumber:juejin.cn
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