7.MySQL数据类型(重要)

整型

不同类型存储范围不一样:
# 默认情况下整型是带负号的
tinyint <<< smallint <<< mediumint <<< int <<< bigint
tinyint:1个字节------>8位------>2^8----> 256----->0-255----->-128-127
smallint:2个字节存储----->16位---->2^16 ----> 65536----->0-65535---->-32768-32767
int:4个字节------>32位----->2^32----> 21...---->
bigint:8个字节----->64为----->2^64---->

# 整型的存储范围与括号中的数字没有任何关系,代表的是数据展示的位数

浮点型

种类:
	float double decimal
	# 三者最大的区别就是精确度不同,一般使用decimal
	# 精确度:decimal >>> double >>> float
语法:
	float(255,30) # 255表示的是存储的位数,30代表的是小数位数
	double(255,30);  # 255表示的是存储的位数,30代表的是小数位数
	decimal(65, 30); # 65表示的是存储的位数,30代表的是小数位数

字符串

 种类:
 	char() , varchar()
	
	
char(4): 是定长,不超过4位就用空格填充到4位,超过4位就保留四位(此为非严格模式),或者报错(此为严格模式)
varchar(4): 是可变长,不超过4位就有几位存几位,超过4位就保留四位(此为非严格模式),或者报错(此为严格模式)

严格模式

查看严格模式:
	方法1:select @@sql_mode;
	方法二:show variables like '%mode%' # 模糊查询,会查询变量中带有mode的

设置严格模式:
	1.永久修改:修改配置文件
	2.临时修改:
		set global sql_mode='STRICT_TRANS_TABLES,PAD_CHAR_TO_FULL_LENGTH'; # 记得重启服务端

日期类型

种类:
datetime:年月日 时分秒
date:年月日
time:时分秒
year:年份

枚举类型

种类:
1. enum:多选一
 create table t15 (id int,
   hobby enum('tangtou', 'hejiu', 'xijio', 'chouyan')
   );
 
 insert into t15 values(1, 'tangtou');   
 
2. set:多选多
create table t16 (id int,
  hobby set('tangtou', 'hejiu', 'xijio', 'chouyan')
                  );
posted @ 2023-07-11 21:24  苙萨汗  阅读(23)  评论(0)    收藏  举报