从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解(6)

//添加多条数据
$data = [
 ['article_title' => '标题1', 'article_content' => '内容1'],
 ['article_title' => '标题2', 'article_content' => '内容2'],
 ['article_title' => '标题3', 'article_content' => '内容3']
];
db('article')->insertAll($data);

修改数据:tp3.2使用save(),tp5使用 update()

//修改数据
$whe['article_id'] = 1;
$data['article_title'] = '修改后的标题';
db('article')->where($whe)->update($data);

删除数据:没错还是 delete()

//删除数据
$whe['article_id'] = 1;
db('article')->where($whe)->delete();

db()助手使用起来比较方便,但每次都会重新连接数据库,因此应当尽量避免多次调用,建议还是使用Db类操作数据库。

Db类操作原生SQL:

<?php
namespace app\index\controller;
use think\Db;
class Index {
 public function index() {
 // 插入记录
 $res = Db::execute('insert into lws_article (title ,content) values ("标题", "内容")');
	
 // 删除数据
 $res = Db::execute('delete from lws_article where art_id = 1 ');

 // 更新记录
 $res = Db::execute('update lws_article set title = "修改标题" where art_id = 1 ');

 // 查询数据
 $res = Db::query('select * from lws_article where art_id = 1');

 // 显示数据库列表
 $res = Db::query('show tables from blog');

 // 清空数据表
 $res = Db::execute('TRUNCATE table lws_article');
 }
}

Db类操作查询构造器:

<?php
namespace app\index\controller;
use think\Db;
class Index {
 public function index() {
	// 查询数据(数据库没有配置表前缀)
	$res = Db::table('lws_article')
	 ->where('art_id', 1)
	 ->select();

	//以下为数据库配置了表前缀	

	// 插入记录
	$res = Db::name('article')
		->insert(['title' => '标题', 'content' => '内容']);

	// 更新记录
	$res = Db::name('article')
		->where('art_id', 1)
		->update(['title' => "修改标题"]);

	// 查询数据
	$res = Db::name('article')
		->where('art_id', 1)
		->select();

	// 删除数据
	$res = Db::name('article')
		->where('art_id', 1)
		->delete();
 
 //链式操作举例
 $artlist = Db::name('article')
	 ->where('is_del', 'N')
	 ->field('id,title,content')
	 ->order('post_time', 'desc')
	 ->limit(10)
	 ->select();
 } 
}

【切换数据库】

首先在数据库配置中配置多个数据库:

// 数据库配置1
'db1' => [
	// 数据库类型
	'type' => 'mysql',
	// 服务器地址
	'hostname' => '127.0.0.1',
	// 数据库名
	'database' => 'blog1',
	// 数据库用户名
	'username' => 'root',
	// 数据库密码
	'password' => '123456',
	// 数据库连接端口
	'hostport' => '',
	// 数据库连接参数
	'params' => [],
	// 数据库编码默认采用utf8
	'charset' => 'utf8',
	// 数据库表前缀
	'prefix' => 'lws_',
],
// 数据库配置2
'db2' => [
	// 数据库类型
	'type' => 'mysql',
	// 服务器地址
	'hostname' => '127.0.0.1',
	// 数据库名
	'database' => 'blog2',
	// 数据库用户名
	'username' => 'root',
	// 数据库密码
	'password' => '',
	// 数据库连接端口
	'hostport' => '',
	// 数据库连接参数
	'params' => [],
	// 数据库编码默认采用utf8
	'charset' => 'utf8',
	// 数据库表前缀
	'prefix' => 'lws_',
],
      

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/5796.html