MySQL面试题-基础「终于解决」

MySQL面试题-基础「终于解决」MySQL面试题-基础

MySQL面试题-基础

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:持久性,事务完成后数据提交到数据库中持久生效

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8453.html

(0)
上一篇 2023-02-27
下一篇 2023-02-27

相关推荐

  • linux系统mysql数据库MHA高可用

    linux系统mysql数据库MHA高可用 1.MHA简介 MHA(Master High Availability)目前在MySQL高可用方面是一个相对成熟的解决方案,它由日本DeNA公司youshimaton(现就职于Facebo…

    2023-03-26
    865
  • 怎样在电脑上安装python软件_mac安装python3

    怎样在电脑上安装python软件_mac安装python3首先在浏览器中输入python的官网,直接到官网下载编程软件。

    2023-08-25
    150
  • Python中hmac的使用方法

    Python中hmac的使用方法在Python中,hmac模块提供了一种方便的方法来生成HMAC(基于哈希的消息验证代码)。HMAC是一种涉及哈希函数和一个秘密密钥的消息认证码,对于具有消息认证要求的应用程序而言,它是一种非常有用和安全的算法。

    2024-08-01
    29
  • Python中datetime.datetime.strptime的使用方法

    Python中datetime.datetime.strptime的使用方法在Python中,时间的处理是非常重要的。datetime模块提供了多个方法来处理时间。其中,strptime方法是一个非常实用的方法。strptime方法可以将字符串表示的时间转换为datetime类型。

    2024-04-09
    77
  • 使用jsreplace方法替换文本内容

    使用jsreplace方法替换文本内容在开发网站和应用程序时,经常需要对文本内容进行替换操作。有时候,我们需要替换特定的单词或短语,有时候需要替换大段的文本。使用JavaScript的replace方法可以帮助我们轻松实现这一功能。

    2024-08-09
    27
  • ClickHouse源码笔记6:探究列式存储系统的排序

    ClickHouse源码笔记6:探究列式存储系统的排序分析完成了聚合以及向量化过滤,向量化的函数计算之后。本篇,笔者将分析数据库的一个重要算子:排序。让我们从源码的角度来剖析ClickHouse作为列式存储系统是如何实现排序的。 本系列文章的源码分析基于

    2023-04-18
    154
  • 以Python逆序输出为中心

    以Python逆序输出为中心Python作为一门强大的编程语言,一直以来都备受程序员们的青睐。其中,逆序输出是python中常见的操作之一。本文将从多个方面对“以Python逆序输出为中心”进行讲解,帮助读者更好地理解这一操作。

    2024-07-20
    37
  • innodb存储引擎对mvcc的实现原理_最早支持的存储引擎

    innodb存储引擎对mvcc的实现原理_最早支持的存储引擎一、InnoDB 体系架构 InnoDB 存储引擎有多个内存块,可以认为这些内存块组成了一个大的内存池,负责如下工作: 维护所有进程/线程需要访问的多个内部数据结构。 缓存磁盘上的数据,方便快速的读取

    2023-03-20
    157

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注