mysql基础1

数据库表列类型

1.整数类型

             

整数类型

大小

表数范围(有符号)

表数范围(无符号)

作用

TINYINT

1字节

(-128,127)

(0,255)

小整数值

SMALLINT

2字节

(-32768,32767)

(0,65535)

大整数值

MEDIUMINT

3字节

(-8388608,8388607)

(0,16777215)

大整数值

INT/INTEGER 

4字节 

(-2147483648,2147483647) 

(0,4294967295) 

大整数值 

BIGINT

8字节

(-9233372036854775808,9223372036854775807)

(0,18446744073709551615)

极大整数值

MySQL支持选择在该类型关键字后面的括号内指定整数值的显示宽度(例如,INT(4))。显示宽度并不限制可以在列内保存的值的范围,也不限制超过列的指定宽度的值的显示

主键自增:不使用序列,通过auto_increment,要求是整数类型

    

2.浮点数类型 

浮点数类型

大小

作用

FLOAT

4字节

单精度浮点数值

DOUBLE

8字节

双精度浮点数值

需要注意的是与整数类型不一样的是,浮点数类型的宽度不会自动扩充。 score double(4,1)

3.字符串类型 

字符串类型 

大小 

描述 

CHAR(M) 

0~255字符 

允许长度0~M个字符的定长字符串 

VARCHAR(M) 

0~65535字符 

允许长度0~M个字符的变长字符串 

BINARY(M)

0~255字节

允许长度0~M个字节的定长二进制字符串

VARBINARY(M)

0~65535字节

允许长度0~M个字节的变长二进制字符串

TINYBLOB

0~255字节

二进制形式的短文本数据(长度为不超过255个字符)

TINYTEXT

0~255字节

短文本数据

BLOB 

binary large object

二进制形式的长文本数据 

TEXT 

长文本数据 

MEDIUMBLOB

0~16777215字节

二进制形式的中等长度文本数据

MEDIUMTEXT

0~16777215字节

中等长度文本数据

LOGNGBLOB

0~4294967295字节

二进制形式的极大文本数据

LONGTEXT

0~4294967295字节

极大文本数据

CHAR和VARCHAR类型相似,均用于存于较短的字符串,主要的不同之处在于存储方式。CHAR类型长度固定,VARCHAR类型的长度可变。

因为VARCHAR类型能够根据字符串的实际长度来动态改变所占字节的大小,所以在不能明确该字段具体需要多少字符时推荐使用VARCHAR类型,这样可以大大地节约磁盘空间、提高存储效率。

CHAR和VARCHAR表示的是字符的个数,而不是字节的个数 

 4.日期和时间类型

                          

  类型 

  格式 

  取值范围 

  0值 

TIME

‘HH:MM:SS’

 (‘-838:59:59’, ‘838:59:59’)

 ‘00:00:00’

DATE 

‘YYYY-MM-DD’ 

(‘1000-01-01’, ‘9999-12-31’)

‘0000-00-00’

YEAR

YYYY

 (1901, 2155), 0000

 0000  

DATETIME 

 ‘YYYY-MM-DD HH:MM:SS’ 

(‘1000-01-01 00:00:00’, ‘9999-12-31  23:59:59’)

‘0000-00-00 00:00:00’

TIMESTAMP

 时间戳

 ‘YYYY-MM-DD HH:MM:SS’

 (‘1970-01-01 00:00:01’ UTC,   ‘2038-01-19 03:14:07’ UTC)  

‘0000-00-00 00:00:00’

TIMESTEMP类型的数据指定方式与DATETIME基本相同,两者的不同之处在于以下几点:

(1) 数据的取值范围不同,TIMESTEMP类型的取值范围更小。

(2) 如果我们对TIMESTAMP类型的字段没有明确赋值,或是被赋与了NULL值,MySQL会自动将该字段赋值为系统当前的日期与时间。

(3) TIMESTEMP类型还可以使用CURRENT_TIMESTAMP来获取系统当前时间。

(4) TIMESTEMP类型有一个很大的特点,那就是时间是根据时区来显示的。例如,在东八区插入的TIMESTEMP数据为2017-07-11 16:43:25,在东七区显示时,时间部分就变成了15:43:25,在东九区显示时,时间部分就变成了17:43:25。

原文地址:https://www.cnblogs.com/vincentmax/p/14250805.html