2022春招 Mysql突击精华

基础

  1. 增加 insert into 表名(1,’张三’)  (字符型的加’’或者””)
  2. 删除 delete from 表名 (删除所有表中数据)
  3. 修改 update 表名 set 列名=’李四(新值)’ where 列名称=’张三(某值)’;
  4. 查询 select * from 表名
  5. 表的内连接 inner join
  6. 排序 order by

提升

2022春招 Mysql突击精华_第1张图片

    1. 有学生表student和班级表class,写出一条sql语句查询出得分在最高的学生

select name,score from student where score=(select MAX(score)from studen);

    1. 写一条sql语句 查询出一班、二班的人数和平均分,并且按照由高到低排序

Select count(*),avg(a score)from stu_1 as a,class as b where a c_id=b.ID group by b.name order by a score dec

    1. 写一条sql语句查询出没有班级的学生名字、性别、分数

Select name,sex,score from stu_1 where stu_1.name not in(select a.name from stu_1 as a,class as b where C_id=b.id)

参考(39条消息) mysql笔试题目_atropos_li的博客-CSDN博客_mysql笔试题 还有很多这种可以多练,笔试一般都是这种难度 基础偏多 后端的朋友记得抽时间复习一下

简答题

1,Mysql中有哪几种锁

表级锁:开销小,加锁快,不会出现死锁,锁定粒度大,易发生锁冲突,并发度低

行级锁:开销大,加锁慢,会出现死锁,锁定粒度小,不易发生锁冲突,并发高

页面锁:开销中等,加锁中等,会出现死锁,锁定粒度中等,并发度中等

2,Char和Varchar的区别

char长度不可变,范围为1-255,存取速度快,易浪费空间

varchar长度可变,范围为1-2的16次方(65535)

3、数据库的三范式

列不可再分;

每一行数据只做一件事,只与一列相关,主键;

每个属性都与主键有直接关系,而不是间接关系;

4、一张自增表里面总共有 7 条数据,删除了最后 2 条数据,重启 mysql 数据库,又插入了一条数据,此时 id 是几?
一般情况下,我们创建的表类型是InnoDB。

不重启MySQL,如果新增一条记录,id是8;
重启,ID是6;因为InnoDB表只把自增主键的最大ID记录在内存中,如果重启,已删除的最大ID会丢失。
如果表类型是MyISAM,重启之后,最大ID也不会丢失,ID是8;

InnoDB必须有主键(建议使用自增主键,不用UUID,自增主键索引查询效率高)、支持外键、支持事务、支持行级锁。

系统崩溃后,MyISAM很难恢复;

综合考虑,优先选择InnoDB,MySQL默认也是InnoDB。
 

5、数据库如何保证主键唯一性
主键约束

主键列上没有任何两行具有相同值(即重复值),不允许空(NULL);

唯一性约束

保证一个字段或者一组字段里的数据都与表中其它行的对应数据不同。和主键约束不同,唯一性约束允许为null,但是只能有一行;

唯一性索引

不允许具有索引值相同的行,从而禁止重复的索引和键值;

三者的区别

约束是用来检查数据的正确性;
索引是用来优化查询的;
创建唯一性约束会创建一个约束和一个唯一性索引;
创建唯一性索引只会创建一个唯一性索引;
主键约束和唯一性约束都会创建一个唯一性索引。

6、性别是否适合做索引

区分度不高的字段不适合做索引,因为索引页是需要有开销的,需要存储的,不过这类字段可以做联合索引的一部分。

7、优化方法

选取适合的字段属性

使用join连接代替子查询

事务

锁定表

使用外键

使用索引

优化的查询语句

8、索引怎么定义,分哪几种

  1. b-tree索引,如果不建立索引的情况下,oracle就自动给每一列都加一个B 树索引;
  2. normal:普通索引
  3. unique:唯一索引
  4. bitmap:位图索引,位图索引特定于只有几个枚举值的情况,比如性别字段;
  5. 基于函数的索引

9、mysql 的内连接、左连接、右连接有什么区别?

  1. 内连接,显示两个表中有联系的所有数据;
  2. 左链接,以左表为参照,显示所有数据,右表中没有则以null显示
  3. 右链接,以右表为参照显示数据,,左表中没有则以null显示

你可能感兴趣的:(sql,数据库,mysql)