MySQL-面试
-
- 1、一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,再把 Mysql 重启,再 insert 一条记录,这条记录的 ID 是 18 还是 15 ?
- 2、Mysql 的技术特点是什么?
- 3、Heap 表是什么?
- 4、Mysql 服务器默认端口是什么?
- 5、与 Oracle 相比,Mysql 有什么优势?
- 6、如何区分 FLOAT 和 DOUBLE?
- 7、区分 CHAR_LENGTH 和 LENGTH?
- 8、请简洁描述 Mysql 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?
- 9、在 Mysql 中 ENUM 的用法是什么?
- 10、如何定义 REGEXP?
- 11、CHAR 和 VARCHAR 的区别?
- 12、列的字符串类型可以是什么?
- 13、如何获取当前的 Mysql 版本?
- 14、Mysql 中使用什么存储引擎?
- 15、Mysql 驱动程序是什么?
- 16、TIMESTAMP 在 UPDATE CURRENT_TIMESTAMP 数据类型上做什么?
- 17、主键和候选键有什么区别?
- 18、如何使用 Unix shell 登录 Mysql?
- 19、 myisamchk 是用来做什么的?
- 20、MYSQL 数据库服务器性能分析的方法命令有哪些?
- 21、如何控制 HEAP 表的最大尺寸?
- 22、MyISAM Static 和 MyISAM Dynamic 有什么区别?
- 23、federated 表是什么?
- 24、如果一个表有一列定义为 TIMESTAMP,将发生什么?
- 25、列设置为 AUTO INCREMENT 时,如果在表中达到最大值,会发生什么情况?
- 26、怎样才能找出最后一次插入时分配了哪个自动增量?
- 27、你怎么看到为表格定义的所有索引?
- 28.、LIKE 声明中的%和_是什么意思?
- 29、如何在 Unix 和 Mysql 时间戳之间进行转换?
- 30、列对比运算符是什么?
- 31、我们如何得到受查询影响的行数?
- 32、Mysql 查询是否区分大小写?
- 33.、LIKE 和 REGEXP 操作有什么区别?
- 34.、BLOB 和 TEXT 有什么区别?
- 35、mysql_fetch_array 和 mysql_fetch_object 的区别是什么?
- 36、我们如何在 mysql 中运行批处理模式?
- 37、MyISAM 表格将在哪里存储,并且还提供其存储格式?
- 38.、Mysql 中有哪些不同的表格?
- 39、ISAM 是什么?
- 40、InnoDB 是什么?
- 41、Mysql 如何优化 DISTINCT?
- 42、如何输入字符为十六进制数字?
- 43、如何显示前 50 行?
- 44、可以使用多少列创建索引?
- 45、NOW()和 CURRENT_DATE()有什么区别?
- 46、什么样的对象可以使用 CREATE 语句创建?
- 47、Mysql 表中允许有多少个 TRIGGERS?
- 48、什么是非标准字符串类型?
- 49、什么是通用 SQL 函数?
- 50、解释访问控制列表
- 52、mysql 里记录货币用什么字段类型好
- 53、MYSQL 数据表在什么情况下容易损坏?
- 54、mysql 有关权限的表都有哪几个?
- 55、Mysql 中有哪几种锁?
1、一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,再把 Mysql 重启,再 insert 一条记录,这条记录的 ID 是 18 还是 15 ?
(1)如果表的类型是 MyISAM,那么是 18
因为 MyISAM 表会把自增主键的最大 ID 记录到数据文件里,重启 MySQL 自增主键的最大ID 也不会丢失
(2)如果表的类型是 InnoDB,那么是 15
InnoDB 表只是把自增主键的最大 ID 记录到内存中,所以重启数据库或者是对表进行OPTIMIZE 操作,都会导致最大 ID 丢失
2、Mysql 的技术特点是什么?
Mysql 数据库软件是一个客户端或服务器系统,其中包括:支持各种客户端程序和库的多线程 SQL 服务器、不同的后端、广泛的应用程序编程接口和管理工具。
3、Heap 表是什么?
HEAP 表存在于内存中,用于临时高速存储。
BLOB 或 TEXT 字段是不允许的
只能使用比较运算符=,<,>,=>,= <
HEAP 表不支持 AUTO_INCREMENT
索引不可为 NULL
4、Mysql 服务器默认端口是什么?
Mysql 服务器的默认端口是 3306。
5、与 Oracle 相比,Mysql 有什么优势?
Mysql 是开源软件,随时可用,无需付费。
Mysql 是便携式的
带有命令提示符的 GUI。
使用 Mysql 查询浏览器支持管理
6、如何区分 FLOAT 和 DOUBLE?
以下是 FLOAT 和 DOUBLE 的区别:
浮点数以 8 位精度存储在 FLOAT 中,并且有四个字节。
浮点数存储在 DOUBLE 中,精度为 18 位,有八个字节。
7、区分 CHAR_LENGTH 和 LENGTH?
CHAR_LENGTH 是字符数,而 LENGTH 是字节数。Latin 字符的这两个数据是相同的,但是对于 Unicode 和其他编码,它们是不同的。
8、请简洁描述 Mysql 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?
SQL 标准定义的四个隔离级别为:
read uncommited :读到未提交数据
read committed:脏读,不可重复读
repeatable read:可重读
serializable :串行事物
9、在 Mysql 中 ENUM 的用法是什么?
ENUM 是一个字符串对象,用于指定一组预定义的值,并可在创建表时使用。
Create table size(name ENUM('Smail,'Medium','Large');
10、如何定义 REGEXP?
REGEXP 是模式匹配,其中匹配模式在搜索值的任何位置。
11、CHAR 和 VARCHAR 的区别?
以下是 CHAR 和 VARCHAR 的区别:
CHAR 和 VARCHAR 类型在存储和检索方面有所不同
CHAR 列长度固定为创建表时声明的长度,长度值范围是 1 到 255
当 CHAR 值被存储时,它们被用空格填充到特定长度,检索 CHAR 值时需删除尾随空格。
12、列的字符串类型可以是什么?
字符串类型是:
SET
BLOB
ENUM
CHAR
TEXT
VARCHAR
13、如何获取当前的 Mysql 版本?
**SELECT VERSION();**用于获取当前 Mysql 的版本。
14、Mysql 中使用什么存储引擎?
存储引擎称为表类型,数据使用各种技术存储在文件中。
技术涉及:
Storage mechanism
Locking levels
Indexing
Capabilities and functions.
15、Mysql 驱动程序是什么?
以下是 Mysql 中可用的驱动程序:
PHP 驱动程序
JDBC 驱动程序
ODBC 驱动程序
CWRAPPER
PYTHON 驱动程序
PERL 驱动程序
RUBY 驱动程序
CAP11PHP 驱动程序
Ado.net5.mxj
16、TIMESTAMP 在 UPDATE CURRENT_TIMESTAMP 数据类型上做什么?
创建表时 TIMESTAMP 列用 Zero 更新。只要表中的其他字段发生更改,UPDATE
CURRENT_TIMESTAMP 修饰符就将时间戳字段更新为当前时间