mysql数据类型:

mysql基本数据类型

https://github.com/jaywcjlove/handbook/blob/master/MySQL/MySQL数据类型.md

mysql +data types

http://www-db.deis.unibo.it/courses/TW/DOCS/w3schools/sql/sql_datatypes.asp.html

基本数据类型

http://www.runoob.com/mysql/mysql-data-types.html

char,varchar,text.png

mysql教程

https://github.com/jaywcjlove/mysql-tutorial

varchar长度

ca varchar(8)
指定了 最多8个字符,超过了8个字符,就无法插入数据,
报错:
data too long for column 'ca'


CREATE TABLE `tb_varchar` (
  `ca` varchar(8) CHARACTER SET utf8mb4 COLLATE 
utf8mb4_general_ci DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci
image.png

varchar长度最多可以有多少个字符

http://www.cnblogs.com/gomysql/p/3615897.html

mysql一条记录(一行)最多可以存放65535字节的数据。
其他字段多占一点,varchar就要减小;
最终字符数=余下的字节/编码方式下字符所占的字节数;

总结起来就是,
一条记录最多分配65535个字节,
其他字段类型要占用字节;
最后余下的字节,在根据编码方式,最终计算出varchar的最大字符数。

int(1)

int(1)
int(8)
指定的最大位数,没用,还是可以插入2147483647

int(m)里的m是表示SELECT查询结果集中的显示宽度,并不影响实际的取值范围,没有影响到显示的宽度,不知道这个m有什么用。

CREATE TABLE `tb_varchar` (
  `ca` varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci DEFAULT NULL,
  `cb` int(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci



INSERT into tb_varchar(ca,cb) VALUES('你所有承诺,,,',1);
INSERT into tb_varchar(ca,cb) VALUES('你所有承诺,,,',2147483647);

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容