Maison > cadre php > PensezPHP > 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é)

青灯夜游
Libérer: 2022-09-23 19:28:36
avant
1523 Les gens l'ont consulté

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]);
Copier après la connexion

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']);
Copier après la connexion
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();
Copier après la connexion
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();
Copier après la connexion

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();
Copier après la connexion

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();
Copier après la connexion
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);
Copier après la connexion
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);
Copier après la connexion
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);
Copier après la connexion
Db::table('think_user')->where('id', 1)->update(['name' => 'thinkphp']);
Copier après la connexion
Mise à jour différée

Db::table('think_user')->where('id',1)->setField('name', 'thinkphp');
Copier après la connexion

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);
Copier après la connexion
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);
Copier après la connexion

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();
Copier après la connexion

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();
Copier après la connexion
. 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();
Copier après la connexion
$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();
Copier après la connexion
[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!

Étiquettes associées:
source:juejin.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal