【Spark-SQL 面试准备 2】教程文章相关的互联网学习教程文章

MySQL面试总结

MySQL面试总结# MySQL的存储引擎`MyISAM`(默认表类型):非事务的存储引擎,基于传统的`ISAM`(有索引的顺序访问方法)类型,是存储记录和文件的标准方法,不是事务安全,不支持外键,适用于频繁的查询。表锁,不会出现死锁,适合小数据和小并发。- 为什么不会出死锁?(没有事务就不会继续持有锁)答:因为`MyISAM`再查询的时候,会同时锁定这个`sql`里面所有用到的表(获取锁的顺序是一致的),不局限与一张表,再写锁又重叠时,...

MYSQL面试必读

答:1.MyISAM 是非事务的存储引擎,适合用于频繁查询的应用。表锁,不会出现死锁,适合小数据,小并发。2.innodb是支持事务的存储引擎,合于插入和更新操作比较多的应用,设计合理的话是行锁(最大区别就在锁的级别上),适合大数据,大并发。数据表类型有哪些 答:MyISAM、InnoDB、HEAP、BOB,ARCHIVE,CSV等。 MyISAM:成熟、稳定、易于管理,快速读取。一些功能不支持(事务等),表级锁。 InnoDB:支持事务、外...

sql面试

----1.数据库的三范式? 一范式: 每个列都是不可分割的原子单元; 二范式: 必须满足第一范式;每个列都依赖于主键。 三范式:必须满足第二范式;每个列不能传递依赖于主键。 ----2.主键的设计原则有哪些? 一、唯一的标识一行; 二、作为一个可以被外键有效引用的对象; 三、不需要更新主键; 四、主键不应该包含动态变化的数据,如时间戳 等; 五、主键应当有计算机自动生成。 ----3.数据的约束有哪些特点(主键约束,唯一约...

SQL面试积累

以下题目都在MySQL上测试可行,有疏漏或有更优化的解决方法的话欢迎大家提出,我会持续更新的:)有三个表,如果学生缺考,那么在成绩表中就不存在这个学生的这门课程成绩的记录,写一段SQL语句,检索出每个学生缺考的科目。A 学生表(student)字段1 学生号(s_id)字段2 学生名(s_name)B 科目表(course)字段1 科目号(c_id)字段2 科目名(c_name)C 成绩表(grade)字段1 成绩号(g_id)字段2 学生号(s_id)字段3 科目号(c_id)字段4 成绩(score...

搞定SQL面试(3)【代码】【图】

38、查询各个课程及相应的选修人数;select sc.cid,c.cname,count(distinct sid) as ‘stuCount‘ from sc sc,course c where sc.cid=c.cid group by sc.cid,c.cname;39、查询不同课程但成绩相同的学生的学号、课程号、学生成绩;select distinct sc1.sid,sc1.cid,sc1.score from sc sc1,sc sc2 where sc1.cid!=sc2.cid and sc1.score=sc2.score order by sc1.score asc;40、查询每门课程成绩最好的前两名;select sc.cid,c.cname,...

MYSQL 面试常见问题汇总

转自: https://blog.csdn.net/u011010851/article/details/80074550 Q1:主键,外键,超键,候选键;主键 对表中数据进行唯一标识的数据列的组合;不能缺失;不能空值;外键 该列为另一表的主键;超键 关系中能唯一标识数据的属性;候选键 不含多余属性的超键;Q2:数据库事务的四个特征及含义;原子性 要么全部完成,要么不完成,若发生错误会进行回滚操作;一致性 开始到结束后,数据库完整性约束没收到破坏;...

mysql-面试的时候遇到的问题,关于PHP并发

大概就是 mysql的一张表存放着某个用户的余额,下面我写伪代码了。$sql=select * from user wherer 余额 > 10 and id=1; //如果有余额进行逻辑处理最后在减去扣款。 if($sql){ echo 请求它接口; $sql=update user set 余额=余额-10;//关键就在这里了,如果减完了就相当于没余额了,但是由于并发,第二个人查询的时候是有的,他也进了这个条件。怎么避免这种情况}else{echo 余额不足; }回复内容:大概就是 mysql的一张表存放着某个...

mysql面试(转载)

body {font-family: 微软雅黑,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif;font-size: 10.5pt;line-height: 1.5; } html, body {} h1 {font-size:1.5em;font-weight:bold; } h2 {font-size:1.4em;font-weight:bold; } h3 {font-size:1.3em;font-weight:bold; } h4 {font-size:1.2em;font-weight:bold; } h5 {font-size:1.1em;font-weight:bold; } h6 {font-size:1.0em;font-weight:bold; } img {...

SQL面试积累

以下题目都在MySQL上测试可行,有疏漏或有更优化的解决方法的话欢迎大家提出,我会持续更新的:) 有三个表,如果学生缺考,那么在成绩表中就不存在这个学生的这门课程成绩的记录,写一段SQL语句,检索出每个学生缺考的科目。A 学生表(student)字段1 学生号(s_id)字段2 学生名(s_name) B 科目表(course)字段1 科目号(c_id)字段2 科目名(c_name) C 成绩表(grade)字段1 成绩号(g_id)字段2 学生号(s_id)字段3 科目号(c_id)字段4 成绩(sc...

mysql面试几个问题【图】

1、为什么InnoDB表最好要有自增列做主键? InnoDB引擎表是基于B+树的索引组织表(IOT) 关于B+树 (图片来源于网上) B+ 树的特点: a、所有关键字都出现在叶子结点的链表中(稠密索引),且链表中的关键字恰好是有序的; b、不可能在非叶子结点命中; c、非叶子结点相当于是叶子结点的索引(稀疏索引),叶子结点相当于是存储(关键字)数据的数据层。 1、如果我们定义了主键(PRIMARY KEY) 那么InnoDB会选择主键作为聚集索引、如果没有显式定...

mysql的面试试题

(1) 问5点不同答:1、 存储成本不一样,存储限制不一样;2、CPU使用成本不一样,innodb缓存数据和索引;3、锁粒度不一样,支持MVCC;4、缓存机制不一样(buffer_pool和key_buffer)5、事务支持;6、索引支持:全文索引(myisam),外键(innodb),hash(innodb)7、读写速度;8、备份;(2)、问各种不同mysql版本的2者的改进;    最近测5.1.38和5.5.35Innodb:(1)adeptive_innodb_index可控;(2)innodb变为默认引擎;(3)更快的...

决胜九月:mysql面试必会基础(二)

画图解释 SQL join 语句(下面这段来自ImportNew)我认为 Ligaya Turmelle 的关于SQL联合(join)语句的帖子对于新手开发者来说是份很好的材料。SQL 联合语句好像是基于集合的,用韦恩图来解释咋一看是很自然而然的。不过正如在她的帖子的回复中所说的,在测试中我发现韦恩图并不是十分的匹配SQL联合语法。不过我还是喜欢这个观点,所以我们来看看能不能用上韦恩图。假设我们有下面两张表。表A在左边,表B在右边。我们给它们各四条记...

决胜九月:mysql面试必会基础(一)【代码】【图】

SELECT * FROM tablename limit 5;结果不能超过5条 SELECT * FROM tablename limit 5,10;将返回从行5开始的10行。注意行号从0开始记数 (4)完全限定的表名 SELECT tablename.columnname FROM databasename.tablename 当多表联合查询时经常会用到这种方式,下面将具体介绍 (5)使用order by 可以对数据进行排序, SELECT * FROM tablename ORDER BY columnname;对数据按照columnname“升序”排列 SELECT * FROM tablename...

决胜九月:mysql面试必会基础(三)【图】

必会的几个函数avg sum count max min 必会的GROUP BY 、HAVING。 举个2016腾讯笔试题的真实的例子,(lz面试2015腾讯实习生时遇到同样的问题) 有汽车评分表car_score,表中有用户id,汽车名称carname,评分score三个字段,存储着用户对汽车的评分。 默认只有用户对汽车进行两次及以上评分时才有效,求汽车的有效的平均评分并由高到低排序。 表结构如下:楼主给出的答案和执行结果:Join也是必会的知识点:join、left join、right...

MySQL 面试中的问题汇总【代码】【图】

id1,id2,(case when id1>id2 then id1 else id2 end) as result from t4; 类似问题,表t4中,id2大于3记录为合格,大于5为优秀,否则为不合格select id1,id2,(case when id2>5 then ‘优秀‘ when id2>3 then ‘合格‘ else ‘不合格‘ end) as result from t4; 2.请取出表tb表中日期(created_ts)为当天的所有记录(created_ts字段为datetime类型,包含日期和时间) select * from where datediff(dd,created_ts,getDate())=0 3...