mysql常用字段类型详解

sql mysql 字节 字符 SQL
发布日期 2024-12-11 更新日期 2024-12-11 阅读次数 44 文章字数 657

数字一般用int(11),bigint(20),或者定点数字decimal(11,2),浮点数字float、double

定点数据,能保证准确性。

浮点数字是不准确的,为什么呢,它的本质是变成二进制再存储的,十进制变成二进制,0.1 这样的简单十进制小数在二进制下是一个无限循环小数,这就导致它只截取32位(float32,double截取64)

金钱相关的,一般用decimal

字符串一般用char、varchar、text,定长肯定是char

mysql一行不能超过65535 bytes【字节】,不包含text因为其是单独存储的,不过text有个小坑是不能用默认值(orm封装,或者用触发器解决),text推荐用一个单独表用主键对应

varchar受限于行,也不能设置太多,而且看起来它是动态的长度,实际上数据是会缓存到内存的,而且mysql为了优化查询,它的内存是按varchar最大长度保存到内存里的,为了避免消耗过多的内存,如果20够用,就不要设置255,以免浪费内存

字符和字节对应关系

UTF-8:UTF-8一个(字符)占用(3)个字节,英文占用(1)个字节。
GDK:GDK一个(字符)占用(2)个字节,英文占用(1)个字节。

UTF8mb4:一个中文占用4字节,一个英文占用1字节

在定义char、varchar时,指定的长度是字符还是字节?

4.0版本以下,varchar(20),指的是20字节,如果存放UTF8汉字时,只能存6个(每个汉字3字节)
5.0版本以上,varchar(20),指的是20字符,无论存放的是数字、字母还是UTF8汉字(每个汉字3字节),都可以存放20个,最大大小是65532字节

也就是旧版为字节,新版都是字符。

要么数字、要么字符串,没特殊需求这两种类型基本就够用了。


文章作者: 朱丰华

文章链接: https://smart.52dixiaowo.com/blog/post-509.html

版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。

sql mysql 字节 字符

发表评论

相关推荐
朱丰华   |   1年前   |   php

php正则表达式定界符:异常Delimiter must not be alphanumeric or backslash

201    评论    点赞
朱丰华   |   1年前   |   sql · mysql

mysql Timestamp或dateTime格式筛选

137    评论    点赞
朱丰华   |   1年前   |   请求 · 一个

ab测压命令,apache测压工具

196    评论    点赞
朱丰华   |   1年前   |   正则 · 表达

正则表达式,实现if...then...else

127    评论    点赞
朱丰华   |   1年前   |   mysql · 变量 · sql

MySQL实现行号-自定义变量

122    评论    点赞
朱丰华   |   1年前   |   变量 · mysql · sql · 用户

MySQL用户自定义变量

110    评论    点赞
朱丰华   |   1年前   |   sql · php

PHP如何使用PDO批量执行SQL?

129    评论    点赞
朱丰华   |   1年前   |   sed · 文件

Shell 指定行处理head、tail、sed

166    评论    点赞
朱丰华   |   1年前   |   linux · 内容

linux环境下,对于一个大文件,如何查看其中某行的内容

79    评论    点赞
朱丰华   |   1年前   |   php · 字符 · 字符串

如何在 PHP 中将字符串的第一个字母转换为大写

165    评论    点赞
朱丰华   |   1年前   |   linux · 文件 · 行数

linux 取得文件行数

59    评论    点赞
朱丰华   |   1年前   |   php · 字符 · 正则

php正则表达式原生字符

94    评论    点赞
朱丰华   |   1年前   |   字符 · php · 比较

PHP比较字符串大小相关函数

119    评论    点赞
朱丰华   |   1年前   |   sql · mysql

mysql GROUP_CONCAT 顺序排序

94    评论    点赞
朱丰华   |   1年前   |   linux · 文件

linux递归统计文件夹大小、du命令_Linux du命令:查看文件夹和文件的磁盘占用情况

207    评论    点赞
朱丰华   |   1年前   |   js · export · import

js es6 export,import,export default的用法和区别

137    评论    点赞
朱丰华   |   1年前   |   php · 混淆 · obfuscate · git

yakpro-po混淆php代码

114    评论    点赞
朱丰华   |   1年前   |   javascript · js · obfuscator · 混淆

javascript-obfuscator混淆js文件

59    评论    点赞
朱丰华   |   1年前   |   python · linux · www

linux给www用户【非root】安装python3

211    评论    点赞
朱丰华   |   1年前   |   html

html input datetime-local设置初始值

118    评论    点赞
{{item.author_name}}   |   {{new Date(item.date*1000).log()}}   |   {{it}} ·

{{item.title}}

{{item.uv}}    评论    点赞