登录
首页 >  数据库 >  MySQL

mysql基础学习

来源:SegmentFault

时间:2023-01-22 19:30:21 360浏览 收藏

本篇文章向大家介绍《mysql基础学习》,主要包括MySQL,具有一定的参考价值,需要的朋友可以参考一下。

1.基础类型

字符串
char 定长字符串(0-255字节)
varchar 变长字符串(0-65535字节)
tinytext 文本串(255B)
text 文本串(65KB)
mediumtext 文本串(16MB)
longtext 文本串(4G)
注:各种text都是变长文本,括号中的值是其最大长度。

注:CHARSET属性和COLLATE属性:
(3条消息) MYSQL中的COLLATE(COLLATION)是什么?_云骥行空的博客-CSDN博客_collation
MySQL :: MySQL 8.0 Reference Manual :: 10.3.5 Column Character Set and Collation

CHARACTER SET binary属性会将character string data type变成对应的binary string data type

BINARY属性:非标准SQL的扩展,指定对应的CHARSET的binary collate,在MySQL 8.0.17中已经被标为deprecated。

二进制
tinyblob 二进制串(255B)
blob 二进制串(65KB)
mediumblob 二进制串(16M)
longblob 二进制串(4G)
注:text和blob的区别在于text拥有一个字符集,在排序和比较过程中blob完全基于数值大小,而blob取决于字符集定义的比较规则

日期和时间

类型大小格式范围描述
date4字节YYYY-MM-DD1000-01-01 ~ 9999-12-31.年月日
time3字节HH:MM:SS'-838:59:59'~'838:59:59'表示一个时间点或者一段时间
year1字节YYYY1901 ~ 2155单独表示年份
datetime8字节YYYY-MM-DD HH:MM:SS “1000-01-01 00:00:00~9999-12-31 23:59:59日期+时间
timestamp4字节YYYY-MM-DD HH:MM:SS1970-01-01 08:00:01 ~ 2038-01-19 11:14:07(UTC)时间戳

timestamp把插入的时间从当前时间转化为UTC进行存储,取出时又将其转化为本地时区。而datetime不会做这种转换。
timestamp和datetime的初始化和自动更新:默认情况下explicit_defaults_for_timestamp是关闭的,需要显式指定:

column_name timestamp default current_timestamp on update current_timestamp

相关处理函数:https://blog.csdn.net/u012373...

数值类型
tinyint 1字节
smallint 2字节
mediumint 3字节
int 4字节
bigint 8字节
float 4字节
double 8字节
decimal 4字节 decimal(p, d) p指所有数字个数的总和,d指小数部分数字的总和。p的取值范围为1-65,默认为10,d的取值范围为0-30,不得超过p。
以上数值类型可以添加unsigned属性。

以上就是本文的全部内容了,是否有顺利帮助你解决问题?若是能给你带来学习上的帮助,请大家多多支持golang学习网!更多关于数据库的相关知识,也可关注golang学习网公众号。

声明:本文转载于:SegmentFault 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>
评论列表