Mysql面试题及答案

阅读: 评论:0

2024年1月26日发(作者:)

Mysql面试题及答案

Mysql面试题及答案

1 创立 poll 表,用于记录单项选择投票用户的数据

字段包含 id[ Autoincreace ] , ip , time , iid(

int 型)

写出 create 上述 table 的完好 sql 语句 drop table if exists poll;

create table poll

(

id int unsigned not null auto_increment,

ip varchar(15) not null,

time datetimenot null,

iid int not null,

primary key (id)

)

2 写出将一个选择 2 号选项的 ip 为 127.0.0.1 的用户在目前时间的投票记录到数据库的 SQL

用户选则的选项,

insert into poll (ip,time,iid) values( 127.0.0.1 ,now(),2);

3 写出知足下面条件的 SQL 语句

item 表的构造为 id( 就是 poll 表中的 iid)

的选项的文字 )

请查问并返回 10 条记录 ,包含 ip 和用户选择的选项的文字

, descp( 用户选择

1

4

在 因

投 票 人数 太 多 , 网 站

常出

too

many

connection

的 , 供给解决方案

方法一:加大 MySql 的最大 接数

mysql

的最大 接数默 是

100,

个数 于并 接好多

的数据 用是 不 的, 当 接 求大于默 接数后,

就会出

没法 接数据 的 ,所以我 需要把它适合 大一些,

改正 max_connections=1000

方法二,不用 mysql

数据 ,改 直接写文件, 方法参照

5

若非要用 mysql , 可

方法三:因为用 mysql

句 用数据 ,在每次之 行 句

前,会做一个 的 量用来翻开数据 ,所以你在使用 mysql 句的 候, 得在每次 用完 mysql 以后就关 mysql 量

5 在成功解决 接数的 后, 程序运转 慢, 是 mysql 并 太多,表被 定的 象 重, 供给解决方案

于 量大的, 原来就不介绍使用数据 , 能够考 直接写到文本中,依据 的 量,先定 倘假如 100 个文件文件名挨次

, ⋯ ,每实用 投票的 候,随机往此中的一个文件中写入投票信息。 的 候,再 全部文本文件中的数据 行剖析。必需的 候,再 入数据

drop table if exists item;

2

create table item

(

id int not null,

descp varchar(200) not null,

primary key (id)

);

select ,

from poll A,item B

where =

limit 10

6 因为用户实在太多, 所以又分派给你两台服务器, 你会怎样来

安排这 3 台服务器

关于服务器分派,其实有好几种方案(建议采纳

LINUX 主机),

先列出一个解决方案。

1 . 考虑到电信,网通(南北差别)互接见速度慢的问题,能够

让电信的用户走电信的线,网通的走网通的线。大概能够这样分派,

国内南方用户(电信誉户)拥有一台

服务器 A;北方用户(网通用

C。用

户)拥有一台服务器

B。外国的用户也能够考虑给一台服务器

户接见的时候,第一接见的是针对外国的服务器, 那台机器是电信 网

通的用户接见速度都差不多的(能够考虑就租用香港或是什么地方

的),经过服务器 C 判断后直接跳到相应的服务器。统计时三台机器

的数据合起来。

3

7 此刻开始要求同一 ip 不可以重复投票

,请指出怎样对数据表进

行相应的改正

ALTER TABLE `phpinterview`.`poll`

`IX_poll_ip`(`ip`);

ADD unique

INDEX

8. 原有数据已经有好多重复 ip 的数据了,所以我们把它导出为一个 txt ,格式和上面的 poll 一致,用 TAB 键间隔,请写一段程序,删除

ip 有重复的记录,并统计每个投票选项的投票数

// 读取文本并放入数组

$apoll = file("c: ");

// 对每一行数据进行切割 ,进而获得了一个二维数组

for ($i=0;$i

$poll[$i] = split(" ",$apoll[$i]);

// 获得 IP、出现的次数数据

$arrIP=array();

for($i=0;$i

$arrIP[$poll[$i][1]]=isset($arrIP[$poll[$i][1]])

$arrIP[$poll[$i][1]]+1:1;

// 获得选项、投票个数

4

$arrRes=array();

for($i=0;$i

if($arrIP[$poll[$i][1]]==1)

$arrRes[$poll[$i][3]]=isset($arrRes[$poll[$i][3]])

$arrRes[$poll[$i][3]]+1:1;

var_dump($arrRes);

>

mysql5.0

测试版:

SELECT *

into outfile c: .txt

FROM `testok`;

create TABLE (id int,ip varchar(15),time

datetime,iid int);

LOAD DATA INFILE c: .txt

into table testok;

delete A from testok A,(select ip from testok B group by ip

having count(*) >1) B

where =

5

select iid,count(*) from testok B group by

6

Mysql面试题及答案

本文发布于:2024-01-26 00:42:21,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/1706200941576.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:数据   用户   投票   选项   能够   选择
留言与评论(共有 0 条评论)
   
验证码:
排行榜

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23