《PHP学习网》公众号每天都会分享一些面试题,找工作的朋友可以看看。一、两张表城市表和省份表。分别是省市关系表。表名:cityidCityProvinceid1广州12深圳13惠州14长沙25武汉3………….广州表名:province:idProvince1广东2湖南3湖北………….1、写一个sql语句,关联两张表,实现:显示城市的基本信息。显示字段:城市id、城市名称、省份。例如:Id(城市id)Cityname(城市名)Privence(省)selectA.id,A.Cityname,B.ProvincefromcityasA,provinceasBwhereA.provinceid=B.id2,如果你想统计每个省有多少个城市,请用groupby查出。显示字段:省份id、省份名称、包含多少个城市。selectB.id,B.Province,count(*)asnumfromcityA,provinceBwhereA.provinceid=B.idgroupbyB.id2.主键和外键代表什么?它一般用来做什么?主键:能唯一表示数据表中每条记录的字段或字段组合称为主键。主键唯一标识表的每一行,但这只是其作用的一部分。主键的主要作用是将记录与存储在其他表中的数据相关联。此时,主键是不同表记录之间的一个简单指针。主键舍入是确定表中的每条记录。主键不能为空值。唯一约束用于指定一个或多个列的组合值的唯一性,以防止在该列中重复输入。因此,主键的值对用户来说是无意义的,与其赋值没有特殊关系。外键:如果有两张表A,B,C是A的主键,B中也有C字段,那么C就是B表的外键。外键约束主要用来维护数据两个表之间的一致性。A是基本表,B是信息表。在一个数据库中,往往不是只有一张表,而且这些表并不是相互独立的。需要在不同的表之间建立关系,以便相互传达它们的数据。有一个字段作为标志。不同记录对应的字段值不能相同或为空。这个字段的不同值可以用来区分每条记录,就像我们区分不同的人一样。每个人都有名字。但是不能作为主键,因为名字容易重复,每个人的身份证号码都不一样,所以可以用来区分不同的人。数据库表中作为主键的段应该像一个人的身份证号码一样,每条记录的值必须不同,这样可以根据主键的值来确定不同的记录。关系:外键必须是另一个表的主键。3.从表中选择now(),Date_ADD(now(),INTERVAL14天),Date_SUB(now(),INTERVAL3天);会得到什么,请写出来。会得到三段数据:第一段:当前时间;第二块:当前时间加14天;第三块:当前时间减去3天。4、你所知道的MYSQL数据库的备份和恢复方法有哪些?备份:1.搭建主从架构,主从,通过binlog文件同步复制主库的数据,或者直接通过binlog文件恢复数据。二是通过系统计划任务执行mysqldump,做周期性的全量备份。三、物理备份,直接拷贝数据文件、参数文件、日志文件。恢复:1、通过mysql操作工具导入备份的数据库文件,如phpmyadmin、sqlyog等。二。将物理备份文件复制到mysql的data目录下5.在内容管理系统中,表message有如下字段:idarticleidtitlearticletitlecontentarticlecontentcategory_idarticleclassificationidhitshits创建上面的表,写mysql语句如果不存在则创建表message( IdintnotnullAUTO_INCREMENTPRIMARYkeycomment'articleid', titlevarchar(60)notnullcomment'articletitle', Contenttextnotnullcomment'articlecontent', Category_idtinyintnotnullcomment'articlecategoryid', Hitsintnotnulldefault0comment'clicks')engine=myisamdefaultcharset=utf8;六、同上内容管理系统:表comment记录用户回复内容,字段如下:以下格式的文章标题,并按回复数量排序。回复最高的文章id排在最前面。使用一条SQL语句完成上述查询。如果文章没有回复,回复数会显示0selectm.id,m.title,m.hits,count(c.comment_content)countfrommessagem,commentcwherem.id=c.comment_idgroupbym.idorderbycountdesc;7、内容管理系统,表category保存分类信息,字段如下:category_idint(4)notnullauto_increment;类别名称varchar(40)不为空;当用户输入一篇文章时,选择下拉菜单选择文章类别,写下如何实现这个下拉菜单query($sql);//使用类似smarty的模板引擎$this->assign('list',$list);?>//模板实现
