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

Verwandte Vorgänge in der ThinkPHP5-Datenbank

jacklove
Freigeben: 2023-04-01 09:22:01
Original
1593 Leute haben es durchsucht

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,    
];
Nach dem Login kopieren

2 >

Db::connect('mysql://root:1234@127.0.0.1:3306/thinkphp#utf8');
数据库类型://用户名:密码@数据库地址:数据库端口/数据库名#字符集
Nach dem Login kopieren

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');
Nach dem Login kopieren

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']);
Nach dem Login kopieren

4 Konstruktor

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

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

(2) Datensatz abfragen

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

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();
Nach dem Login kopieren

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();
Nach dem Login kopieren

2. Daten hinzufügen:

(1) Fügen Sie ein Datenelement hinzu

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

(2) Mehrere Daten hinzufügen

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

(3) Hilfsfunktion

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

3. Daten aktualisieren:

(1) Aktualisieren Sie die Daten in der Datentabelle

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

(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');
Nach dem Login kopieren

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();
Nach dem Login kopieren

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();
Nach dem Login kopieren
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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage