Mysql常见问题

1、一张表里面 有一个自增的主键,当insert了10条数据之后,删除了第 8,9,10条记录,再把mysql重启,在insert一条记录,那么这条记录的id 是11 还是8 ?
(1)如果表是MyISAM引擎 那么是 18
因为MyISAM表会把自增的最大主键ID 记录到数据文件里面,重启Mysql的最大ID主键也不会丢失
(2)如果表的类型是InnoDB 那么是 15
因为InnoDB只会把自增的最大主键Id记录到内存中,重启Mysql或者对表进行OPTIMIZE 操作最大的id数据将会丢失
3、Heap表是什么?
(1)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 中有哪些不同的表格?

共有 5 种类型的表格:
MyISAM
Heap
Merge
INNODB
ISAM
MyISAM 是 Mysql 的默认存储引擎。
9、Mysql 表中允许有多少个 TRIGGERS?
在 Mysql 表中允许有六个触发器,如下:
BEFORE INSERT
AFTER INSERT
BEFORE UPDATE
AFTER UPDATE
BEFORE DELETE
AFTER DELETE
10、什么是非标准字符串类型?
以下是非标准字符串类型:
TINYTEXT
TEXT
MEDIUMTEXT
LONGTEXT
11、什么是通用 SQL 函数?
CONCAT(A, B) - 连接两个字符串值以创建单个字符串输出。通常用于将两个或多个字段合
并为一个字段。
FORMAT(X, D)- 格式化数字 X 到 D 有效数字。
CURRDATE(), CURRTIME()- 返回当前日期或时间。
NOW() - 将当前日期和时间作为一个值返回。
MONTH(),DAY(),YEAR(),WEEK(),WEEKDAY() - 从日期值中提取给定数据。
HOUR(),MINUTE(),SECOND() - 从时间值中提取给定数据。
DATEDIFF(A,B) - 确定两个日期之间的差异,通常用于计算年龄
SUBTIMES(A,B) - 确定两次之间的差异。
FROMDAYS(INT) - 将整数天数转换为日期值。

12、Mysql 中有哪几种锁?
MyISAM 支持表锁,InnoDB 支持表锁和行锁,默认为行锁
表级锁:开销小,加锁快,不会出现死锁。锁定粒度大,发生锁冲突的概率最高,并发量
最低
行级锁:开销大,加锁慢,会出现死锁。锁力度小,发生锁冲突的概率小,并发度最高

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值