当前位置:文档之家› MySQL DBA面试题

MySQL DBA面试题

MySQL DBA面试题
MySQL DBA面试题

1.请用图框的方式大致地描绘出MySQL架构体系.

第一层: client Connector

ODBC、jdbc、api(C/JAVA/PERL/PYTHON/PHP)

第二层:MYSQL server 模块

thread connection pool/cache

sql interface(DDL/ DML/ TRIGGER/ VIEW /STORE PROCEDURE/ EVENT等)

sql parse & check privileges

sql optimize(explian)

server 统计/buffer:query cache

server admin manager command: backup restore security replicate 等

第三层:存储引擎

myisam/innodb/blackhole/archive/memory/merge/NDB

存储引擎是基于表

第四层:存储引擎相应的文件

logs file:binlog/err/general/slow.server 层维护

myisam: frm/myi/myd

innodb: frm/ibd(index&data)/redo log/Undo log(5.7)

2.限定MySQL5.5及以下为例,InnoDB存储引擎与MyISAM存储引擎的区别,至少写四点.

MYISAM(5.5.8前) INNODB

锁: 表锁行锁

存储限制256TB 64TB

文件类型FRM/MYD/MYI FRM/ibdata

数据保存堆表索引组织表

外键NO YES

事务: NO YES.4种隔离级别

MVCC(实现一致性非锁定读) NO YES

mvcc通过读取undo段内容生成的最新快照数据

# tablespace包含的内容

索引缓存YES YES

数据缓存NO YES

查询缓存YES YES

# index

二级索引叶节点行地址行主键

B-tree index YES YES

T-tree index NO NO

Hash index NO NO,adaptive

fulltext index YES 5.6后支持

空间数据YES YES

空间索引YES NO

索引max长度(byte) 1000 768(1-2byte head)

memcache NO 5.6后支持

