Maison  >  Article  >  cadre php  >  Parlons du fonctionnement de la base de données de Thinkphp 5.0 (code clé)

Parlons du fonctionnement de la base de données de Thinkphp 5.0 (code clé)

青灯夜游
青灯夜游avant
2022-09-23 19:28:361460parcourir

Un site Web standard doit être indissociable des opérations de base de données. Dans ce cours, je travaillerai avec vous pour découvrir le mystère des opérations de données ThinkPHP5 et j'utiliserai volontiers ThinkPHP5 pour exploiter la base de données avec vous, rendant les opérations de base de données plus agréables. Utilisation de base

Requête de donnéesParlons du fonctionnement de la base de données de Thinkphp 5.0 (code clé)

find renvoie un enregistrement, le retour Le résultat est un tableau à une dimension. Si le résultat n'existe pas, NULL est renvoyé.
Db::query('select * from think_user where id=?',[8]);

select renvoie tous les enregistrements. Si le résultat n'existe pas, un tableau vide est renvoyé.

Db::execute('insert into think_user (id, name) values (?, ?)',[8,'thinkphp']);
Fonction AssistantSystème Une fonction d'assistant de base de données est fournie pour des requêtes plus pratiques :

Db::table('think_user')->where('id',1)->find();
Remarque : L'utilisation de la fonction d'assistant de base de données se reconnectera à la base de données à chaque fois par défaut, tout en utilisant le Db::name ou La méthode Db::table est un singleton. Si la fonction db doit utiliser le même lien, vous pouvez transmettre le troisième paramètre, tel que
Db::table('think_user')->where('status',1)->select();

Ajouter des données

Utilisez la méthode d'insertion de la classe Db pour soumettre des données à la base de données

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

Ajouter plusieurs éléments de données

Pour ajouter plusieurs éléments de données, transmettez simplement les données à ajouter directement à la méthode insertAll de la classe Db

db('user',[],false)->where('id',1)->find();
db('user',[],false)->where('status',1)->select();
La méthode insertAll ajoute avec succès les données et renvoie le nombre d'éléments ajoutés avec succès Pieces

Fonction Assistant

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

La méthode update renvoie le nombre de données affectées, si aucune donnée n'est modifiée, elle renvoie 0

$data = [    ['foo' => 'bar', 'bar' => 'foo'],
    ['foo' => 'bar1', 'bar' => 'foo1'],
    ['foo' => 'bar2', 'bar' => 'foo2']
];
Db::name('user')->insertAll($data);
Mise à jour de la valeur d'un certain champ : la méthode setField renvoie le nombre des données concernées, si aucun champ de données n'est modifié, il renvoie 0

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

// 添加多条数据
db('user')->insertAll($list);
Db::table('think_user')->where('id', 1)->update(['name' => 'thinkphp']);
Mise à jour différée

Db::table('think_user')->where('id',1)->setField('name', 'thinkphp');

Supprimer les données

自增或自减一个字段的值
// 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);
Méthode de requête conditionnelle

where

Vous pouvez utiliser le où méthode pour effectuer une requête conditionnelle ET :

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

méthodewhereOr

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

Requête mixte

La méthode Where et la méthode WhereOr doivent souvent être mélangées dans des conditions de requête complexes. Voici un exemple :

Db::table('think_user')
    ->where('name','like','%thinkphp')
    ->where('status',1)
    ->find();
. Expression de requête

L'expression de requête prend en charge la plupart des syntaxes de requête SQL et constitue également l'essence du langage de requête ThinkPHP, le format d'utilisation de l'expression de requête :

Db::table('think_user')
    ->where('name','like','%thinkphp')
    ->whereOr('title','like','%thinkphp')
    ->find();
$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();
[Recommandation de didacticiel associée :
thinkphp framework

]

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer