ThinkPHP5-Datenbankbetrieb
1. Datenbankkonfiguration
1. Fügen Sie die folgenden Konfigurationsparameter zur Datenbank.php im Anwendungsverzeichnis oder Modulverzeichnis hinzu:
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'); 数据库类型://用户名:密码@数据库地址:数据库端口/数据库名#字符集
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');
支持参数绑定: 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']);
1. Daten abfragen:
(1) Daten abfragen mit:
// table方法必须指定完整的数据表名Db::table('think_user')->where('id',1)->find();//find 方法查询结果不存在,返回 null
Db::table('think_user')->where('status',1)->select(); select 方法查询结果不存在,返回空数组
Db::name('user')->where('id',1)->find();Db::name('user')->where('status',1)->select();
(3) Assistentenfunktion
Das System bietet eine DB-Assistentenfunktion für eine bequemere Abfrage:
db('user')->where('id',1)->find(); db('user')->where('status',1)->select();
(1) Fügen Sie ein Datenelement hinzu
$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) Aktualisieren Sie die Daten in der Datentabelle
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) Daten in der Tabelle löschen // Basierend auf Primärschlüssel löschen
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','<', 10)-> ;delete(); Assistentenfunktion
// 根据主键删除 db('user')->delete(1);// 条件删除 db('user')->where('id',1)->delete();
Angenommen, wir möchten nun die ersten 10 Datensätze einer Benutzertabelle abfragen, die den Status 1 erfüllen, und möchten sortieren sie entsprechend der Erstellungszeit des Benutzers. Der Code lautet wie folgt:
Db::table('think_user') ->where('status',1) ->order('create_time') ->limit(10) ->select();
Über die Datenbank- und Modellnutzung von ThinkPHP5
Eine Fallstudie zum Datenbankbetrieb von thinkphp5.0
Listen Sie einige Gemeinsamkeiten und Unterschiede zwischen ThinkPHP5 und ThinkPHP3 auf
Das obige ist der detaillierte Inhalt vonVerwandte Vorgänge in der ThinkPHP5-Datenbank. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!