文章目录
-
- 1、简单说一说drop、delete与truncate的区别
- 2、什么是主键?什么是外键?并说出它们的作用
- 3、说出char和varchar的区别,及它们的适用场景
- 4、说出不小于3种mysql数据库支持的约束,并说明它们的使用场景
- 5、说出5种SQL中常用的聚合函数,并说明它们的作用
- 6、说出SQL中内连接、左连接、右连接的区别
- 7、谈谈数据库连接池的作用
- 8、数据库有100条数据,怎么查询第50,51条
- 9、什么是数据库事务
- 10、数据库事务的四大特性
- 10.1、事务的四种隔离级别
- 11、事务并发访问会产生的问题(隔离性引发的问题)
- 12、MySQL是怎么管理事务的
- 13、谈谈对事务的保存点理解
- 14、数据库去重
- 15、group by 的注意事项
- 16、什么是索引?
- 17、索引的分类
- 18、索引的优缺点
- 19、什么情况应该使用索引?什么情况下又不应该使用?
- 20、主键(primary key)和唯一索引(unique index)区别
- 21、什么是视图?
- 22、表和视图的关系
- 23、mysql查询条件里如何拼接字符串
- 24、列举几种表连接方式, 有什么区别?
- 25、having是什么
- 26、在数据库中查询语句速度很慢,如何优化?
- 27、union和union all有什么不同?
- 28、在数据库中你怎么把时间进行格式化
- 29、count(*)和count(1)的效率哪个更高?
- 30、超键、候选键、主键、外键分别是什么?
- 31、数据库图形化工具的好处
- 32、数据库主键,不设置主键会怎么样
- 33、你做过那些Mysql数据库优化
1、简单说一说drop、delete与truncate的区别
drop 用于删除结构:数据库、表
delete 删除数据,可以回滚
truncate 删除结构重建构建,不可以回滚
基于mysql
delete不重置自动增长列的计数值
truncate重置自动增长列的计数值
2、什么是主键?什么是外键?并说出它们的作用
-
主键:唯一标识一条记录的字段或字段的组合称为主键。
主键不能重复,也不允许为空 -
外键:用来维护两个表之间数据的一致性,。
外键可以有重复的, 也允许有空值 -
作用:
主键:用来保证数据完整性,保证记录的唯一性
外键:通过设置外键和其他表建立关联关系(一对一,一对多,多对多)
3、说出char和varchar的区别,及它们的适用场景
char是一种固定长度的字符串类型,
varchar是一种可变长度的字符串类型;
适用场景:
char一般用来存储长度固定字段,如:手机号,身份证号等
varchar一般用来存储不固定长度的字段:如:用户名,昵称等
4、说出不小于3种mysql数据库支持的约束,并说明它们的使用场景
- 主键约束:在主键上使用
- 外键约束:建立俩个表之间的关系时使用
- 唯一约束:保证数据表中某个字段数据的唯一性时使用
- 非空约束:需要保证数据库字段值不为空时使用
- 自动增长列:数据值自增时使用,字段类型必须是整数,且必须使用主键修饰。
5、说出5种SQL中常用的聚合函数,并说明它们的作用
- avg():返回指定组中的平均值,空值被忽略;
- count():返回指定组中的项目个数
- max():返回指定数据中的最大值;
- min():返回指定数据中的最小值;
- sum():返回指定数据的和,只能用于数字列,空值忽略;
6、说出SQL中内连接、左连接、右连接的区别
-
内连接:是从结果表中删除与其他被连接表中没有匹配行的所有行
-
左连接(左外连接):以左表作为基准进行查询,左表数据都显示,连接条件成立右表数据显示,条件不成立显示null
-
右连接(右外连接):以右表作为基准进行查询,右表数据都显示,连接条件成立左表数据显示,条件不成立显示null
7、谈谈数据库连接池的作用
作用:
1.资源重用,避免了数据库连接频繁建立、关闭的开销
2.更快的系统响应速度,直接从连接池中获取连接,响应速度加快
3.控制资源的使用,连接池能自动维护池中的连接数量,提高资源的利用率。
常用的数据库连接池:DBCP、C3P0、Druid
8、数据库有100条数据,怎么查询第50,51条
select * from table_name limit 49, 2
原因:MySQL的limit用法:
select * from table limit m,n
其中m是指记录开始的index,从0开始,表示第一条记录;n是指从第m+1条开始,取n条。
9、什么是数据库事务
事务:业务中的一组操作,要么全部成功,要么全部失败