Mysql是一种使用最常用的数据库管理语言的开源代码关系数据库管理系统——数据库管理采用结构化查询语言。mysql数据库在java开发中起着非常重要的作用。因此,在面试中,我们还需要记住一些常见的mysql面试问题。今天,让我们来看看Mysql常见的面试题及答案。
1、什么是主键?什么是外键?
表格中有主键(一个或多个)字段,只用于定义表格中的行;主键中的值总是唯一的。外键是用来建立两种表格之间关系的约束。这种关系通常涉及一个表格中的主键字段和另一个表格(虽然可能是同一个表格)中的一系列连接字段。所以这些连接的字段是外键。
2、MySQL中的varchar和char有什么区别??
char是一个定长字段,假如申请了char(10)的空间,无论实际存储多少内容,无论实际存储多少内容。所有这些字段都被占用10个字符,而varchar变长,也就是说,申请只是最大长度,占用的空间是实际字符长度+1,存储最后一个字符需要多长时间?。就检索效率而言,char > varchar,所以在使用中,如果确定了某个字段的长度,可以使用char,否则,应尽量使用varchar。例如,存储用户加密后的MD5密码,则应该使用char。
3、乐观锁是什么?悲观锁是什么?
悲观锁是悲观的,它对数据被外界修改的操作持保守态度,认为数据会随时修改,数据需要在整个数据处理中锁定数据,悲观锁一般依靠关系数据库提供的锁机制。我们以前学过的行锁,无论是读写锁,表锁都是悲观锁。乐观锁很乐观,每次我自己操作数据时,我认为没有人会修改它,所以不要加锁,但是,在更新过程中,将判断数据是否在此期间被修改。用户需要自己去实现,不会发生并抢占资源,提交操作时只检查 是否违反了数据的完整性。
4、索引的优缺点,索引什么时候使用?,什么时候不能使用索引索引索引?。
索引的最大优点是提高查询速度,缺点是更新数据时效率低,因为索引需要同时更新。频繁查询数据并建立索引,不建议频繁更改数据。索引不建议使用。数据库连接池的作用维护了一定数量的连接,减少创建连接的时间。响应时间更快。
5、除了增删改查之外,常用的关键词有哪些?
distinct、limit、offset、order by、union、union all、between、group by
6、在mysql中常用的函数有哪些?
sum、count 、avg、min、max
7、union、union all的区别?
处理重复结果方面,在进行表链接后,UNION将筛选重复记录,Union All不会删除重复记录;处理排序,Union将按字段顺序排序,UNION ALL只是简单地合并两个结果,然后返回,从效率上说,UNION ALL 比UNION快得多。
8、NULL是什么意思?
NULL值表示UNKNOWNN,即未知,它不表示“”(空字符串)。假设SQL Server数据库中有ANSI_NULLS,当然,默认情况下会有,对NULL值的任何比较都会产生NULL值。任何值都不能与一个值进行比较 比较UNKNOWN值,逻辑上希望得到答案。IS必须使用 NULL操作符。
9、查询A(ID,Name)表中第31-40条记录,ID作为主键可能是连续增长的列吗?
select top 10 * from A where ID >(select max(ID) from (select top 30 ID from A order by A ) T) order by A
10、查询表A中有ID重复三次以上的记录?
select * from(select count(ID) as count from table group by ID)T where T.count>3
以上是为您介绍的。Mysql常见的面试题及答案,希望对大家有所帮助。