一:梗概

  1. #常见的数据类型
  2. /*
  3. 常见的数据类型:
  4. 1.数值型:
  5. 整型
  6. 小数:
  7. 定点数
  8. 浮点数
  9. 2.字符型:
  10. 较短的文本:char,varchar
  11. 较长的文本:text,blob(较长的二进制数据)
  12. 3.日期型
  13. */

二:整型

  1. #一:整型
  2. /*
  3. 分类:
  4. tinyint(1个字节)、smallint(2个字节)、mediumint(3个字节)、int\integer(4个字节)、bigint(8个字节)
  5. 特点:
  6. 1.如果不设置无符号还是有符号,默认是有符号,如果想设置无符号,需要添加unsigned关键字
  7. 2.如果插入的数值超出了整型的范围,会报out of range异常,并且插入临界值
  8. 3.如果不设置长度,会有默认长度。
  9. 4.长度代表了显示的最大宽度,如果不够会用0填充,但必须搭配zerofill使用!此时也就默认整型无符号。
  10. */
  11. #1.如何设置无符号和有符号
  12. /*
  13. 默认是有符号的,如果为有符号,则可以存储负数,如果没符号,则不可以存储负数
  14. */
  15. CREATE TABLE tab_int(
  16. t1 INT, #默认是有符号的
  17. t2 INT UNSIGNED #unsigned关键字可以将其设置成无符号的
  18. );

三:浮点型

  1. #二:小数
  2. /*
  3. 分类:
  4. 1.浮点数
  5. float(M,D)
  6. double(M,D)
  7. 2.定点数
  8. dec(M,D)
  9. ==
  10. decimal(M,D)
  11. 特点:
  12. 1.M:整数部位和小数部位的总个数
  13. 2.D:小数部位的个数
  14. 3.如果超出范围,则插入临界值
  15. 4.M和D可以省略。
  16. 如果是decimal,则M默认为10,D默认为0
  17. 如果是float和double,则会根据插入的数值的精度来决定精度
  18. 5.定点型的精确度较高
  19. */
  20. /*
  21. 原则:
  22. 所选择的类型越简单越好,能保存数值的类型越小越好(节省空间)
  23. */

四:字符型

  1. #三:字符型
  2. /*
  3. 1.较短的文本:
  4. char(M):M代表可以存储的最多“字符”数,范围在0~255
  5. varchar(M):M的范围在0~65535
  6. 其他:
  7. binary和varbinary用于保存较短的二进制
  8. enum用于保存枚举
  9. set用于保存集合
  10. 特点:
  11. char:固定长度的字符,比较耗费内存空间,效率略高。M可以省略。默认为1
  12. varchar:可变长度的字符,比较节省空间,效率略低。M不可以省略。
  13. 2.较长的文本:
  14. text
  15. blob(较长的二进制)(比如插入图片)
  16. */
  17. #扩展:枚举类型(ENUM)
  18. CREATE TABLE tab_char(
  19. c1 ENUM('a','b','c') #只能插入a,b,c。设置性别时可以用枚举
  20. );

五:日期型

  1. #四:日期型
  2. /*
  3. 分类:
  4. date:只保存日期
  5. datetime:保存日期和时间
  6. timestamp:保存日期和时间
  7. time:只保存时间
  8. year:只保存年份
  9. */
字节 范围 时区影响
datetime 8 1000——9999 不受
timestamp 4 1970——2038