sql备忘录
绑定外键
CONSTRAINT `tb_product_ibfk_1` FOREIGN KEY (`category_id`) REFERENCES `tb_product_category` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
语句
绑定主键
PRIMARY KEY (`id`) USING BTREE
索引
B-TREE索引: USING BTREE
数据类型
-
数值类型 :
tinyint
-128~127之间的整数smallint
mediumint
int
bigint
浮点类型 float , double
-
字符串类型:
varchar
,char
,()中保存一个字节 -
日期时间类型
DATE
TIME
DATETIME
``TIMESTAMP`。
-
文本类型 文本类型包括TEXT和BLOB。在MySQL中,TEXT类型包括TINYTEXT、TEXT、MEDIUMTEXT和LONGTEXT,它们的存储方式都是变长存储,可以存储较大的文本数据;而BLOB类型包括TINYBLOB、BLOB、MEDIUMBLOB和LONGBLOB,它们的存储方式也是变长存储,可以存储较大的二进制数据。
-
枚举类型和集合类型 枚举类型和集合类型是MySQL中特有的类型。枚举类型存储时会将枚举值转换成整数存储,而集合类型存储时则会将多个枚举值组合成一个集合进行存储
-
精确数值:
DECIMAL(M,D)
M代表多少为数,D代表小数点后几位
修饰符
unsigned
非负数
时间修饰符:CURRENT_TIMESTAMP(0)
当前时间 0 表示小数点后面的位数
DEFAULT CURRENT_TIMESTAMP(0) ON UPDATE CURRENT_TIMESTAMP(0)
编码格式
在ASCII编码中,每个字符占用1个字节;
在UTF-8编码中,一个英文字符占用1个字节,一个汉字字符占用3个字节;
在UTF-16编码中,一个英文字符占用2个字节,一个汉字字符占用2个或4个字节;在UTF-32编码中,每个字符都占用4个字节。
字符排序规则
CHARACTER SET = utf8 COLLATE = utf8_general_ci
不区分大小写
优化
ROW_FORMAT
是用于指定表中行的存储格式的一种选项
ROW_FORMAT = Dynamic
是一种行格式,MySQL会根据行的大小自动选择行的存储方式,可以是COMPACT或者REDUNDANT。对于比较小的行,MySQL会使用更紧凑的存储方式(COMPACT),而对于较大的行,MySQL会使用更宽松的存储方式(REDUNDANT),以节省存储空间。这种自适应的存储方式可以在一定程度上提高表的存储效率和查询性能