首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

程序员面试必备PHP基础面试题 - 第十一天

主键:能够唯一表示数据每个记录字段或者字段组合就称为主键。...在数据库,常常不只是一个,这些之间也不是相互独立,不同之间需要建立一种关系,才能将它们数据相互沟通,而在这个沟通过程,就需要中有一个字段作为标志,不同记录对应字段取值不能相同,也不能是空白...,通过这个字段不同值可以区别各条记录,就像我们区别不同的人,每个人都有名字,但它却不能作为主键,因为人名很容易出现重复,而身份证号是每个人都不同,所以可以根据它来区别不同的人,数据库作为主键段段就要像人身份证号一样...二.将物理备份文件拷贝到mysqldata目录下 五、内容管理系统message有如下字段 id 文章id title 文章标题 content 文章内容 category_id 文章分类id...记录用户回复内容,字段如下 comment_id 回复id id 文章id,关联messageid comment_content 回复内容 现通过查询数据库需要得到以下格式文章标题列表,并按照回复数量排序

58420
您找到你想要的搜索结果了吗?
是的
没有找到

通过 Laravel Eloquent 模型实现简单增删改查操作

一个 Eloquent 模型类映射一张数据,通过模型类提供方法,你可以获取其映射数据所有记录,也可以获取单条记录,还可以创建、更新和删除对应数据表记录,而这一切都不需要你编写任何 SQL 语句...如果你数据表里面不包含这两个字段,或者只包含一个,都需要设置 public $timestamps = false; 或者通过 CREATED_AT 和 UPDATED_AT 常量来设置自定义创建和更新时间字段...H:i:s,你还可以通过 $dateFormat 属性来自定义时间戳格式,该属性值通过 PHP date() 函数进行解析,所以原则上支持 date 函数支持所有语法格式,比如将时间设置为 Unix...获取所有记录 我们可以通过模型类提供 all 方法获取一张所有记录: $posts = Post::all(); 和查询构建器一样,该方法返回也是集合,只不过是模型类集合: ?...更新数据 通过模型类更新数据表记录也很简单: $post = Post::find(31); $post->title = '测试文章标题更新'; $post->save(); 更新时间 Eloquent

8K20

WordPress主题开发,从入门到精通。

() 函数启用它们,add_theme_support可以在主题functions.php调用,如需在hook调用必须在after_theme_setup调用; add_theme_support...update_option 更新WP设置选项 delete_option,从 WordPress 选项数据安全删除“选项/值”对方法。...ID meta_key,代表需要更新key meta_value,更新之后值 prev_value,更新值,用户区分具有相对用户ID和key数据,不指定时将更新所有数据 21.站点URL plugins_url...,args ) ,将指定标题callback内容字段添加指定页面的指定分节上面。...,所有在插件被关闭后,没有这个action了,任务还会继续,所有在插件关闭时需要同步取消任务,同理表单开关也需要同步任务开启和关闭。

10.5K40

新人分享系列-蘑菇街主搜Dump拼装服务演化

举例来说,从蘑菇街app进行商品搜索“碎花连衣裙”,会出现一个列表页,列表页中有每个商品价格、标题等属性。其实价格和标题对应着引擎两个字段:price、title。...那么,怎么保证商家修改了商品价格或者标题时候,能及时更新引擎这两个字段呢?...调用商品补全服务获取商品最新标题->将最新标题数据放入消息队列并最终更新到引擎。...当时PHP版本补全服务处理流程大致为:接收并解析增量框架传入参数->调用PHP服务进行商品所有信息补全->边界状况处理->封装输出数据格式。...作为当时重要且紧急任务,将补全服务从PHP迁移至JAVA并进行服务化,面临主要挑战有: 1. 涉及业务接口30+; 2. 涉及业务字段100+; 3.

1.2K140

mysql分详解