[在server层实现,并不是存储引擎实现的功能[/color]

压缩数据支持(只读) 支持,但必须是Barracuda file format

加密数据支持

同步支持

备份

点恢复

[备份]

# 单表备份

myisam 可以直接拷贝frm/myd/myi文件即可

innodb 不能直接拷贝文件

[other]

表行数:innodb需要全部遍历/ MYISAM实时维护,不需要全表遍历。

auto_increment: 列上必须有索引,但innodb必须是第一列/myisam可以是任何一列

# innodb

-- 5.5 1.1

faster add/drop second index:copy data改为inplace

insert buffer(二级索引更新效率)

double write(写安全)

adaptive hash index(读效率)

aio(asynchronous io)提供磁盘读效率。

一次select扫描多次索引页(IO离散读),没扫描一次索引,需要等待完成才能开始下次扫描,而异步IO可以发出IO扫描指令后,不需要等待返回结果,立即发送下一个IO扫描指令,并行进行扫描

flush neighbor page(提供写效率,多个IO合为1个IO).ssd硬盘不需要开启

-- 5.6 1.2

memcache

fulltext

#myisam

单表最多2^63行

每个索引最多16个列

每个表最多64个索引

支持并发插入concurrent inserts

可以结合merge引擎,将多个表组合为1个表

3.MySQL中控制内存分配的全局参数,有哪些?(注:至少写6个以上)

binlog_cache_size:Global,5.9之后只是针对事务语句的cache,大事务需要增加此值binlog_stmt_cache_size:Global,非事务语句cache,5.9之后废弃

max_binlog_size:Global,binlog文件最大值

max_heap_size:Global

tmp_table_size:Global,Session7

using temporary table时,在session中设置此值,超过则memory改为disk myisam表

query_cache_size:Global

query_cache_limit:Global,查询结果超过此值则不进入缓存,防止大查询将cache清空thread_cache_size:Global

bulk_insert_buffer_size:Global,Session

insert ... select ..; insert values (...),(...);load data infile

join_buffer_size:Global,Session

complex查询涉及多个表join时就需要使用多个join buffer

sort_buffer_size:Global,Session

table_definition_cache:Global

表多时,需要增加此值。太小会影响表打开速度,不占文件描述符

table_open_cache:Global,Session。占用文件描述符

1个表被N个线程使用,会被打开N次

1个表在当线程内也会被打开M次。select * from tb as t1,tb as t2;则tb被打开2次

如果打开表时cache满了,并且所有表都在使用,则cache会被临时扩展,当某个表可被回收时则释放临时扩展的空间

# myisam

MYD每个线程一个文件描述符,MYI所有线程公用一个文件描述符

[innodb]

innodb_buffer_pool_size:Global

innodb_additional_mem_pool_size:Global,申请的操作系统缓存,不占用buffer pool innodb_log_buffer_size:Global

innodb_log_file_size:Global

[myisam]

key_buffer_size:Global

影响索引更新速度,越大越快?

read_buffer_size:Global,Session

对表做连续表数据扫描时使用

read_rnd_buffer_size:Global,Session

用key进行order,并且进行(非连续)扫描表数据时使用

4.请简洁地描述下MySQL中InnoDB支持的四种事务隔离级别名称,以及逐级之间区别?

read uncommitted:未提交读。可以读取到其他线程修改(未提交)的数据

read committed:提交读。只能读取到其他线程已经提交的数据。解决脏读,修改的数据可能最后未提交。只锁定索引,并且不锁定索引前的间隙

repeatable read:可重复读。不能读取到其他线程提交的数据,间隙锁解决幻读。使用唯一索引进行等值查询,则只锁定索引,不锁定索取前间隙。其他查询,则不仅锁定索引,并且锁定索取范围包含的间隙

serializable:串行化读。所有的访问都串行化。将select转为select ... lock in share mode 即为查询语句涉及到的数据加上共享琐,阻塞其他事务修改真实数据。

5.小题集锦

1>.VARCHAR(N) 或CHAR(N)中的N含义是:

N个字符。1个字符不同字符集下占用的字节数不一样

2>.若一张表中只有一个字段VARCHAR(N)类型,utf8编码,则N最大值为多少(精确到

数量级即可):

N=FLOOR((65535-1-2)/3)

3>.表中有大字段X(例如:text类型),且字段X不会经常更新,以读为为主,请问您

是选择拆成子表,还是继续放一起,并且写出您的理由?

答案:拆为子表。

理由:提高其他字段的查询(select/update)效率,因为每页保存的行数越多,效率越高。

X字段更新效率低,

单行的读取效率降低不大,但如果每次查询的行数越多,影响越大

4>.MySQL中InnoDB引擎的行锁是通过加在什么上完成(或称实现)的:

A.数据块

B.索引值

选择答案后,告诉我们为什么?

答:索引值

索引值。innodb表数据是索引组织表形式存放

但是对索引页加锁,采用位图方式实现

锁:提供共享资源的并发访问,保证数据的完整性、一致性

sqlserver:2005前,页级锁;之后乐观并发,悲观并发。乐观并发支持行级锁

但和innodb实现方式不同,sql server下锁是稀有资源,某种情况下会升级为表锁

innodb、oracle:提供一致性的非锁定读、行级锁(没有相关额外开销)

通过索引查询时,主键锁的是key,辅助索引锁的是范围

锁的两个概念:latch、lock

latch:线程使用,轻量级锁,锁定内存数据结构

锁定时间必须很短。可再分为mutex(互斥锁)、rwlock(读写锁)。

目的是用来保证并发线程操作临界资源的正确性,

并且没有死锁检测,有mysql server保证

.Lock:事务使用,锁定的对象:表、页、行。commit或rollback后释放意向锁:表级别的锁,表示下一行被请求的锁类型

locks rec but not gap: 表示锁住的是索引,而不是范围。有死锁检测。

5>.username字段定义为VARCHAR(40)和VARCHAR(200) 有啥区别?

答:临时表varchar(200)占用空间更大,最好按实际需求分配

6>.MySQL数据库备份方式有那几种(只讨论InnoDB存储引擎),至少写四种。select ... into outfile;对应load data infile 恢复

fileds terminated by 'x';每个列的分隔符。默认'\t'

optionally encolsed by 'x';字符串的包含符。默认''

escaped by 'x':转义符,默认为'\\'

starting by 'x';每行的开始符。默认''

terminated by 'x':每行结束符。默认'\n'

mysqldump:对应mysql恢复

single-transaction:备份开始先执行start transaction

但不能有DDL操作,否则无法保证一致性读

master-data:如果没有指定single-transaction,则用lock-all-tables

1:显示master status,并且change master

2:只显示change,但不执行

mysqlimport:与load data infile类似,但支持导入多个表,表之间并发导入

二进制日志binlog备份

通过mysqlbinlog命令从binlog提取sql

xtrabackup

先记录当前redo位置

然后拷贝共享表空间和独立表空间数据

最后根据redo日志和开始位置,重做redo

快照备份LVM

6.MySQL复制搭建M->N的过程,请简述各个步骤?(备注:M已经在线跑,N为新安装

的MySQL服务器)

1>在启动主从服务器时,必须用server_id启动选项给出其ID值。主从服务器的ID值不

能相同。主服务器要启用二进制日志功能。在主、从服务器配置文件中:

主:server-id=master_server_id

Log-bin=binlog_name

从:server-id=slave_server_id

2>.在主服务器上,创建一个账户供从服务器连接主服务器并请求修改信息:

CREATE USER ‘slave_user’@’slave_host’ IDENTIFIED BY ‘slave_pass’;

CRANT REPLICATION SLAVE ON *.* TO 'slave_user'@'slave_host' ;

3>.连接到主服务器并通过执行SHOW MASTER STATUS 语句确定当前的复制坐标。

4>.在从服务器上为将被复制的数据库建立一份完备的副本。

5>.连接到从服务器并使用CHANGE MASTER语句来配置它,包括把用来连接主服务器的

参数和初始复制坐标告诉从服务器。

CHANGE MASTER TO

MASTER_HOST=’master_host’,

MSATER_USER=’master_user’,

MASTER_PASSWORD=’slave_pass’,

MASTER_LOG_FILE=’log_file_name’,

MASTER_LOG_POS=log_file_pos;

6>.让从服务器开始复制。START SLAVE;

7.看图分析(申明:应用程序未有任何版本变更)

1>.图出现什么样的现象,及现象之间的关联性?

2>.通过图信息分析得出可能什么原因造成的?

3>.分析除原因后,告知如何解决?

4>.请简述你是如何思考分析的?

答:

8.SQL语句优化

原SQL语句:

SELECT

ID,WAYBILL_NO,EXP_TYPE,PKG_QTY,EXPRESS_CONTENT_CODE,EFFECTIVE_TYPE_CODE

FROM T_EXP_OP WHERE ORDERID NOT IN(SELECT ORDERID FROM T_EXP_OP WHERE AUX_OP_CODE IN ('NEW','UPDATE','DELETE') AND ((OP_CODE IN (176, 162, 171, 131, 136)AND EXP_TYPE IN ('10', '20', '30')) OR (OP_CODE IN (191, 121)AND EXP_TYPE IN ('10', '20')) OR (OP_CODE IN (181, 111)AND EXP_TYPE = '10'))) LIMIT 10;

条件:

T_EXP_OP表主键为BIGINT类型的ID字段,存储引擎为InnoDB,无其他索引

优化后为(提示:优化成一条简单的SQL语句,即无子查询,无JOIN关联):

SELECT

ID,

WAYBILL_NO,

EXP_TYPE,

PKG_QTY,

EXPRESS_CONTENT_CODE,

EFFECTIVE_TYPE_CODE

FROM

T_EXP_OP

WHERE

AUX_OP_CODE NOT IN ('NEW' , 'UPDATE', 'DELETE')

AND (OP_CODE NOT IN (176 , 162, 171, 131, 136, 191, 121, 181, 111)

AND EXP_TYPE NOT IN ('10' , '20', '30'))

LIMIT 10;

9.分页SQL语句优化

原SQL语句:

SELECT * FROM test FORCE(idx_m_n) WHERE m=1 ORDER BY n LIMIT 1000,10;

条件:

Test表为InnoDB存储引擎,主键为BIGINT类型的ID字段,二级索引:idx_m_n(m,n) 优化后为:

索引改为: idx_mn(m,n,ID);

SELECT ID FROM test FORCE(idx_m_n) WHERE m=1 ORDER BY n LIMIT 1000,10;

SELECT * FROM test WHERE ID IN (ids);

请简述优化的理由:

10.语句挑错

SQL语句:

SELECT M.columnname……,N.* columnname…..

FROM left_table M LEFT JOIN right_table N

ON M. columnname_join=N. columnname_join AND N. columnname=XXX AND M.columnname=XXX

请问本SQL语句哪里不合理,为啥不合理?

答:

11.[SELECT *] 和[SELECT 全部字段]的2种写法有何优缺点,至少写出四点

a:代表select *

b:代表select 全部字段

1>.a需要解析数据字典,b不需要

2>.输出顺序:a与建表列顺序相同,b按指定字段顺序

如果字段调整顺序,a受影响,b不受影响

3>.表新增字段,浪费网络流量:a每次都返回所有字段,b只返回指定字段

4>.表字段改名:a不用改,b需要改

5>.b比a的可读性高

6>.b可以建索引优化,a无法优化

12.HAVNG 子句和WHERE的异同点,至少写出3点

1>.语法:where用表中列名,having用select结果别名

2>.影响结果范围: where 从表读出数据的行数,having返回客户端的行数

3>.索引:where可以使用索引,having不能使用索引,只能在临时结果集操作13.分布式数据库产品的特点(至少写4条)

1>.冗余,不存在单点故障,可靠性高

2>.数据分布在多个异地机房,容灾性好

3>.扩展简单

4>.不要求单机性能,但总体成本/管理成本都比较高

5>.受网络影响较大

14.数据拆分架构的优缺点(至少写8条)

1>.

2>.

3>.

4>.

5>.

7>.

8>.

9>.

事业单位面试热点题2020

2020年事业单位单位招聘面试模拟 一、单位要组织一次春运志愿服务活动,你是一名策划者,要在高校找一百名志愿者,请问你打算怎么做? 二、单位要组织一次春运志愿服务活动,你是一名策划者,要在高校找一百名志愿者,请问你打算怎么做? 三、一只螃蟹放在篮子里很容易跑出来,但是多只螃蟹放在篮子里反而跑不出来。对此,谈谈你的理解。

参考答案 一、单位要组织一次春运志愿服务活动,你是一名策划者,要在高校找一百名志愿者,请问你打算怎么做? 【参考答案】 春运志愿者活动意在疏导交通、扶弱帮困,是人生价值的重大体现,也是慈善与爱心的重要体现。 在活动前期,我会在领导的示意下,召集同事开展一会工作分配交流会,主要是为了群策群力,同时做好工作的分配。在交流会上要确定所涉及到的大学,针对不同的大学采取的痛的招募方法等相关事宜,另外分成线上和线下两组,线上组主要负责本市之外大学的招募工作,线下组负责本市所在大学的招募,撰写成工作方案上交领导。 在活动中,按照之前的计划,线上组要联系各大门户网站刊登我单位关于此项活动的相关事宜,做好宣传,同时在本单位的官方网站、微信、微博推广,扩大招募的宣传力度。本次招募活动为期一周,线上报名在网站上直接提交表格即可,为了保证所招募得大学生质量,我单位进行审核,审核通过之后该大学生可以来我单位进行面试,如果面试通过,可以成为此项活动的志愿者,来回所产生的费用由我单位承担;线下组,要到本市大学实地招募,在大学中首先找一个阶梯教室,向大学生讲述此项活动的意义以及注意事项,现场发表格、现场面试,通过者即可成为此项活动的志愿者。 招募活动结束之后,把志愿者的名单等资料做好汇总承报领导,同时筹备此项活动的其他事宜。

mysql面试大全精心整理

Mysl面试大全 1.Mysql中有哪几种锁? 1.表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 2.行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 3. 页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。 2.Mysql中有哪些不同的表格? 共有5种类型的表格: MyISAM Heap Merge INNODB ISAM 3.简述在MySQL数据库中MyISAM和InnoDB的区别 MyISAM: 不支持事务,但是每次查询都是原子的; 支持表级锁,即每次操作是对整个表加锁; 存储表的总行数; 一个MYISAM表有三个文件:索引文件、表结构文件、数据文件; 采用菲聚集索引,索引文件的数据域存储指向数据文件的指针。辅索引与主索引基本一致,但是辅索引不用保证唯一性。 InnoDb: 支持ACID的事务,支持事务的四种隔离级别; 支持行级锁及外键约束:因此可以支持写并发; 不存储总行数; 一个InnoDb引擎存储在一个文件空间(共享表空间,表大小不受操作系统控制,一个表可能分布在多个文件里),也有可能为多个(设置为独立表空,表大小受操作系统文件大小限制,一般为2G),受操作系统文件大小的限制; 主键索引采用聚集索引(索引的数据域存储数据文件本身),辅索引的数据域存储主键的值;因此从辅索引查找数据,需要先通过辅索引找到主键值,再访问辅索引;最好使用自增主键,防止插入数据时,为维持B+树结构,文件的大调整。 4.Mysql中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别? SQL标准定义的四个隔离级别为: read uncommited :读到未提交数据 read committed:脏读,不可重复读 repeatable read:可重读 serializable :串行事物

MySQL数据库考试试题及答案

专业:移动通信科目:MySQL数据库 一、单项选择题 1.以下聚合函数求数据总和的是( ) A.MAX B.SUM C.COUNT D.AVG 答案:B 2.可以用( )来声明游标 A.CREATE CURSOR B.ALTER CURSOR C.SET CURSOR D.DECLARE CURSOR 答案:D 3.SELECT语句的完整语法较复杂,但至少包括的部分是( ) A.仅SELECT B.SELECT,FROM C.SELECT,GROUP D.SELECT,INTO 答案:B 4.SQL语句中的条件用以下哪一项来表达( ) A.THEN B.WHILE C.WHERE D.IF 答案:C 5.使用CREATE TABLE语句的( )子句,在创建基本表时可以启用全文本搜索A.FULLTEXT B.ENGINE C.FROM D.WHRER 答案:A 6.以下能够删除一列的是( ) A.alter table emp remove addcolumn B.alter table emp drop column addcolumn C.alter table emp delete column addcolumn D.alter table emp delete addcolumn 答案:B 7.若要撤销数据库中已经存在的表S,可用()。 A.DELETE TABLE S B.DELETE S C.DROP S D.DROP TABLE S 答案:D

8.查找表结构用以下哪一项( ) A.FIND B.SELETE C.ALTER D.DESC 答案:D 9.要得到最后一句SELECT查询到的总行数,可以使用的函数是( ) A.FOUND_ROWS B.LAST_ROWS C.ROW_COUNT D.LAST_INSERT_ID 答案:A 10.在视图上不能完成的操作是( ) A.查询 B.在视图上定义新的视图 C.更新视图 D.在视图上定义新的表 答案:D 11.UNIQUE惟一索引的作用是( ) A.保证各行在该索引上的值都不得重复 B.保证各行在该索引上的值不得为NULL C.保证参加惟一索引的各列,不得再参加其他的索引 D.保证惟一索引不能被删除 答案:A 12.用于将事务处理写到数据库的命令是( ) A.insert B.rollback C.commit D.savepoint 答案:C 13.查找条件为:姓名不是NULL的记录( ) A.WHERE NAME ! NULL B.WHERE NAME NOT NULL C.WHERE NAME IS NOT NULL D.WHERE NAME!=NULL 答案:C 14.主键的建立有( )种方法 A.一 B.四 C.二 D.三 答案:D 15.在视图上不能完成的操作是( ) A.更新视图数据

时事热点面试题

时事热点面试题 一,人大代表和政协委员把民间的顺口溜带到了二会:“吃荤菜怕激素,吃素菜怕毒素,喝饮料怕色素,能吃什么?心里没数?”你对这顺口溜怎么看? 在把握知识的基础上做题,一方面提高解题能力,另一方面可以起到强化记忆的作用,但是要适当有选择地做题。 二,有的城市城管和小商贩有矛盾,有城管指责说:小商贩是刁民,不理解不配合城管执法。商贩骂城管:野蛮粗暴,吃着皇粮,不体谅百姓的生计。二者矛盾十分突出,有的甚至出现流血事件,你怎么看这个问题? 三.有的地方在建设社会主义新农村中,对村容进行统一规划,要求农民统一标准修建新居,不少农民不堪负重,旧房已拆除,不得以举债修房,有人说:个别地方在新农村建设中增添了不少新"付翁",新农村建设就是"新村"建设.对此,你怎么看? 四.国家推行五一长假后,黄金周越来越火,由于时间冲突,五四青年节越来冷清,你对“高调五一黄金周,低调五四青年节”现象,你怎么看? ④这种种的山石皴法从自然科学角度来看,是否反映了一些地质规律呢?我们的地质学家看到古代的山水画和《芥子园画传》中的图,能大致指出画的是哪种岩石:折带皴画的是水平层理的沉积岩和变质岩中的板岩;大斧劈皴画的山石可能是坚硬的花岗岩;解索皴画的是玄

武岩山体;云头皴画的是风化的片岩;鬼皮皴画的是剥蚀特别厉害的沙岩。 王.近年随着房价的暴涨,为减轻购房压力,有的地方出现由个人成头,自愿结合,个人组合集资建房,你怎么看? 近年来有些党政领导干部,到论坛用实名与网民进行交流,讨论时政,听取民意.有人赞成称好,有人却说是作秀.你怎么看? 六.现在网上流行,有的外出旅游者网发贴子,在旅游期间彼此换房居住,对此,你怎么看这种现象? 七.近年来有些党政领导干部,到论坛用实名与网民进行交流,讨论时政,听取民意.有人赞成称好,有人却说是作秀.你怎么看? 笔试内容全为单项选择题,共80道。不少考生反应,本次试题涉及的广泛度超乎想象,如果平常涉猎不够,答题过程会比较艰难,甚至会出现时间不够的情况。 八.丁俊辉现象引起社会的普遍关注,有的家长在培养子女上也效仿这种教育方式,对此,你怎么看? 九、07年5月13日,山西省环保局和财政厅针对重点城市空气质量改善工作,联合制定一项具体的奖励办法—对考核排名前移城市的一把手给予重奖;被列入国家考核的重点城市中,退出全国大气污染最严重城市排名前5名的,奖励100万;空气质量指数位次前移10位的则奖励200万。对此,你怎么看? 其实早在1932年,民国政府曾规定6月6日为教师节,解放后废除了6月6日的教师节,改用“五一国际劳动节”为教师节,但教

mysql数据库面试题

公司招聘MySQL DBA面试心得 2013-11-01 10:06:51 我来说两句作者:黄杉 收藏我要投稿公司招聘MySQL DBA面试心得 1 2年MySQL DBA经验 其中许多有水分,一看到简历自我介绍,说公司项目的时候,会写上linux 系统维护,mssql server项目,或者oracle data gard项目,一般如果有这些的话,工作在3年到4年的话,他的2年MySQL DBA管理经验,是有很大的水分的。刚开始我跟领导说,这些不用去面试了,肯定mysql dba经验不足,领导说先面面看看,于是我就面了,结果很多人卡在基础知识这一环节之上,比如: (1)有的卡在复制原理之上 (2)有的卡在binlog的日志格式的种类和分别 (3)有的卡在innodb事务与日志的实现上。 (4)有的卡在innodb与myisam的索引实现方式的理解上面。 ......... 个人觉得如果有过真正的2年mysql专职dba经验,那么肯定会在mysql的基本原理上有所研究,因为很多问题都不得不让你去仔细研究各种细节,而自己研究过的细节肯定会记忆深刻,别人问起一定会说的头头是道,起码一些最基本的关键参数比如Seconds_Behind_Master为60这个值60的准确涵义,面试了10+的mysql dba,没有一个说的准确,有的说不知道忘记了,有的说是差了60秒,有的说是与主上执行时间延后了60秒。 2 对于简历中写有熟悉mysql高可用方案 我一般先问他现在管理的数据库架构是什么,如果他只说出了主从,而没有说任何ha的方案,那么我就可以判断出他没有实际的ha经验。不过这时候也不能就是断定他不懂mysql高可用,也许是没有实际机会去使用,那么我就要问mmm以及mha以及mm+keepalived等的原理实现方式以及它们之间的优势和不足了,一般这种情况下,能说出这个的基本没有。 3 对于简历中写有批量MySQL 数据库服务器的管理经验

mysql 面试题(简单)

数据库入门[mysql] 1、假设要按照分页(每页显示10条)的形式获取test表中的数据,在MySql数据库中,以下哪条语句是取第2页中的数据?(单选) (难度A) A、select * from test limit 10,10; B、select * from test limit 11,10; C、select * from test limit 10,20; D、select * from test limit 11,20; 2在Mysql数据库中,以下哪条语句用于统计test表中的记录总数?(难度A) A、select sum(*) from test; B、select max(*) from test; C、select avg(*) from test; D、select count(*) from test; E、select min(*) from test; 3、假设在D盘根目录下有一个名为db.sql的文件,以下哪些语句可以利用db.sql恢复数据库test(数据库名已经存在)中的表结构和数据?(难度A) A、在DOS提示符下输入以下命令 mysql -uroot -p1234 testd:/db.sql 4、下列SQL语句中,创建关系表的是?(难度A) A、ALTER B、CREATE C、UPDATE D、INSERT 5、以下那个不是DDL(数据定义语言)保留的关键字?(难度A) A、CREATE B、DELETE C、ALTER D、DROP 6、以下哪个sql语句表示在mysql中创建book表,并添加id字段和title字段?(难度A) A、create table book{ id varchar(32), title varchar(50) }; B、create table book( id varchar2(32), title varchar2(50) );

运维面试题(含答案)

运维工程师面试题 姓名: 答题时间: 1.新安装MYSQL后怎样提升MYSQL的安全级别? A.修改mysql默认端口 B.linux下可以通过iptables来限制访问mysql端口的IP地址 C.对所有用户设置较复杂密码并严格指定对应账号的访问IP(可在mysql库 中user表中指定用户的访问可访问IP地址) D.root特权账号的处理(建议给root账号设置强密码,并指定只允许本地登录) E.开启二进制查询日志和慢查询日志 F.mysql安装目录及数据存储目录权限控制:给mysql安装目录读取权限,给mysql日志和数据所在目录读取和写入权限 G.删除无用mysql账号和删除无用的数据库(安装好的mysql默认会有个 test库,可将其删除) 2.MYSQL的主从原理,怎么配置文件? 整体上来说,复制有3个步骤: A.master将改变记录到二进制日志(binary log)中(这些记录叫做二进制日 志事件,binary log events); B.slave将master的binary log events拷贝到它的中继日志(relay log);

C.slave重做中继日志中的事件,将改变反映它自己的数据。 3.mysql主从复制的优点 <1> 如果主服务器出现问题,可以快速切换到从服务器提供的服务; <2> 可以在从服务器上执行查询操作,降低主服务器的访问压力; <3> 可以在从服务器上执行备份,以避免备份期间影响主服务器的服务。 4.Mysql复制的基本原理过程 (1)Slave上面的IO线程连接上Master,并请求从指定日志文件的指定位置(或者从最开始的日志)之后的日志内容; (2)Master接收到来自Slave的IO线程的请求后,通过负责复制的IO线程根据请求信息读取指定日志指定位置之后的日志信息,返回给Slave端的IO线程。返回信息中除了日志所包含的信息之外,还包括本次返回的信息在Master端binary log文件的名称以及在Binary log中的位置; (3)Slave的IO线程收到信息后,将接收到的日志内容依次写入到Slave端的RelayLog 文件(mysql-relay-lin.xxxxx)的最末端,并将读取到的Master端的 bin-log的文件名和位置记录到master-info文件中,以便在下一次读取的时候能够清楚的告诉master“我需要从某个bin-log的哪个位置开始往后的日志内容,请发给我” (4)Slave的SQL线程检测到Relay Log中新增加了内容后,会马上解析该Log 文件中的内容成为在Master端真实执行时候的那些可执行的查询或操作语句,并在自身执行那些查询或操作语句,这样,实际上就是在master端和Slave端执行了同样的查询或操作语句,所以两端的数据是完全一样的。

MySQL常见面试题

1. 什么是索引? 索引是一种数据结构,可以帮助我们快速的进行数据的查找。 2. 索引是个什么样的数据结构呢? 索引的数据结构和具体存储引擎的实现有关,在MySQL中使用较多的索引有Hash索引,B+树索引等,而我们经常使用的InnoDB存储引擎的默认索引实现为:B+树索引。 3. Hash索引和B+树所有有什么区别或者说优劣呢? 首先要知道Hash索引和B+树索引的底层实现原理: hash索引底层就是hash表,进行查找时,调用一次hash函数就可以获取到相应的键值,之后进行回表查询获得实际数据。B+树底层实现是多路平衡查找树。对于每一次的查询都是从根节点出发,查找到叶子节点方可以获得所查键值,然后根据查询判断是否需要回表查询数据。 那么可以看出他们有以下的不同: ?hash索引进行等值查询更快(一般情况下),但是却无法进行范围查询。 因为在hash索引中经过hash函数建立索引之后,索引的顺序与原顺序无法保持一致,不能支持范围查询。而B+树的的所有节点皆遵循(左节点小于父节点,右节点大于父节点,多叉树也类似),天然支持范围。 ?hash索引不支持使用索引进行排序,原理同上。 ?hash索引不支持模糊查询以及多列索引的最左前缀匹配。原理也是因为hash 函数的不可预测。AAAA和AAAAB的索引没有相关性。 ?hash索引任何时候都避免不了回表查询数据,而B+树在符合某些条件(聚簇索引,覆盖索引等)的时候可以只通过索引完成查询。 ?hash索引虽然在等值查询上较快,但是不稳定。性能不可预测,当某个键值存在大量重复的时候,发生hash碰撞,此时效率可能极差。而B+树的查询效率比较稳定,对于所有的查询都是从根节点到叶子节点,且树的高度较低。 因此,在大多数情况下,直接选择B+树索引可以获得稳定且较好的查询速度。而不需要使用hash索引。 4.上面提到了B+树在满足聚簇索引和覆盖索引的时候不需要回表查询数据, 什么是聚簇索引? 在B+树的索引中,叶子节点可能存储了当前的key值,也可能存储了当前的key值以及整行的数据,这就是聚簇索引和非聚簇索引。在InnoDB中,只有主键索引是聚簇索引,如果没有主键,则挑选一个唯一键建立聚簇索引。 如果没有唯一键,则隐式的生成一个键来建立聚簇索引。 当查询使用聚簇索引时,在对应的叶子节点,可以获取到整行数据,因此不用再次进行回表查询。 5.非聚簇索引一定会回表查询吗? 不一定,这涉及到查询语句所要求的字段是否全部命中了索引,如果全部命中了索引,那么就不必再进行回表查询。

2016事业单位面试热点:面试考试真题解析(448)

2016事业单位面试热点:面试考试真题解析(448) 湖北人事考试网提醒您:2016湖北事业单位招聘考试即将开始,现根据2015年湖北省事业单位招聘考试详情对2016年湖北省事业单位招聘考试进行分析,希望对大家有所帮助。湖北人事考试网汇聚第一手武汉事业单位招聘信息,最新真题,模拟题,各类考试资讯,报考指南,欢迎大家查看。 【导读】2016年中公事业单位考试网提供2016事业单位面试备考复习资料,包括事业单位面试题及解析、事业单位面试技巧,今天为大家带来的是《面试考试真题解析(448)》,希望帮助各位考生了解面试题目类型,掌握面试技巧顺利进军面试。 今年入冬以来,北京市已连续几次发布空气重污染红色预警,在预警期间,北京市住建委要求市内各个建筑工地采取停止户外施工等措施。同时,对重污染红色预警期间违规施工的企业作出处罚,有不少企业被处以停止在京投标资格60日等处罚。 【中公点评】 以雾霾为特征的空气重污染,目前已经成为北京乃至我国诸多大中城市的一个主要特征,也成为我国环境治理的一个重点工程。北京市在发出空气污染的红色预警的同时,要求一些建筑企业停止施工,这反映出地方政府面对久治难愈的雾霾的焦虑,处罚未按规定停止施工的企业,也表明了政府对治理环境污染的态度上升到了“动真格”的高度,但是,无论是关停还是处罚说到底只是一种事后补救,这种暂时性的应急举措很难从根本上消除雾霾天气。 严重的空气污染问题之所以成为让国人关注的一个重要问题,原因在于在最近几十年我国的经济发展中,推行了GDP至上的方略,在这个目标之下,一些重污染行业、企业非但没有得到遏制,而且取得了比较快的发展,加上由于必要的环保措施没有跟上,导致这些企业、行业出现了畸形发展,对生态的破坏也越来越严重。从某种角度来说,目前出现的空气污染灾害,是大自然对以前那种以牺牲环境、牺牲民众身体健康为代价,片面追求数量型增长的经济运行模式的一种报复和惩罚。 因此,要想有效解决空气污染问题,经济发展再也不能走以牺牲环境、牺牲民众健康为代价的道路,而是要扎实推进经济转型。我们必须要放弃单纯追求数量增长的思维,改为追求经济质量的上升,坚持创新、协调、绿色、开放、共享的发展理念,积极推行“绿色经济”、“低碳经济”,使环境、生态造成严重危害的行业和企业已经处于严控之中,这才是治本之

MySQL最全整理(面试题+笔记+导图),面试大厂不再被MySql难倒!

前言 作为一名编程人员,对MySQL一定不会陌生,尤其是互联网行业,对MySQL的使用是比较多的。对于求职者来说,MySQL又是面试中一定会问到的重点,很多人拥有大厂梦,却因为MySQL败下阵来。实际上,MySQL并不难,今天这份最全的MySQL总结,助你向大厂“开炮”,面试不再被MySQL难倒。 注意:关于MySQL的内容整理,包括了面试题、学习笔记、使用文档以及Xmind思维图几个部分,需要高清完整版的请转发+关注,然后私信回复“666”获得免费领取方式 01、MySQL 面试题集合总结 1.1 MySQL 面试题(基础部分): ?drop、truncate、delete区别 ?数据库三范式是什么? ?union和union all有什么不同? ?char、varchar2、varchar有什么区别? ?合并查询有哪些? ?SQL语句执行顺序 ?null的含义 ?MySQL、SqlServer、oracle写出字符存储、字符串转时间 ?update语句可以修改结果集中的数据吗? ?B树和B+树的区别 ?你建过索引吗? 建索引的原则 ?索引的类型, 如主键索引 ?查看SQL执行计划

?有十万条数据, 写SQL语句查询其中某字段较大值的几条数据 ?子查询与关联查询的区别 ?MySQL InnoDB、Mysaim的特点? ?乐观锁和悲观锁的区别?? ?行锁和表锁的区别? ?数据库隔离级别是什么?有什么作用? ?MySQL主备同步的基本原理。 ?如何优化数据库性能(索引、分库分表、批量操作、分页算法、升级硬盘SSD、业务优化、主从部署) ?SQL什么情况下不会使用索引(不包含,不等于,函数) ?一般在什么字段上建索引(过滤数据最多的字段) ?MySQL,B+索引实现,行锁实现,SQL优化 ?如何解决高并发减库存问题 ?数据库事务的几种粒度 1.2 MySQL 面试题(实战部分): ?数据库三范式,根据秒杀场景设计数据表 ?数据库的主从复制 ?死锁怎么解决 ?mysql并发情况下怎么解决(通过事务、隔离级别、锁) ?触发器的作用? ?什么是存储过程?用什么来调用? ?存储过程的优缺点?

2019年事业单位面试热点:面试热点题目及答案解析三篇

2019年事业单位面试热点:面试热点题目及答案解析 三篇 篇一 针对当前的网络募捐现象,有调查显示,约44%的人会参与网络募捐,约24%的人对此不信任,约32%的人认为是欺诈性的,你怎么看待网络募捐? 【参考答案】 随着互联网的迅猛发展,网络募捐、微慈善等异军突起,已经成为民间公益慈善的新阵营。网络募捐作为一种新兴的公益文化,既是经济社会发展的必然结果,也是社会慈善事业的必要补充。 相比传统的募捐方式,网络募捐门槛低、传播快、影响大、互动强、效率高等优点理应得到肯定。但是,因为网络的虚拟性、隐蔽性和开放性,使得募捐信息的真实性难以辨别,诸如诈捐、骗捐等违背法律道义的事件也时有发生。此外,网络募捐善款的使用和余款的流向,往往缺乏有效的监督与制约,极易引发社会公众的质疑,直接损害社会公益慈善的公信力。 所以,为了营造良好的社会道德风尚,促动网络募捐持续健康发展,走出“信任危机”,必须提升网络募捐的规范化、专业化、制度化水平。 一方面,完善网络募捐的相关法律制度。一是重点明确网络募捐组织的性质定位及募捐发起人的资格、条件,对劝募人、捐助人、受捐人各方的法律地位及权利义务等予以明确规定;二是制定包括募捐事由、募捐方式等制度在内的、可操作性较强的社会募捐程序法律规范;

三是建立网络募捐申报许可制度。有效避免多头募捐、重复募捐,切 实提升社会捐助资源的利用效率。 另一方面,规定专门的执法监督机构。监控网络募捐发起的条件 审查、款物去向,对违法行为设定周密的责任追究制度,对滥用职权、强行摊捐者予以严厉处罚。 篇二 2016年3月,河南某高校大二学生因欠巨额网络贷款跳楼自杀,使当前名目繁多的“校园网贷”平台推上舆论的风口浪尖。作为互联 网时代的一种金融创新,其野蛮发展背后存有的风险问题,引起了很 多人的反思。对此,请谈谈你的看法? 【参考答案】河南大二学生因欠巨额网贷自杀的悲剧给当前混乱 无序、野蛮发展的校园网贷问题敲响了警钟。协助大学生树立科学、 合理消费观的同时,又能规避借贷风险,切实发挥网络借贷平台雪中 送炭、解燃眉之急的金融优势,是我们亟待思考的问题。校园网贷之 所以野蛮生长、过度发展,一方面是因为信贷门槛过低。网上贷款程 序简单,凭学生证、身份证、联络人的手机号等就能够迅速在网贷平 台上得到几千至上万元的贷款。甚至“只要动动手指,0首付,万元贷款,一分钟到账!”如此低的门槛、如此高的诱惑,对于社会经验少、 经济还没有独立的大学生来讲自然难以招架。 另一方面,缺乏合理的规范和监管。校园网贷平台通常以低分期 利率吸引学生,而一旦逾期偿还欠款,需要支付的违约金费率相当高,且按日计算。结果违约金和利息,比借款本金还多,便与事实上的高 利贷无异。这显然属于违法操作,再加上网络平台为放高利贷者提供 了更加便捷的借贷渠道,而相关部门却不严加监管、任其无序发展, 促使借贷公司有恃无恐,把罪恶之手伸向在校大学生。要想合理有序 发展校园网贷,降低金融风险:首先,增强立法与监管,提升准入门

mysql笔试题

面试笔试常考的mysql 数据库操作group by 分类:数据库2014-08-06 16:38 773人阅读评论(0) 收藏举报面试数据库mysql IT 面试中,数据库的相关问题基本上属于必考问题,而其中关于sql 语句也是经常考察的一个重要知识点。 下面介绍下sql语句中一个比较重要的操作group by,他的重要行一方面体现在他的理解困难度,一方面体现应用中的长见性。 首先,给出一个studnet学生表: [sql]view plaincopyprint? 1.CREATE TABLE `student` ( 2. `id` int(11) NOT NULL AUTO_INCREMENT, 3. `name` varchar(30) DEFAULT NULL, 4. `sex` tinyint(1) DEFAULT'0', 5. `score` int(10) NOT NULL, 6. `dept` varchar(10) DEFAULT NULL, 7.PRIMARY KEY (`id`) 8.) ENGINE=MyISAM AUTO_INCREMENT=8 DEFAULT CHARSET=utf8

添加一些测试数据: [sql]view plaincopyprint? 1.mysql> select * from student where id<10; 2.+----+------+------+-------+---------+ 3.| id | name | sex | score | dept | 4.+----+------+------+-------+---------+ 5.| 1 | a | 1 | 90 | dev | 6.| 2 | b | 1 | 90 | dev | 7.| 3 | b | 0 | 88 | design | 8.| 4 | c | 0 | 60 | sales | 9.| 5 | c | 0 | 89 | sales | 10.| 6 | d | 1 | 100 | product | 11.+----+------+------+-------+---------+ 给出需求,写出sql: 给出各个部门最高学生的分数。

企业面试题|最常问的MySQL面试题集合

企业面试题|最常问的MySQL面试题集合(一) 除了基础题部分,小编收集整理的MySQL面试题还包括如下知识点或题型: MySQL高性能索引 SQL语句 MySQL查询优化 MySQL高扩展高可用 MySQL安全性 为了避免收藏不看,让大家更有耐心看下去,印象更深刻些,民工哥将分几次分别发布这些内容,欢迎持续关注公众号后续文章分享。 问题1:char、varchar的区别是什么? varchar是变长而char的长度是固定的。如果你的内容是固定大小的,你会得到更好的性能。 问题2: TRUNCATE和DELETE的区别是什么? DELETE命令从一个表中删除某一行,或多行,TRUNCATE命令永久地从表中删除每一行。 问题3:什么是触发器,MySQL中都有哪些触发器? 触发器是指一段代码,当触发某个事件时,自动执行这些代码。在MySQL数据库中有如下六种触发器: 1、Before Insert 2、After Insert 3、Before Update 4、After Update 5、Before Delete 6、After Delete

问题4:FLOAT和DOUBLE的区别是什么? FLOAT类型数据可以存储至多8位十进制数,并在内存中占4字节。 DOUBLE类型数据可以存储至多18位十进制数,并在内存中占8字节。 问题5:如何在MySQL种获取当前日期? SELECT CURRENT_DATE(); 问题6:如何查询第n高的工资? SELECT DISTINCT(salary) from employee ORDER BY salary DESC LIMIT n-1,1 问题7:请写出下面MySQL数据类型表达的意义(int(0)、char(16)、varchar(16)、datetime、text) 知识点分析 此题考察的是MySQL数据类型。MySQL数据类型属于MySQL数据库基础,由此延伸出的知识点还包括如下内容: MySQL基础操作 MySQL存储引擎 MySQL锁机制 MySQL事务处理、存储过程、触发器 数据类型考点: 1、整数类型,包括TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT,分别 表示1字节、2字节、3字节、4字节、8字节整数。任何整数类型都可以加上UNSIGNED属性,表示数据是无符号的,即非负整数。 长度:整数类型可以被指定长度,例如:INT(11)表示长度为11的INT类型。 长度在大多数场景是没有意义的,它不会限制值的合法范围,只会影响显 示字符的个数,而且需要和UNSIGNED ZEROFILL属性配合使用才有意义。 例子,假定类型设定为INT(5),属性为UNSIGNED ZEROFILL,如果用户插入的数据为12的话,那么数据库实际存储数据为00012。 2、实数类型,包括FLOAT、DOUBLE、DECIMAL。 DECIMAL可以用于存储比BIGINT还大的整型,能存储精确的小数。

mysql sql语句大全_mysql sql语句面试题_mysql的常用sql语句推荐

mysql sql语句大全_mysql sql语句面试题_mysql的常用sql 语句推荐 今天我们向大家整理了一些【mysql的常用sql语句】系列文章,希望大家对【mysql的常用sql语句】技术点有更深的了解。 小编下面整理一下mysql sql语句大全_mysql sql语句面试题_mysql的常用sql语句的资料给大家作为参考。mysql sql 语句大全_mysql sql语句面试题_mysql的常用sql语句推荐[05-25] MySQL常用SQL语句的介绍[05-25] MySQL 存储过程执行动态SQL语句详解[05-23] MySql 常用操作的SQL语句的介绍[05-22] mysql语句插入多条数据的方法[05-21] 远程用户访问mysql服务sql语句的心得体会[05-21] MySQL 存储过程执行动态SQL语句的介绍[05-20] MySQL 复制表结构、内容到另一张表的SQL语句的介绍[05-20] mysql 查询今天、昨天、近7天、近30天、本月、上一月的SQL语句的介绍[05-20] mysql 获取一天、一周、一月时间的sql语句的方法[05-19] mysql把一个表某字段复制到另一张表的某个字段的SQL语句的方法[05-17] MySQL SQL 语句优化的介绍[05-10] mysql通过查看跟踪日志跟踪执行 的sql语句的方法[05-10] mysql语句运行时间的查看方法[05-10] mysql建表常用sql语句的介绍[05-10] MySQL字段

自增自减的SQL语句的推荐[05-04] SQL语句行列转换的两种方法case...when与pivot函数的介绍[05-04] SQL语句语法汇总的推荐[05-04] sql语句like的用法的介绍[05-04] MySQL查询数据库占用磁盘大小、单个库所有表的大小的sql语句[05-02] sql语句left_join、inner_join中的on与where 的区别介绍[05-02] MySql 获取某字段存在哪个表的sql语句的介绍[04-29] SQL语句Replace INTO与INSERT INTO 不同的介绍[04-29] 数据库字段分组显示数据的sql语句的介绍[04-29] MySQL批量删除指定前缀表的sql语句的推荐[04-29] MySQL优化sql语句查询常用30种方法的推荐[04-25] MySQL 查询当前正在运行的SQL语句[04-19] sql 语句的常用语法[04-19] PHP+Mysql常用SQL语句[04-05] 将数字标识转为汉字展示的sql语句[04-05] 数据表字段删除、添加的SQL语句[04-05] sql批量修改字段值的方法_sql 语句修改字段值[03-03] mysql 实现查看表结构的SQL语句[03-03] mysql 获取当前日期周一和周日的SQL语句[03-03] mysql 实现按年度、季度、月度、周、日查询的SQL语句[12-16] MySQL数据库操作实现的6条SQL语句[12-16] 将blob的char取出来并转成数字保存在其它字段的sql语句[12-16] mysql常用SQL语句小结[10-24] mySQL使用Explain检查测Sql语句执行效率[10-24] mysql查询当天,昨天,近7天,近30天,本月,上一月数据的SQL语句[10-18]

面试社会热点题分析全面的重要性

面试社会热点题分析全面的重要性在公务员面试中,综合分析里面的社会现象这种常见题型频繁出现。这种题型往往对考生的综合分析概括能力进行考察,但很多学生在答题过程中对于社会问题分析的不是十分深刻,往往就是从表面分析,而对于问题的深入把握还是不够的。今天中公教育专家就分析一下社会热点类题目的作答技巧。只要掌握了答题的脉络,才能够从众多考生中脱颖而出。 一、应对技巧 1、概括题目中心 2、分析题中原因 3、分析题中影响 4、提供解决对策 二、题目展示 近日,有几个普通人的事迹在网络上火起来了,比如,外卖小哥获得《中国诗词大会,第三季冠军,快递小哥苦练书法三年获得书法协会认可,校园保安发表百余首诗歌。对此,你怎么看? 三、中公分析 题目中很明确阐述了社会中的一种现象,同学们很容易上来就去分析这种问题的好处有哪些。这种分析在层次上不是特别全面,而且也容易没有话说,不够丰富。所以在面对这样积极的社会问题,我们需要先概括一下主旨以及表达个人的想法。接下来才进入到细致入微的分析阶段,看看这种积极影响能给社会带来哪些优势,往往这种积极的社会现象就不需要分析产生的原因这个层次了,让考官听起来比较牵强。最后让这样的好现象弘扬落实下去。 四、参考答案 普通人的个人事迹在网络家喻户晓看似偶然,实则是我们社会中个人对文化实践的一种体现,更是鼓励个人有梦想,通过努力学习进行效果时间的过程,值得我们肯定。 积极影响:各行各业对于诗词,文化的推崇越来越明显,其实这是对文化的一种传承,普通人对于文化的崇尚会通过节目的推送让更多的人认识到文化的魅力,形成良性社会舆论氛围,对各行各业也起到了榜样效应,不论年龄性别行业,只要对此有兴趣就可以通过自己的努力看到成果。与此同时,个人在从事其他行业过程中也有对文化梦想的追求,通过努力得以实现,让更多的人懂得只要付出努力,就可以实现梦想。

SQL优化面试专题及答案

1、一张表,里面有ID自增主键,当insert了17条记录之后,删除了第15,16,17条记录,再把Mysql重启,再insert一条记录,这条记录的ID是18还是15 ? (1)如果表的类型是MyISAM,那么是18 因为MyISAM表会把自增主键的最大ID记录到数据文件里,重启MySQL自增主键的最大ID也不会丢失 (2)如果表的类型是InnoDB,那么是15 InnoDB表只是把自增主键的最大ID记录到内存中,所以重启数据库或者是对表进行OPTIMIZE操作,都会导致最大ID丢失 2、Mysql的技术特点是什么? Mysql数据库软件是一个客户端或服务器系统,其中包括:支持各种客户端程序和库的多线程SQL服务器、不同的后端、广泛的应用程序编程接口和管理工具。 3、Heap表是什么? HEAP表存在于内存中,用于临时高速存储。 BLOB或TEXT字段是不允许的 只能使用比较运算符=,<,>,=>,= < HEAP表不支持AUTO_INCREMENT 索引不可为NULL 4、Mysql服务器默认端口是什么? Mysql服务器的默认端口是3306。 5、与Oracle相比,Mysql有什么优势? Mysql是开源软件,随时可用,无需付费。 Mysql是便携式的 带有命令提示符的GUI。 使用Mysql查询浏览器支持管理 6、如何区分FLOAT和DOUBLE? 以下是FLOAT和DOUBLE的区别: 浮点数以8位精度存储在FLOAT中,并且有四个字节。 浮点数存储在DOUBLE中,精度为18位,有八个字节。 7、区分CHAR_LENGTH和LENGTH? CHAR_LENGTH是字符数,而LENGTH是字节数。Latin字符的这两个数据是相同的,但是对于Unicode和其他编码,它们是不同的。 8、请简洁描述Mysql中InnoDB支持的四种事务隔离级别名称,以及逐级之间的区别?

数据库面试题

1.1.数据库 1.1.1.数据库 员工表的定义如下: Last_name VARCHAR2(25) First_name VARCHAR2(25) Salary NUMBER(7,2) 现查询显示未达到平均工资的员工姓名.请考察下面的SQL语句: SELECT last_name, first_name FROM employee WHERE salary < avg(salary); 对这条SQL做以下哪项修改能够达到目的? A.改变WHERE子句 B.把聚合函数移到SELECT列表中,并增加GROUP子句 C.通过子查询得出平均工资水平并在父查询的WHERE子句中比较 D.把聚合函数移到SELECT列表中,并增加GROUP BY子句和HAVING子句 注:SELECT last_name, first_name FROM employee where sal<(Select avg(salary) from employee); 1.1. 2.数据库 要从员工表中查询所有姓Smith的人,但是并不能确定所有Smith的大小写,以下哪条语句能解决问题? A.SELECT last_name, first_name FROM emp WHERE last_name=’smith’ B.SELECT last_name, first_name FROM emp WHERE UPPER(last_name)=’smith’ C.SELECT last_name, first_name FROM emp WHERE last_name=UPPER(‘smith’) D.SELECT last_name, first_name FROM emp WHERE LOWER(last_name)=’smith’ 1.1.3.delete from tablea & truncate table tablea的区别( ) A.没有区别 B.速度相同 C.速度不同 D.日志记录不同 1.1.4.下列哪些(或哪个)不是PL/SQL的组成部分() A.DECLARE B.CATCH C.THROW D.EXCEPTION 1.1.5.SQL语句中修改表结构的命令是______。 A.MODIFY TABLE

MySQL面试题 40道

1、MySQL 中有哪几种锁? 1、表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低。 2、行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。 3、页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般。 2、MySQL 中有哪些不同的表格? 共有 5 种类型的表格: 1、MyISAM2、Heap 3、Merge 4、INNODB 5、MISAM 3、简述在MySQL 数据库中 MyISAM 和InnoDB 的区别 MyISAM: 不支持事务,但是每次查询都是原子的;支持表级锁,即每次操作是对整个表加锁;存储表的总行数; 一个 MYISAM 表有三个文件:索引文件、表结构文件、数据文件; 采用菲聚集索引,索引文件的数据域存储指向数据文件的指针。辅索引与主索引基本一致,但是辅索引不用保证唯一性。 InnoDb: 支持 ACID 的事务,支持事务的四种隔离级别;支持行级锁及外键约束:因此可以支持写并发;不存储总行数: 一个 InnoDb 引擎存储在一个文件空间(共享表空间,表大小不受操作系统控制, 一个表可能分布在多个文件里),也有可能为多个(设置为独立表空,表大小受操作系统文件大小限制,一般为 2G),受操作系统文件大小的限制;

主键索引采用聚集索引(索引的数据域存储数据文件本身),辅索引的数据域存储主键的值;因此从辅索引查找数据,需要先通过辅索引找到主键值,再访问辅索引;最好使用自增主键,防止插入数据时,为维持 B+树结构,文件的大调整。 4、MySQL 中InnoDB 支持的四种事务隔离级别名称,以及逐 级之间的区别?SQL 标准定义的四个隔离级别为: 1、read uncommited :读到未提交数据 2、read committed:脏读,不可重复读 3、repeatable read:可重读 4、serializable :串行事物 5、CHAR 和VARCHAR 的区别? 1、CHAR 和 VARCHAR 类型在存储和检索方面有所不同 2、CHAR 列长度固定为创建表时声明的长度,长度值范围是 1 到 255 当 CHAR 值被存储时,它们被用空格填充到特定长度,检索 CHAR 值时需删除尾随空格。 6、主键和候选键有什么区别? 表格的每一行都由主键唯一标识,一个表只有一个主键。 主键也是候选键。按照惯例,候选键可以被指定为主键,并且可以用于任何外键引用。 7、myisamchk 是用来做什么的? 它用来压缩 MyISAM 表,这减少了磁盘或内存使用。 MyISAM Static 和 MyISAM Dynamic 有什么区别? 在 MyISAM Static 上的所有字段有固定宽度。动态 MyISAM 表将具有像 TEXT, BLOB 等字段,以适应不同长度的数据类型。 MyISAM Static 在受损情况下更容易恢复。 8、如果一个表有一列定义为TIMESTAMP,将发生什么? 每当行被更改时,时间戳字段将获取当前时间戳。列设置为 AUTO INCREMENT 时,如果在表中达到最大值,会发生什么情况?它会停止递增,任何进一步的插入都将产生错误,因为密钥已被使用。怎样才能找出最后一次插入时分配了哪个自动增量?LAST_INSERT_ID 将返回由 Auto_increment 分配的最后一个值,并且不需要指定表名称。 9、你怎么看到为表格定义的所有索引? 索引是通过以下方式为表格定义的: SHOW INDEX FROM ; 10、LIKE 声明中的%和是什么意思?%对应于 0 个或更多字符,只是 LIKE 语句中的一个字符。 如何在 Unix 和 MySQL 时间戳之间进行转换?UNIX_TIMESTAMP 是从 MySQL 时间戳转换为 Unix 时间戳的命令FROM_UNIXTIME 是从 Unix 时间戳转换为 MySQL 时间戳的命令 11、列对比运算符是什么?

相关主题
文本预览
相关文档 最新文档