热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

ThinkPHP之数据库操作

连接数据库在应用目录或模块目录的database.php配置数据库信息。return[数据库类型typemysql,服务器地址hostname127.0.0.1,数据库名d
连接数据库

在应用目录或模块目录的database.php配置数据库信息。

return [// 数据库类型'type' => 'mysql',// 服务器地址'hostname' => '127.0.0.1',// 数据库名'database' => '',// 用户名'username' => '',// 密码'password' => '',// 端口'hostport' => '',// 连接dsn'dsn' => '',// 数据库连接参数'params' => [],// 数据库编码默认采用utf8'charset' => 'utf8',// 数据库表前缀'prefix' => '',// 数据库调试模式'debug' => true,// 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器)'deploy' => 0,// 数据库读写是否分离 主从式有效'rw_separate' => false,// 读写分离后 主服务器数量'master_num' => 1,// 指定从服务器序号'slave_no' => '',// 自动读取主库数据'read_master' => false,// 是否严格检查字段是否存在'fields_strict' => true,// 数据集返回类型'resultset_type' => 'array',// 自动写入时间戳字段'auto_timestamp' => false,// 时间字段取出后的默认时间格式'datetime_format' => 'Y-m-d H:i:s',// 是否需要进行SQL性能分析'sql_explain' => false,
];

 

原生SQL操作

使用前引入数据库操作类

use think\Db;

查询操作 

Db::query('select * from user where id=?',[1]);

 插入操作

Db::execute('insert into user(username,password) values(?,?)',[$username,$password]);
查询构造器

where查询

查询一个数据,find方法查询不存在时返回null

Db::table('article')->where(id,1)->find();

查询一个数据集,select()方法查询不存在时返回一个空数据

Db::table('article')->where('user','brell')->select();

Db::table(&#39;article&#39;)->where(&#39;id&#39;,&#39;<&#39;,5)->select();

field方法&#xff1a;返回操作的字段

Db::table(&#39;article&#39;)->filed(&#39;title&#39;,&#39;content&#39;)->select();

order方法&#xff1a;结果排序

Db::table(&#39;article&#39;)->where(&#39;id&#39;,&#39;>&#39;,5)->order(&#39;create_time&#39;)->limit(10)->select();

fetchSql方法&#xff1a;返回sql语句

$sql&#61;Db::table(&#39;article&#39;)->fetchSql(true)->find(1);

union方法&#xff1a;合并两个或多个SELECT语句的结果集

Db::field(&#39;name&#39;)->table(&#39;user0&#39;)->union(select name from user1)->union(select name from user2)->select();

limit方法&#xff1a;指定查询和操作的数据

Db::table(&#39;article&#39;)->where(&#39;id>10&#39;)->filed(&#39;title,content&#39;)->limit(10)->select()

Db::table(&#39;article&#39;)->filed(&#39;title,content&#39;)->limit(10,20)->select()

page方法

DB::table(&#39;article&#39;)->page(1,10)->select();
增加数据构造器

增加一条数据

$data&#61;[&#39;title&#39;&#61;>&#39;title1&#39;,&#39;content&#39;&#61;>&#39;content1&#39;];
Db::table(&#39;article&#39;)->insert($data);

增加多条数据

$data&#61;[[&#39;title&#39;&#61;>&#39;title1&#39;,&#39;content&#39;&#61;>&#39;content1&#39;],[&#39;title&#39;&#61;>&#39;title2&#39;,&#39;content&#39;&#61;>&#39;content2&#39;]
];
Db::table(&#39;article&#39;)->insertAll($data);

删除数据构造器

根据主键删除

Db::table(&#39;article&#39;)->delete(1);Db::table(&#39;article&#39;) ->delete([2,3,4]);

根据条件删除

Db::table(&#39;article&#39;)->where(&#39;id&#39;,1)->delete();Db::table(&#39;article&#39;)->where(&#39;id&#39;,&#39;<&#39;,10)->delete();

更新数据构造器

Db::table(&#39;article&#39;)->where(&#39;id&#39;,1)->update([&#39;title&#39;&#61;>&#39;learn php&#39;]);或者Db::table(&#39;article&#39;)->update([&#39;title&#39;&#61;>&#39;learn php&#39;,&#39;id&#39;&#61;>1]);

 


推荐阅读
  • WhenIusepythontoapplythepymysqlmoduletoaddafieldtoatableinthemysqldatabase,itdo ... [详细]
  • PDO MySQL
    PDOMySQL如果文章有成千上万篇,该怎样保存?数据保存有多种方式,比如单机文件、单机数据库(SQLite)、网络数据库(MySQL、MariaDB)等等。根据项目来选择,做We ... [详细]
  • 本文介绍了如何使用PHP代码将表格导出为UTF8格式的Excel文件。首先,需要连接到数据库并获取表格的列名。然后,设置文件名和文件指针,并将内容写入文件。最后,设置响应头部,将文件作为附件下载。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • Oracle Database 10g许可授予信息及高级功能详解
    本文介绍了Oracle Database 10g许可授予信息及其中的高级功能,包括数据库优化数据包、SQL访问指导、SQL优化指导、SQL优化集和重组对象。同时提供了详细说明,指导用户在Oracle Database 10g中如何使用这些功能。 ... [详细]
  • 本文详细介绍了如何使用MySQL来显示SQL语句的执行时间,并通过MySQL Query Profiler获取CPU和内存使用量以及系统锁和表锁的时间。同时介绍了效能分析的三种方法:瓶颈分析、工作负载分析和基于比率的分析。 ... [详细]
  • 本文介绍了在使用Laravel和sqlsrv连接到SQL Server 2016时,如何在插入查询中使用输出子句,并返回所需的值。同时讨论了使用CreatedOn字段返回最近创建的行的解决方法以及使用Eloquent模型创建后,值正确插入数据库但没有返回uniqueidentifier字段的问题。最后给出了一个示例代码。 ... [详细]
  • 本文提供了关于数据库设计的建议和注意事项,包括字段类型选择、命名规则、日期的加入、索引的使用、主键的选择、NULL处理、网络带宽消耗的减少、事务粒度的控制等方面的建议。同时还介绍了使用Window Functions进行数据处理的方法。通过遵循这些建议,可以提高数据库的性能和可维护性。 ... [详细]
  • Metasploit攻击渗透实践
    本文介绍了Metasploit攻击渗透实践的内容和要求,包括主动攻击、针对浏览器和客户端的攻击,以及成功应用辅助模块的实践过程。其中涉及使用Hydra在不知道密码的情况下攻击metsploit2靶机获取密码,以及攻击浏览器中的tomcat服务的具体步骤。同时还讲解了爆破密码的方法和设置攻击目标主机的相关参数。 ... [详细]
  • 本文详细介绍了MysqlDump和mysqldump进行全库备份的相关知识,包括备份命令的使用方法、my.cnf配置文件的设置、binlog日志的位置指定、增量恢复的方式以及适用于innodb引擎和myisam引擎的备份方法。对于需要进行数据库备份的用户来说,本文提供了一些有价值的参考内容。 ... [详细]
  • Spring特性实现接口多类的动态调用详解
    本文详细介绍了如何使用Spring特性实现接口多类的动态调用。通过对Spring IoC容器的基础类BeanFactory和ApplicationContext的介绍,以及getBeansOfType方法的应用,解决了在实际工作中遇到的接口及多个实现类的问题。同时,文章还提到了SPI使用的不便之处,并介绍了借助ApplicationContext实现需求的方法。阅读本文,你将了解到Spring特性的实现原理和实际应用方式。 ... [详细]
  • 本文主要复习了数据库的一些知识点,包括环境变量设置、表之间的引用关系等。同时介绍了一些常用的数据库命令及其使用方法,如创建数据库、查看已存在的数据库、切换数据库、创建表等操作。通过本文的学习,可以加深对数据库的理解和应用能力。 ... [详细]
  • 在Oracle11g以前版本中的的DataGuard物理备用数据库,可以以只读的方式打开数据库,但此时MediaRecovery利用日志进行数据同步的过 ... [详细]
  • MySQL语句大全:创建、授权、查询、修改等【MySQL】的使用方法详解
    本文详细介绍了MySQL语句的使用方法,包括创建用户、授权、查询、修改等操作。通过连接MySQL数据库,可以使用命令创建用户,并指定该用户在哪个主机上可以登录。同时,还可以设置用户的登录密码。通过本文,您可以全面了解MySQL语句的使用方法。 ... [详细]
  • Postgresql备份和恢复的方法及命令行操作步骤
    本文介绍了使用Postgresql进行备份和恢复的方法及命令行操作步骤。通过使用pg_dump命令进行备份,pg_restore命令进行恢复,并设置-h localhost选项,可以完成数据的备份和恢复操作。此外,本文还提供了参考链接以获取更多详细信息。 ... [详细]
author-avatar
手机用户2502912857
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有