水平分 根据数据不同规则作为一个分条件,区分数据以数据之间叫做水平分 水平分是比较常见方法,也是解决数据量大时候方法,在水平分,也根据场景不同而分方法不同 取模分...来进行区分某个人,如果你设计像qq号一样,那完全可以将id命名为其他字段,用于区分,自增id同样需要 取模分法会使数据尽量均衡分布,压力均衡,非常适合于需要通过特定标识字段查找数据(会员...,一年就会增加到3.6亿订单数,而大多数情况下,用户只会查询近1-3个月数据,我们可以 通过订单时间进行分,只需要按照月份进行分即可 2:通过取模分,需要注意取模字段, 垂直分 区分一条数据不同字段...,叫做垂直分 垂直分其实我们在设计数据库时,可能已经是用到了,比如会员金额,关联会员userId,这个时候,其实就可以叫做是垂直分 把会员金额字段分到了其他(会员金额) 垂直分较为简单...,有以下几种分法: 1:字段意义和其他字段意义不同,可以尝试分 2:字段占用空间太大,不常用或只在特定情况使用,可以尝试分 3:字段与其他字段更新时间不同,可以尝试分 以上是本人对分一些理解

4.6K10

真正完美解决wordpress文章ID不连续问题

我给出方案很粗暴,很直接,就是占着茅坑不拉屎。建站规划时候,就直接生成2000篇文章,保证ID连续性。 为此,整个过程分为3个步骤: ➤创建Excel包含所有所需占位文章。...➤将excel导入MySQL。 ➤把步骤2MySQL导入WordPress post。 创建一个Excel包含所有所需帖子。...首先我们来创建一个包含2列excel:   文章标题   文章内容 然后把整个execl文件另存为CSV逗号分隔符文件。...将excel导入MySQL 在wordpress数据库创建一个MySQL:一个包含2个字段'allpost' 登录mysql,执行以下语句: CREATE TABLE `wordpress`....> 上述代码只适用于PHP5.X及以下版本,因为PHP7.X里面已经没有mysql_connect等函数

1.6K10

通过 Laravel Eloquent 模型实现批量赋值和软删除

在介绍批量赋值之前,我们先看一个例子,之前我们新增或者修改 Eloquent 模型时都是通过依次设置每个属性来实现: $post = new App\Post; $post->title = '测试文章标题...创建模型 以创建模型实例为例,批量赋值允许我们以数组方式将待设置属性以关联数组方式传递构造函数: $post = new Post([ 'title' => '测试文章标题', '...这样设置就代表除了 user_id 字段之外,所有其它字段都支持批量赋值。 那排除在批量赋值之外字段怎么设置呢?...尤其是实际开发过程,文章可能有十几个字段时候,效果更加明显。我们在 Postman 测试下上面这段代码,可以看到批量赋值确实生效了: ?...其底层实现原理是在支持软删除数据添加一个 deleted_at 字段,这可以通过数据库迁移来实现。

2.4K10

yii2使用Migrations为整个数据库创建迁移

本教程为整个数据库进行创建迁移,弥补以前未做工作,且仅适合于Migrations(2.0.8)版本用户及以上。...大家都知道Migrations是一个在开发和维护数据库驱动应用过程,数据库结构与源代码开发同步更新。...那么我现在数据有接近300多张,所以不可能每张进行命令创建迁移,这样太浪费时间且项目也不止一个,所以我想到一个思路,就是使用命令让程序批量将每张创建迁移文件,那么原生Migrations据我了解是没办法实现将表里每个字段都输出到迁移代码里面...->getDb()->getSchema()->getTableNames()获取所有名,接着就 foreach 循环所有,key为键值 value为名,然后我们使用php exec 函数执行命令...到了最后紧张又刺激时刻了,我们工作已经完成,就差运行命令调试。 我们先将所有备份一份并导出到本地(以防万一,我不舍得你们跑路啊),确保所有都在时候,我们就是用命令执行console任务

1.8K31

SQL语句大全大全(经典珍藏版)

SQL语句大全 –语 句 功 能 –数据操作 SELECT –从 数据库 检索数据行和列 INSERT –向数据库添加新数据行 DELETE –从数据库删除数据行 UPDATE –更新数据库数据...值1 and 值2″ (2) 更新数据记录: sql=”update 数据 set 字段名=字段值 where 条件表达式” sql=”update 数据 set 字段1=值1,字段2=值2 ……...这就是脚本效率所在。 如果需要存为脚本文件,可以在企业管理器右击相应对象在“所有任务“/“生成SQL脚本”命令,设置确定即可。...●接着让PHP支持Mysql数据库 .将安装目录php.ini-recommended复制到winnt目录,改名为php.ini 查找 [MySQL] 字段内容.修改如下....,按鼠标右键,选所有任务->备份数据库。

1.4K10

ThinkPHP数据库 - 数据模型和基础模型

一、定义数据模型 1.模型映射 要测试数据库是否正常连接,最直接办法就是在当前控制器实例化数据,然后使用 dump 函数输出,查看数据库链接状态。...M("User") 就是模型映射,M 函数等于 new Model() ,Model 类是模型基类,也是数据库操作基类, "User" 是该类一个成员属性,表示模型名称,模型名称与数据库数据进行映射...总结:自定义模型映射,一个模型对应一个数据所有增删改查都在模型类完成。M 实例化参数是数据库名,D 实例化是自己在 model 文件夹下建立模型文件。...概念:数据对象 —— 数据字段与数据之间关系,数据会被映射为类成员,再与数据映射,最后实现数据插入或更新。...cerate() 数据源由 POST 表单提供,比如表单中有 username 表单元素,则该元素会被自动映射为数据 username 字段。数据对象创建成功以后,对象被存放于内存

56030

举例说明一下怎么算是第一范式、第二范式、第三范式?

第二范式(2NF):数据库不存在非关键字段对任一候选关键字段部分函数依赖(部分函数依赖指的是存在组合关键字某些字段 决定非关键字段情况),也即 所有非关键字段都完全依赖于任意一组候选关键字。...(3) 更新异常: 如果仓库换了管理员,则所有管理员ID都要修改。...: 用户名 email 主页 电话 联系地址 发帖标题 发帖内容 回复标题 回复内容 这个数据库符合第一范式,但是没有任何一组候选关键字能决定数据库整行,唯一关键字段用户名也不能完全决定整个元组...内容 数据库1显然满足所有范式要求; 数据库2存在非关键字段标题”、”内容”对关键字段”发帖ID”部分函数依赖,即不满足第二范式要求,但是这一设计并不会导致数据冗余和操作异常; 数据库...3也存在非关键字段标题”、”内容”对关键字段”回复ID”部分函数依赖,也不满足第二范式要求,但是与数据库2相似,这一设计也不会导致数据冗余和操作异常。

48110

WordPress 站点地址被恶意篡改防护方案讨论

恶意网站示意 一般情况下,有 2 种手段可以达到这个目的,下面就让长老带领大家一步步去看整个攻击手段是如何实施,并找到每个环节安全防护措施,大家可以根据自己情况使用其中某个或多个防护措施。...在没有可能改变其他业务情况下,这个函数不能被禁用。 那我们就要尝试将主题文件和 WordPress 核心文件设置为只读了。...只是需要注意是,这样将不再支持有文件读写操作行为,例如插件更新、例如某些插件需要在目录中生成缓存或配置文件等。 第二种攻击手段是修改数据库字段。...由于所有的操作都是 WordPress 「合法」数据库访问,所以我们没有办法判断这是恶意攻击,还是正常数据库访问(例如更新设置、读写文章)。...修改 WordPress 数据库 wp_options siteurl 和 home,保存。这时候就可以登录后台了,只需要把确实设置重新修改。

90910

WordPress 站点地址被恶意篡改防护方案讨论

一般情况下,有 2 种手段可以达到这个目的,下面就让长老带领大家一步步去看整个攻击手段是如何实施,并找到每个环节安全防护措施,大家可以根据自己情况使用其中某个或多个防护措施。...在没有可能改变其他业务情况下,这个函数不能被禁用。 那我们就要尝试将主题文件和 WordPress 核心文件设置为只读了。...只是需要注意是,这样将不再支持有文件读写操作行为,例如插件更新、例如某些插件需要在目录中生成缓存或配置文件等。 第二种攻击手段是修改数据库字段。...由于所有的操作都是 WordPress 「合法」数据库访问,所以我们没有办法判断这是恶意攻击,还是正常数据库访问(例如更新设置、读写文章)。...修改 WordPress 数据库 wp_options siteurl 和 home,保存。这时候就可以登录后台了,只需要把确实设置重新修改。

1.3K00

三分钟让你了解什么是Web开发?

假设我们在不同页面上使用,但是使用相同CSS样式。我们可以将所有这些样式信息转移到它自己文件。...通过认证用户创建新博客 为此,我们需要一个带有两个输入字段(标题、内容)HTML表单,用户可以通过该表单创建一个博客帖子。...在我们tbl_blog_post,除了标题和内容,我们还有一个名为created_by字段。如何得到这个字段值? 用户登录 通常,大多数web应用程序都有登录功能。...我们需要根据所请求blog post ID读取数据库数据,然后显示标题和内容字段内容。 显示单个博客文章高级伪代码: 从数据库读取数据以获取博客文章ID。...Ajax是构建单页应用程序(SPAs)技术之一。顾名思义,整个应用程序在一个页面所有内容都是动态加载

5.8K30

【腾讯云1001种玩法】CRUD生成器DBuilder介绍与腾讯云部署

第一部分 说明 1.意义 Dbuilder是基于laravel4开发一套快速实现数据库CRUD(增删改查)操作工具,核心思想是做到针对数据库每个字段做到精确配置,通过生成字段配置并通过修改配置方式来实现增删改查功能...每一个GModule信息都被保存在数据库。一次新建 GModule操作将会新建上述所有代码文件,更新相关文件,并插入一条GModule记录到数据库。...6) d_log:记录了每个用户操作日志。 数据源管理模块 DBuilder需要支持多数据源,多种类型数据库。数据源信息保存在d_database。...GModule 管理模块包含创建,更新和删除GModule 所有代码文件以及数据库记录。GModule新建和删除需要更新全局GModule路由。...3-4每个字段表单配置说明如下表所示: 3-5每个字段列表配置说明如下表所示: 3-6每个字段关系配置说明如下表所示: CoreCRUD 模块实现 CoreCRUD模块涉及代码文件极其作用如下说明

