ThinkPHP5-Database Operation
1. Configuration de la base de données
1. Ajoutez les paramètres de configuration suivants à database.php sous le répertoire de l'application ou du module :
return [ // 数据库类型 'type' => 'mysql', // 数据库连接DSN配置 'dsn' => '', // 服务器地址 'hostname' => '127.0.0.1', // 数据库名 'database' => 'thinkphp', // 数据库用户名 'username' => 'root', // 数据库密码 'password' => '', // 数据库连接端口 'hostport' => '', // 数据库连接参数 'params' => [], // 数据库编码默认采用utf8 'charset' => 'utf8', // 数据库表前缀 'prefix' => 'think_', // 数据库调试模式 'debug' => false, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器) 'deploy' => 0, // 数据库读写是否分离 主从式有效 'rw_separate' => false, // 读写分离后 主服务器数量 'master_num' => 1, // 指定从服务器序号 'slave_no' => '', // 是否严格检查字段是否存在 'fields_strict' => true, ];
2.
Db::connect('mysql://root:1234@127.0.0.1:3306/thinkphp#utf8'); 数据库类型://用户名:密码@数据库地址:数据库端口/数据库名#字符集
2. requête (opération de requête) exécuter (opération d'écriture) Ajout, suppression, modification et requête d'instruction SQL d'origine
Db::execute("insert into t_test(username,password) values('qqq','qqq')"); Db::execute("update t_test set username ='55' where id = '10'"); Db::query('select * from t_test where id = 5'); Db::execute('delete from t_test where id = 6');
Liaison à trois paramètres nommée liaison d'espace réservé
支持参数绑定: Db::query('select * from think_user where id=?',[8]); Db::execute('insert into think_user (id, name) values (?, ?)',[8,'thinkphp']); 支持占位符绑定: Db::query('select * from think_user where id=:id',['id'=>8]); Db::execute('insert into think_user (id, name) values (:id, :name)',['id'=>8,'name'=>'thinkphp']);
4. Constructeur de requête
1. Interroger des données :
(1) Interroger une donnée en utilisant :
// table方法必须指定完整的数据表名Db::table('think_user')->where('id',1)->find();//find 方法查询结果不存在,返回 null
(2) Interroger un ensemble de données
Db::table('think_user')->where('status',1)->select(); select 方法查询结果不存在,返回空数组
Si le paramètre de préfixe de table de données est défini, vous pouvez utiliser
Db::name('user')->where('id',1)->find();Db::name('user')->where('status',1)->select();
Si votre table de données n'utilise pas la fonction de préfixe de table, alors les méthodes de nom et de table ont le même effet.
(3) Fonction assistant
Le système fournit une fonction d'assistant de base de données pour une requête plus pratique :
db('user')->where('id',1)->find(); db('user')->where('status',1)->select();
Ajouter des données :
(1) Ajouter une donnée<🎜. >
$data = ['foo' => 'bar', 'bar' => 'foo'];Db::table('think_user')->insert($data);
$data = [ ['foo' => 'bar', 'bar' => 'foo'], ['foo' => 'bar1', 'bar' => 'foo1'], ['foo' => 'bar2', 'bar' => 'foo2'] ];Db::name('user')->insertAll($data); insertAll 方法添加数据成功返回添加成功的条数
// 添加单条数据 db('user')->insert($data);// 添加多条数据 db('user')->insertAll($list);
(1) Mettre à jour data Données dans le tableau
Db::table('think_user') ->where('id', 1) ->update(['name' => 'thinkphp']);
// 更新数据表中的数据 db('user')->where('id',1)->update(['name' => 'thinkphp']);// 更新某个字段的值 db('user')->where('id',1)->setField('name','thinkphp');// 自增 score 字段 db('user')->where('id', 1)->setInc('score');// 自减 score 字段 db('user')->where('id', 1)->setDec('score');
(1) Supprimer les données dans le tableau // Supprimer
Db. selon la clé primaire ::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','<',10)->delete();Fonction Assistant
// 根据主键删除 db('user')->delete(1);// 条件删除 db('user')->where('id',1)->delete();
Supposons que nous souhaitions maintenant interroger une table User qui satisfait au statut de 1 Les 10 premiers enregistrements et souhaitent être triés en fonction de l'heure de création de l'utilisateur, le code est le suivant :
Db::table('think_user') ->where('status',1) ->order('create_time') ->limit(10) ->select();
À propos de l'utilisation de la base de données et du modèle ThinkPHP5
Une étude de cas sur le fonctionnement de la base de données thinkphp5.0
Énumérez quelques similitudes et différences entre ThinkPHP5 et ThinkPHP3
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!