zoukankan      html  css  js  c++  java
  • 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 修饰符就将时间戳字段更新为当前时间。
    17、主键和候选键有什么区别?
    表格的每一行都由主键唯一标识,一个表只有一个主键。
    主键也是候选键。按照惯例,候选键可以被指定为主键,并且可以用于任何外键引用。
    18、如何使用 Unix shell 登录 Mysql?
    我们可以通过以下命令登录:
    [mysql dir]/bin/mysql -h hostname -u
    19、 myisamchk 是用来做什么的?
    它用来压缩 MyISAM 表,这减少了磁盘或内存使用。
  • 相关阅读:
    Oracle SQL部分练习题
    Oracle 数据库和监听器开机自启动两种实现方法
    用Python连接SQLServer抓取分析数据、监控 (pymssql)
    Linux6.5 安装Python3.X(转载)
    SQLServer xp_instance_regread returned error 5,Access is denied(配置最小权限)
    [MySQL]存储过程
    [MySQL]触发器
    Linux 修改IP地址
    MySQL: InnoDB存储引擎
    mysql 重新添加主节点 (GTID)
  • 原文地址:https://www.cnblogs.com/20183544-wangzhengshuai/p/15244985.html
Copyright © 2011-2022 走看看