【PHP面试题】请写出下面 MySQL 数据类型表达的意义(int(0)、char(16)、varchar(16)、datetime、text)。

本文详细介绍了MySQL中的数据类型,包括整型、实数型、字符串型、日期时间型,强调了VARCHAR与CHAR的区别,并提及了枚举类型和日期时间类型的选择。此外,还探讨了MySQL的两种主要表引擎InnoDB和MyISAM的特性,如InnoDB的事务处理、行级锁支持,以及MyISAM的存储方式。最后,提到了MySQL的锁机制和事务处理的基础概念。
摘要由CSDN通过智能技术生成

一、考点

1、MySQL数据类型

① 整型类型

TINYINT、SMALLINT、MEDIUMINT、INT、BIGINT

  • 属性:UNSIGNED(以上的类型,都可以配合 UNSIGNED 来使用,变成非负数。)
  • 长度:可以为整数类型指定宽度,例如:INT(11)、对大多数应用是没有意义的,它不会限制值得合法范围,只会影响 显示字符的个数。
int(3) : 代表如果存入的是 12,则会补个0,即012,
int(5) : 代表如果存入的是 12,则会补3个0,即00012,

注:此处的数字代表的是宽度。
② 实数类型

FLOAT、DOUBLE、DECIMAL

  • DECIMAL 可存储比 BIGINT还大的整数;可以用于存储精确的小数;
  • FLOAT 和 DOUBLE 类型支持使用标准的浮点进行近似计算。
③ 字符串类型
  • VARCHAR
  • VARCHAR 类型用于存储可变长字符串,它比定长类型更节省空间;
  • VARCHAR 使用1或2个额外字节记录字符串的长度,列长度小于255字节,使用1个字节表示,否则用2个;
  • VARCHAR 长度,如果存储内容超出指定长度,会被截断;
  • CHAR
  • CHAR 是定长的,根据定义的字符串长度分配足够的空间;
  • CHAR 会根据需要采用空格进行填充以方便比较;
  • CHAR 适合存储很短的字符串,或者所有值都接近同一个长度;
  • CHAR 长度,超出设定的长度,会被截断;
  • 对于经常变更的数据来说,CHAR 比 VARCHAR更好,CHAR不容易产生碎片
  • 对于非常短的列,CHAR 比 VARCHAR 在存储空间上更有效率;
  • 只分配真正需要的空间,更长的列会消耗更多的内容
  • 尽量避免使用BLOB/TEXT类型,查询会使用临时表,导致严重的性能开销。
④ 枚举
  • 有时可以使用枚举代替常用的字符串类型;
  • 把不重复的集合存储成一个预定义的集合(如:定义性别,用 enum,enum(‘男’,‘女’));
  • 非常紧凑,把列表值压缩到一个或两个字节;
  • 内部存储的是整数(如:enum࿰
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值