MySql的自增主键以及TEXT数据类型使用

      做毕业设计要用到MySql数据库,并且还要用到自增主键和TEXT数据类型。为了防止忘记,先记录下TEXT数据类型长度:

  • TINYTEXT: 256 bytes
  • TEXT: 65,535 bytes => ~64kb
  • MEDIUMTEXT: 16,777,215 bytes => ~16MB
  • BIGTEXT: 4,294,967,295 bytes => ~4GB

我要建的表,主键使用自增数字,有一个数据列要使用TEXT数据类型存放文本,则可写SQL如下:

CREATE TABLE Corpus
(
	id MEDIUMINT UNSIGNED NOT NULL AUTO_INCREMENT,
	data TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
	PRIMARY KEY (id)
)

先解释两个概念:

  • 字符集是一套符号和编码。CHARACTER SET X 表示设置字符集为X。
  • 校对规则是在字符集内用于比较字符的一套规则。存在校对规则命名约定:它们以其相关的字符集名开始,通常包括一个语言名,并且以_ci(大小写不敏感)、_cs(大小写敏感)或_bin(二元)结束。COLLATE utf8_general_ci 表示utf8_general的不区分大小写的校对规则(貌似是utf8字符集的默认校对规则,使用“show collation like ‘utf8%’;”查看)。

其中表名为Corpus。主键为id,使用MEDIUMINT数据类型,可以表示1-999999间整数(大概值,不准确,便于记忆~);UNSIGNED表示无符号型;AUTO_INCREMENT表示自增。data列使用TEXT数据类型,并且设置该列的字符集为utf8,校对规则为utf8_general且大小写不敏感。

原文地址:https://www.cnblogs.com/codingmylife/p/1718259.html