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 数据库类型://用户名:密码@数据库地址:数据库端口/数据库名#字符集
二、query(查询操作)execute(写入操作) 原生态SQL语句 增删改查
Db::execute( insert into t_test(username,password) html' target='_blank'>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 = Db::execute( insert into think_user (id, name) values (:id, :name) ,[ id = 8, name = thinkphp
四、查询构造器
1、查询数据:
(1)查询一个数据使用:
// table方法必须指定完整的数据表名Db::table( think_user )- where( id ,1)- find();//find 方法查询结果不存在,返回 null
(2)查询数据集
Db::table( think_user )- where( status ,1)- select();select 方法查询结果不存在,返回空数组
如果设置了数据表前缀参数的话,可以使用
Db::name( user )- where( id ,1)- find();Db::name( user )- where( status ,1)- select();
如果你的数据表没有使用表前缀功能,那么name和table方法的一样的效果。
(3)助手函数
系统提供了一个db助手函数,可以更方便的查询:
db( user )- where( id ,1)- find();db( user )- where( status ,1)- select();
2、添加数据:
(1)添加一条数据
$data = [ foo = bar , bar = foo Db::table( think_user )- insert($data);
(2)添加多条数据
$data = [ [ foo = bar , bar = foo ], [ foo = bar1 , bar = foo1 ], [ foo = bar2 , bar = foo2 ]];Db::name( user )- insertAll($data);insertAll 方法添加数据成功返回添加成功的条数
(3)助手函数
// 添加单条数据db( user )- insert($data);// 添加多条数据db( user )- insertAll($list);
3、更新数据:
(1)更新数据表中的数据
Db::table( think_user ) - where( id , 1) - update([ name = thinkphp
(2)助手函数
// 更新数据表中的数据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、删除数据
(1)删除数据表中// 根据主键删除
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();助手函数
// 根据主键删除db( user )- delete(1);// 条件删除 db( user )- where( id ,1)- delete();
五、链式操作
假如我们现在要查询一个User表的满足状态为1的前10条记录,并希望按照用户的创建时间排序 ,代码如下:
Db::table( think_user ) - where( status ,1) - order( create_time ) - limit(10) - select();
这里的where、order和limit方法就被称之为链式操作方法,除了select方法必须放到最后一个外(因为select方法并不是链式操作方法),链式操作的方法调用顺序没有先后。
本文讲解关于ThinkPHP5数据库的相关操作 ,更多相关内容请关注php 。
相关推荐:
关于ThinkPHP5的数据库和模型用法
关于thinkphp5.0数据库操作的案例
列举ThinkPHP5与ThinkPHP3的一些异同点
以上就是关于ThinkPHP5数据库的相关操作的详细内容,PHP教程
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
新闻热点
疑难解答