Heim  >  Artikel  >  Backend-Entwicklung  >  Verwandte Vorgänge in der ThinkPHP5-Datenbank

Verwandte Vorgänge in der ThinkPHP5-Datenbank

jacklove
jackloveOriginal
2018-06-15 11:11:301533Durchsuche

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');
数据库类型://用户名:密码@数据库地址:数据库端口/数据库名#字符集

2. Abfrage (Abfragevorgang) Ausführung (Schreibvorgang) Hinzufügen, Löschen, Ändern und Abfragen der ursprünglichen SQL-Anweisung

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');

Drei-Parameter-Bindung mit dem Namen Platzhalterbindung

支持参数绑定:
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 Konstruktor

1. Daten abfragen:
(1) Daten abfragen mit:

// table方法必须指定完整的数据表名Db::table('think_user')->where('id',1)->find();//find 方法查询结果不存在,返回 null

(2) Datensatz abfragen

Db::table('think_user')->where('status',1)->select();
select 方法查询结果不存在,返回空数组

Wenn eine Datentabelle für Präfixparameter festgelegt ist , können Sie

Db::name('user')->where('id',1)->find();Db::name('user')->where('status',1)->select();

verwenden. Wenn Ihre Datentabelle nicht die Tabellenpräfixfunktion verwendet, haben die Namens- und Tabellenmethoden den gleichen Effekt.

(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();

2. Daten hinzufügen:

(1) Fügen Sie ein Datenelement hinzu

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

(2) Mehrere Daten hinzufügen

$data = [
    ['foo' => 'bar', 'bar' => 'foo'],
    ['foo' => 'bar1', 'bar' => 'foo1'],
    ['foo' => 'bar2', 'bar' => 'foo2']
];Db::name('user')->insertAll($data);
insertAll 方法添加数据成功返回添加成功的条数

(3) Hilfsfunktion

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

3. Daten aktualisieren:

(1) Aktualisieren Sie die Daten in der Datentabelle

Db::table('think_user')
    ->where('id', 1)
    ->update(['name' => 'thinkphp']);

(2) Assistentenfunktion

// 更新数据表中的数据
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');

4. Daten löschen

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

// Bedingtes Löschen

Db:: table('think_user')->where('id',1)->delete();
Db::table('think_user')->where('id','<', 10)-> ;delete(); Assistentenfunktion

// 根据主键删除
db(&#39;user&#39;)->delete(1);// 条件删除    
db(&#39;user&#39;)->where(&#39;id&#39;,1)->delete();

5. Kettenoperation

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(&#39;think_user&#39;)
    ->where(&#39;status&#39;,1)
    ->order(&#39;create_time&#39;)
    ->limit(10)
    ->select();

Die Where-, Order- und Limit-Methoden werden hier als Kettenoperationsmethoden bezeichnet, mit der Ausnahme, dass die Select-Methode an letzter Stelle platziert werden muss (weil die Die Auswahlmethode ist keine Kettenoperationsmethode. Bei der Kettenoperationsmethode gibt es keine Reihenfolge, in der die Methoden der Formeloperation aufgerufen werden.

In diesem Artikel werden die zugehörigen Vorgänge der ThinkPHP5-Datenbank erläutert. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website.

Verwandte Empfehlungen:

Ü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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn