百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

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

haoteby 2025-01-26 22:25 5 浏览

一、两张表 city表和province表。分别为城市与省份的关系表。

表名:city
id City Provinceid
1 广州 1
2 深圳 1
3 惠州 1
4 长沙 2
5 武汉 3
………. 广州
表名称:province:
id Province
1 广东
2 湖南
3 湖北
……….

1、写一条sql语句关系两个表,实现:显示城市的基本信息。显示字段:城市id ,城市名, 所属省份 。
如:
Id(城市id) Cityname(城市名) Privence(所属省份)

select A.id,A.Cityname,B.Province from city as A,province as B where A.provinceid=B.id

2、如果要统计每个省份有多少个城市,请用group by 查询出来。显示字段:省份id ,省份名,包含多少个城市。

select B.id,B.Province,count(*) as num from city A,province B where A.provinceid=B.id group by B.id

二、主键 和外键表示什么?一般用于做什么?

主键:能够唯一表示数据表中的每个记录的字段或者字段的组合就称为主键。一个主键是唯一识别一个表的每一行记录,但这只是其作用的一疗分,主键的主要作用是将记录和存放在其他表中的数据进行关联,在这一点上,主键是不同表中各记录间的简单指针,主键约整就是确定表中的每一条记录,主键不能是空值,唯一约束是用于指定一个或多个列的组合值具有唯一性,以防止在列中输入重复的值,所以,主键的值对用户而言是没有什么意义,并且和它赋予的值也没有什么特别联系。

外键:若有两个表A,B,C是A的主键,而B中也有C字段,则C就是表B的外键,外键约束主要用来维护两个表之间数据的一致性。A为基本表,B为信息表。
在数据库中,常常不只是一个表,这些表之间也不是相互独立的,不同的表之间需要建立一种关系,才能将它们的数据相互沟通,而在这个沟通过程中,就需要表中有一个字段作为标志,不同的记录对应的字段取值不能相同,也不能是空白的,通过这个字段中不同的值可以区别各条记录,就像我们区别不同的人,每个人都有名字,但它却不能作为主键,因为人名很容易出现重复,而身份证号是每个人都不同的,所以可以根据它来区别不同的人,数据库的表中作为主键的段段就要像人的身份证号一样,必须是每个记录的值都不同,这才能根据
主键的值来确定不同的记录。

关系:外键一定是另外某个表的主键。

三、select now(),Date_ADD(now(),INTERVAL 14 day),Date_SUB(now(),INTERVAL 3 Day) from table; 会获得什么内容,请写出来。

会获得三条数据:
第一条:当前时间;
第二条:当前时间加上14天;
第三条:当前时间减去3天。

四、您所知道的MYSQL 数据库备份,还原方式有哪几种?
备份:
一,搭建主从架构,master-slave,通过binlog文件同步复制主库的数据,也可以直接通过binlog文件恢复数据。
二,通过系统计划任务执行mysqldump做周期性全备份。
三,物理备份,直接拷贝数据文件、参数文件、日志文件。
还原:
一.通过mysql操作工具,如phpmyadmin,sqlyog等导入备份过的数据库文件。
二.将物理备份的文件拷贝到mysql的data目录下

五、内容管理系统中,表message有如下字段
id 文章id
title 文章标题
content 文章内容
category_id 文章分类id
hits 点击量
创建上表,写出MySQL语句

Create table if not exists message(

  Id int not null AUTO_INCREMENT PRIMARY key comment '文章id',

  title varchar(60) not null comment '文章标题',

  Content text not null comment '文章内容',

  Category_id tinyint not null comment '文章分类id',

  Hits int not null default 0 comment '点击量'

)engine=myisam default charset = utf8;

六、同样上述内容管理系统:表comment记录用户回复内容,字段如下
comment_id 回复id
id 文章id,关联message表中的id
comment_content 回复内容
现通过查询数据库需要得到以下格式的文章标题列表,并按照回复数量排序,回复最高的排在最前面
文章id 文章标题 点击量 回复数量
用一个SQL语句完成上述查询,如果文章没有回复则回复数量显示0

select m.id,m.title,m.hits,count(c.comment_content) count from message m,comment c where m.id = c.coment_id group by m.id order by count desc;

七、内容管理系统,表category保存分类信息,字段如下
category_id int(4) not null auto_increment;
category_name varchar(40) not null;
用户输入文章时,通过选择下拉菜单选定文章分类
写出如何实现这个下拉菜单

$dsn = ‘mysql:host=***;dbname=***’;

$pdo = new PDO($dsn,’用户名’,’密码’);

$sql = ‘select category_id,category_name from category’;

$list = $pdo->query($sql);

//使用类似smarty模板引擎

$this->assign(‘list’,$list);

?>

//模板实现端

八、PHP文件操作

1、内容管理系统:用户提交内容后,系统生成静态HTML页面;写出实现的基本思路

2、简单描述用户修改发布内容的实现流程和基本思路

1)当用户提交后生成一个由url地址MD5后的文件的编译页面,用文件处理file函数生成一个模板合成页,判断模板编译页是否有,模板页无或者编译页的创建时间戳小于模板页的修改时间都会从新生成编译页面,编译后的页面会调用对应数据库的值显示在页面中,通过对内存数据的读取释放,显示出我们看到的静态数据,然后用file文件将其保存起来生成静态的页面

2)当用户修改了发布内容都会修改数据相关的内容,并通过编译页面更新静态数据并用文件的方式缓存起来,当用户查看时将不做任何数据库查找,直接调用该缓存文件即可

相关推荐

前端:从零实现一款可视化图片编辑器

背景介绍我们知道,为了提高企业研发效能和对客户需求的快速响应,现在很多企业都在着手数字化转型,不仅仅是大厂(阿里,字节,腾讯,百度)在做低代码可视化这一块,很多中小企业也在做,拥有可视化低代码相关技术...

2018年面世 英特尔将打造超级计算机

|责编:王冬奇中关村在线消息:据国外媒体报道,近日英特尔宣布将联手Cray公司为美国阿贡国家实验室打造一台性能强大的全新超级计算机——极光(Aurora),运算性能可达到180P-Flops(每秒浮...

Hyperledger Fabric 2.0安装教程

本文介绍如何安装最新的HyperledgerFabric2.0的预编译程序、fabric-samples示例配置和代码以及docker镜像。HyperledgerFabric区块链开发教程:F...

一文精通虚拟端口通道vPC,精品文章,爱了

今天给大家带来的是虚拟端口通道相关的技术:简介...

「数据中心」数据中心脊页架构:思科FabricPath Spine和Leaf网络

思科在2010年引入了FabricPath技术。FabricPath提供了新的功能和设计选项,使网络运营商能够创建以太网结构,从而提高带宽可用性,提供设计灵活性,并简化和降低网络和应用程序部署和操作的...

51单片机项目:定时宠物喂食系统(含代码)keil、DXP原理图

题目要求:一、拟解决的主要问题...

基于51单片机的多功能智能语音循迹避障小车(含代码)

大家好,今天给大家介绍基于51单片机的多功能智能语音循迹避障小车,下方附有本文涉及的全部资料和源代码的获取方式,可进群免费领取。一.功能介绍及硬件准备这是一款基于51单片机开发的智能小车,通过这篇文章...

如何对自己尚不熟悉Angular.js的情况下对代码进行调试

【51CTO.com快译】如果大家对AngularJS还不熟悉,那么可能会在初步创建Web应用时对很多问题感到担心。而且尽管这可能已经是我们所能用到的上手难度最低的Web开发框架之一,但大家仍然需要了...

拿代码量算KPI跟程序员们来这套?(下)

嘿嘿,一个美丽的周末又这么过来了~小伙伴们都做了些啥呢?加班了咩?改bug了咩?催需求了咩?小编也如约更新“拿代码量算KPI……跟程序员们来这套?(下)”前情回顾请点击下方菜单栏的“精彩文章”,找到7...

哆啦A梦彩色版第5卷第51章,胖虎的料理

重温童年经典动漫,哆啦A梦彩色版第5卷第51章,胖虎的料理...

51单片机项目设计:基于51单片机时钟万年历(含代码、原理图)

大家好,今天给大家介绍基于单片机stm32的多功能氛围灯、手机控制ws2812和MCU升级程序,文章末尾附有本毕业设计的论文和源码的获取方式,也可现在直接进群免费领取。...

重构代码,真没有银弹

译者|布加迪我的一位同事在大型项目代码重构方面有丰富的经验,他真诚地与我分享了他如何处理这些繁杂的任务。虽然他做的大部分事情只是坚持不懈地努力,就像在健身房锻炼那样,但这对我来说很有意义。本文分享...

51&52单片机C语言程序实例Proteus仿真和代码300个

11个奇奇怪怪的微信隐藏玩法(含撩妹教程)

最近,我在微信发现了一个好玩的东西用它可以扒到好友的“黑料”...

程序员没转发公司朋友圈,被罚款500,半个月后3行代码让领导懵了

现在在职场,也确实存在着许多的身不由己,很多事情都不是自己想做的,但是为了工作也不得不做。就比如说公司经常会要求员工们发一些朋友圈,很多人都不愿意把工作上的东西发到朋友圈去,但是如果不发又要挨领导的批...