Mysql数据库–记录长度(列属性、空属性、列描述、默认值)介绍
Mysql中规定: 任何一条记录最长不能超过65535个字节.(varchar永远达不到理论值)
Varchar的实际存储长度能达到多少呢? 看字符集编码.
Utf8 下varchar的实际顶配: 21844字符
GBK下的varchar的实际顶配: 32766字符
想用完整个65535个字节长度: 增加一个tinyint字段即可
Mysql记录中: 如果有任何一个字段允许为空,那么系统会自动从整个记录中保留一个字节来存储NULL(若想释放NULL所占用的字节: 必须保证所有的字段都不允许为空)
Mysql中text文本字符串,不占用记录长度: 额外存储. 但是text文本字符串也是属于记录的一部分: 一定需要占据记录中的部分长度: 10个字节(保存数据的地址以及长度).
列属性
列属性: 真正约束字段的是数据类型, 但是数据类型的约束很单一. 需要有一些额外的约束, 来更加保证数据的合法性.
列属性有很多: NULL/NOT NULL, default, Primary key, unique key, auto_increment,comment
空属性
两个值: NULL(默认的)和NOT NULL(不为空)
虽然默认的, 数据库基本都是字段为空, 但是实际上在真实开发的时候, 尽可能的要保证所有的数据都不应该为空: 空数据没有意义; 空数据没有办法参与运算.
创建一个实际案例表: 班级表(名字,教室)
列描述
列描述: comment, 描述, 没有实际含义: 是专门用来描述字段,会根据表创建语句保存: 用来给程序猿(数据库管理员)来进行了解的.
默认值
默认值: 某一种数据会经常性的出现某个具体的值, 可以在一开始就指定好: 在需要真实数据的时候,用户可以选择性的使用默认值.
默认值关键字: default
默认值的生效: 使用, 在数据进行插入的时候,不给改字段赋值
想要使用默认值,可以不一定去指定列表,故意不使用字段列表: 可以使用default关键字代替值