4.6K00

Phalcon入门教程之模型CURD(2)

我们回头再看前面监听到 update SQL语句,执行 update() 函数时候,把 test_articles 所有字段更新了。...也就是说,调用 update() 函数时候,需要更新所有字段,而不能只更新某个字段或者一部分字段,所以此处,需要传入全部字段做为参数: $articleModel = new ArticlesModel...更新部分字段 除了写原生SQL,或者通过PHQL方式可以实现更新部分字段之外,Phalcon 并没有提供可以直接使用函数。...,先获取当前模型对应数据所有字段,并和需要更新数据字段之间取差集,然后调用 skipAttributesOnUpdate 函数进行过滤。...这里提一下,Phalcon 模型 update() 函数有一个注意点。当更新数据和数据相同时,update() 函数会返回 true 值,但是影响行数却是0。

91620

PHP哈希实现

哈希结构 PHP哈希实现在Zend/zend_hash.c,先看看PHP使用如下两个数据结构来实现哈希,HashTable结构体用于保存整个哈希需要基本信息,而Bucket...,每插入一个元素或者unset删除元素时会更新这个字段,这样在进行count()函数统计数组元素个数时就能快速返回。...Bucket结构体维护了两个双向链表,pNext和pLast指针分别指向本槽位所在链表关系。 而pListNext和pListLast指针指向则是整个哈希所有的数据之间链接关系。...哈希操作接口 PHP哈希操作接口实现: 初始化操作,例如zend_hash_init()函数,用于初始化哈希接口,分配空间等。 查找,插入,删除和更新操作接口,这是比较常规操作。...在PHP不管是对数组添加操作(zend_hash_add),还是对数组更新操作(zend_hash_update), 其最终都是调用_zend_hash_add_or_update函数完成,这在面向对象编程相当于两个公有方法和一个公共私有方法结构

1.1K20
领券