MySQL面试问题

作者: admin 分类: linux运维面试题 发布时间: 2019-08-07 17:42

1)什么是MySQL?

MySQL是一个多线程,多用户SQL数据库管理系统,安装量超过1100万。这是世界上第二大最受欢迎和广泛使用的开源数据库。

2)用MySQL编写哪种语言?

MySQL是用C和C ++编写的,它的SQL解析器是用yacc编写的。

3)MySQL的技术规范是什么?

MySQL具有以下技术规范 -

结构灵活

高性能

易于管理且易于使用

复制和高可用性

安全和存储管理

4)MySQL中可能有多少触发器?

在MySQL数据库中只允许使用六个触发器。

插入之前

插入后

更新前

更新后

删除前

删除后

5)什么是堆表?

存储器中存在的表称为HEAP表。在MySQL中创建堆表时,您应该将TYPE指定为HEAP。这些表通常称为内存表。它们用于临时高速存储。它们不允许BLOB或TEXT字段。

6)MySQL中的BLOB和TEXT是什么?

BLOB是二进制大对象的缩写。它用于保存可变数量的数据。

BLOB有四种类型。

TINYBLOB

BLOB

MEDIUMBLOB

LONGBLOB

所有这些之间的差异是它们可以容纳的最大值。

TEXT是不区分大小写的BLOB。TEXT值是非二进制字符串(字符串)。它们具有字符集,并根据字符集的排序规则存储和比较值。

TEXT有四种类型。

TINYTEXT

文本

MEDIUMTEXT

LONGTEXT

7)MySQL中的触发器是什么?

触发器是一组响应某些事件而执行的代码。

8)堆表和临时表有什么区别?

堆表:

堆表在内存中找到。它们用于临时高速存储。它们不允许BLOB或TEXT字段。

堆表不支持AUTO_INCREMENT。

索引应为NOT NULL。

临时表:

临时表用于保存临时数据。有时,在保留临时数据的情况下非常有用。当前客户端会话终止后,将删除临时表。

主要区别:

堆表在客户端之间共享,而临时表不共享。

堆表只是另一个存储引擎,而对于临时表,您需要一个特殊权限(创建临时表)。

9)FLOAT和DOUBLE有什么区别?

FLOAT存储浮点数,精度高达8位,分配4个字节,另一方面,DOUBLE存储浮点数,精度高达18位,分配8个字节。

10)MySQL与Oracle相比有哪些优势?

MySQL是一个免费,快速,可靠,开源的关系数据库,而Oracle虽然价格昂贵,但它们提供了Oracle免费版以吸引MySQL用户。

MySQL在您的笔记本电脑上仅使用不到1 MB的RAM,而Oracle 9i安装使用128 MB。

MySQL非常适合支持数据库的网站,而Oracle则适用于企业。

MySQL是可移植的。

11)MySQL有哪些缺点?

MySQL对于大规模数据库来说效率不高。

它不支持低于5.0的COMMIT和STORED PROCEDURES函数版本。

交易处理效率不高。

12)CHAR和VARCHAR有什么区别?

1)CHAR和VARCHAR在存储和检索方面有所不同。

2)CHAR列长度是固定的,而VARCHAR长度是可变的。

3)最大数量。字符CHAR数据类型可以容纳255个字符而VARCHAR最多可容纳4000个字符。

4)CHAR比VARCHAR快50%。

5)CHAR使用静态内存分配,而VARCHAR使用动态内存分配。

13)MySQL_connect和MySQL_pconnect有什么区别?

的mysql_connect:

它会打开与数据库的新连接。

每次需要打开和关闭数据库连接时,具体取决于请求。

每次加载时打开页面。

Mysql_pconnect:

在Mysql_pconnect中,“p”代表持久连接,因此它打开持久连接。

数据库连接无法关闭。

如果您的站点有更多流量,则更有用,因为无需经常打开和关闭连接,并且每次加载页面时都是如此。

14)MySQL中“i_am_a_dummy flag”有什么作用?

如果WHERE子句不存在,“i_am_a_dummy标志”使MySQL引擎能够拒绝执行任何UPDATE或DELETE语句。

15)如何在MySQL中获取当前日期?

要获取当前日期,请使用以下语法:

SELECT CURRENT_DATE();

16)使用MySQL时有哪些安全警报?

安装防病毒软件并配置操作系统的防火墙。

切勿将MySQL服务器用作UNIX root用户。

更改root用户名和密码

限制或禁用远程访问。

17)如何通过Mysqladmin更改现有用户的密码?

Mysqladmin -u root -p密码“newpassword”。

18)Unix时间戳和MySQL时间戳有什么区别?

实际上,Unix时间戳和MySQL时间戳都存储为32位整数,但MySQL时间戳以YYYY-MM-DD HH:MM:SS格式的可读格式表示。

19)如何从MySQL查询中的表中显示第N个最高薪水?

让我们拿一张名为employee的表。

找到第N个最高薪水是:

按 工资 描述 限制n-1,1 从 员工 订单中选择不同(工资)

如果你想找到第三大薪水:

按 工资 描述 限制2,1 从 员工 订单中选择不同(工资)

20)什么是MySQL默认端口号?

MySQL的默认端口号是3306。

21)什么是REGEXP?

REGEXP是使用正则表达式的模式匹配。正则表达式是为复杂搜索指定模式的有效方法。

22)您可以为索引创建多少列?

您可以为标准表创建最多16个索引列。

23)NOW()和CURRENT_DATE()之间有什么区别?

NOW()命令用于显示当前年份,月份,日期,小时,分钟和秒,而CURRENT_DATE()显示当前年份仅包含月份和日期。

24)显示前20行的查询是什么?

SELECT * FROM table_name LIMIT 0,20;

25)写一个查询来显示当前的日期和时间?

如果要显示当前日期和时间,请使用 -

SELECT NOW();

如果您只想显示当前日期,请使用 -

SELECT CURRENT_DATE();

26)什么是MySQL的保存点?

任何事务中的已定义点都称为保存点。

SAVEPOINT是MySQL中的一个语句,用于设置名称为identifier的命名事务保存点。

27)什么是SQLyog?

SQLyog程序是管理员最流行的GUI工具。它是最流行的MySQL管理器和管理工具。它结合了MySQL管理员,phpMyadmin和其他MySQL前端和MySQL GUI工具的功能。

28)如何在MySQl中备份数据库?

使用phpMyAdmin备份数据很容易。通过单击左侧导航栏中的数据库名称选择要备份的数据库。然后单击导出按钮并确保突出显示要备份的所有表。然后在导出时指定所需的选项并保存输出。

Linux 命令大全

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!