MySQL面试题-基础
1、SQL中文全称
结构化查询语言
2、SQL语句分类
(1)数据查询语言DQL包括select字段名from表名where条件
(2)数据操纵语言DML包括Insertupdatedelete
(3)数据定义语言DDL包括createalterdroptruncate
(4)数据控制语言DCL包括grant(授权)DENY语句(拒绝授权)REVOKE语句(撤
销权限)
(5)事务控制语言TCL包括commitrollbacksavepoint
3、数据库约束
(1)主键约束primarykey
(2)外键约束foreignkey
(3)非空约束notnull
(4)唯一约束unique
(5)检查约束check(Oracle有效)
(6)默认约束default
4、数据库聚合函数
(1)Sum求和
(2)Avg平均
(3)Max最大值
(4)Min最小值
(5)Count计数
5、查看数据库showdatabases
6、查看表showtables
7、查看表字段desc表名
8、修改表名rename表名1to表名2
9、添加表字段altertablet1addageintfirst/afterxxx;
10、删除表字段altertablet1dropage;
11、修改字段名和类型altertablet1change原名新名新类型;
12、修改字段类型和位置altertablet1modify字段名新类型first/afterxxx;
13、数据类型
(1)-整数:int(m)bigint(m)m代表显示长度需要结合zerofill补0
(2)-浮点数:double(m,d)m代表总长度d代表小数长度超高精度浮点数
decimal(m,d)
(3)-字符串:char固定长度最大255执行效率高varchar可变长度最大65535超
高255建议使用texttext可变长度最大65535
(4)-日期:date年月日time时分秒datetime默认为null,最大9999-12-31
timestamp默认为当前系统时间,最大2038-01-19
14、数据去重distinct
15、模糊查询like_单个未知字符%代表0或多个未知字符
16、排序orderby字段1asc/desc,字段2asc/desc;
17、分页limit跳过的条数,请求条数
18、字符串相关:
(1)concat()字符串拼接
(2)char_length()字符串长度
(3)instr()查找字符
(4)insert()插入字符
(5)upper()转成大写
(6)lower()转成小写
(7)trim()去除空格
(8)substring()截取字符串
(9)repeat()重复
(10)replace()替换
(11)reverse()反转
19、分组groupby
20、笛卡尔积
如果关联查询不写关联关系会得到两张表数据的乘积,这个乘积称为笛卡尔积
工作中切记不要出现,如果数据量大,会占用大量内存,甚至系统崩溃
21、左外连接和右外连接的区别
(1)外连接分为左外和右外得到的是一张表的全部数据和另外一张表的交集数据
(2)左外连接以左表为驱动表,右表为匹配表,右表可能会出现重复数据或者更null
(3)右外连接情况与做外连接相反
22、什么是视图:
(1)视图和表都是数据库中的对象,视图可以理解成一张虚拟的表,视图本质就是取代
了一段SQL查询语句
(2)为什么使用视图:可以起到SQL语句重用的作用,隐藏敏感信息
23、视图的作用:重用SQL、隐藏敏感信息
24、视图的分类:简单视图(不包含去重、函数、分组、关联查询,可以进行增删改查)
和复杂视图(和简单视图相反,只能查询)
25、什么是索引:索引是数据库中用于提高查询效率的技术,类似于目录
26、为什么使用索引:如果不使用索引,数据会零散的保存在磁盘块中,查询数据需要挨个
遍历每一个磁盘块,直到找到数据为止,使用索引后会将磁盘块以树桩结构进行保存,查询
数据时会大大降低磁盘块的访问数量,从而提高查询效率。
27、索引是越多越好吗?
不是,因为索引会占用存储空间,只针对常用的查询字段创建索引。
28、有索引就一定好吗?
如果数据量小,添加索引反而会降低查询效率。
29、索引分类(了解)
1.聚集索引:给表添加主键约束的时候数据库会自动通过主键创建索引,这个索引称
为聚集索引。聚集索引的磁盘块中保存数据
2.非聚集索引:通过其它字段创建的索引称为非聚集索引,非聚集索引的磁盘块中只
保存磁盘块的地址没有数据(因为数据只需要有一份)
30、事务
数据库中执行同一业务多条SQL语句的工作单元,可以保证全部执行成功,或全部执行
失败
31、事务的ACID特性是保证事务正确执行的四大基本要素
-Atomicity:原子性,最小不可拆分,保证全部成功全部失败
-Consistency:一致性,从一个一致状态到另一个一致状态
-Isolation:隔离性,多个事务之间互不影响
-Durability:持久性,事务完成后数据提交到数据库中持久生效