您的位置:首页 > 数据库 > MySQL

MySQL数据库学习四 存储引擎和数据类型

2015-06-10 13:40 190 查看
4.1存储引擎

   1. 查看MySQL DBMS所支持的存储引擎

SHOW ENGINES;




SHOW VARIABLES LIKE 'have%';




Yes表示支持,No表示不支持,DISABLED表示支持但是未开启。

  2. 查询默认存储引擎

SHOW VARIABLES LIKE 'storage_engine%';


  3. 修改默认存储引擎

打开my.ini配置文件,修改[mysqld]中的default-storage-engine参数,重启MySQL服务。

4.2 数据类型

  4.2.1 整数类型

支持标准SQL中的所有整数类型(SMALLINT和INT/INTEGER),扩展增加了TINYINT、MEDIUMINT和BIGINT。

整数类型字节最小值最大值
TINYINT1-128

0

127

255

SMALLINT2-2^15

0

2^15-1

2^16-1

MEDIUMINT3-2^23

0

2^23-1

2^24-1

INT/INTEGER4-2^31

0

2^31-1

2^32-1

BIGINT8-2^63

0

2^63-1

2^64-1

TINYINT类型占一个字节,最大值二进制:01111111,即127;最小值二进制:10000000,即-128.

  4.2.2 浮点数类型、定点数类型和位类型

1. 浮点型类型FLOAT、DOUBLE

浮点型类型字节最小值最大值
FLOAT4±1.75494351E-38±3.402823466E+38
DOUBLE8±1.225073858072014E-308±1.7976931348623157E+308
当需要精确到小数点后10位以上,需要选择DOUBLE类型。

2. 定点数类型DEC(M,D)

定点数类型字节最小值最大值
DEC(M,D)/DECIMAL(M,D)M+2与DOUBLE相同与DOUBLE相同
FLOAT、DOUBLE数据类型存储数据时存储的是近似值,而DECIMAL存储的是字符串,因此提供了更高的精度。

3. 位类型BIT(M)

位类型字节最小值最大值
BIT(M)1~8BIT(0)BIT(64)
位类型的字节数为M,M的取值范围为1~8.

  4.2.3 日期和时间类型

日期和时间类型字节最小值最大值
DATE41000-01-019999-12-31
DATETIME81000-01-01 00:00:009999-12-31 23:59:59
TIMESTAMP4197001010800012038年的某个时刻
TIME3-835:59:59838:59:59
YEAR119012155
如果需要经常插入或者更新日期为当前系统时间,一般会使用TIMESTAMP类型;

如果要表示年份,一般会使用占用空间更少的YEAR类型。

  4.2.4 字符串类型

1. CHAR系列

CHAR系列字符串类型字节描述
CHAR(M)MM为0~255之间的整数
VARCHAR(M)MM为0~65535之间的整数
如果要存储少量字符串,则可以选择CHAR和VARCHAR类型。如果存储字符串长度经常发生变化,则可以选择VARCHAR类型,否则选择CHAR类型。

2. TEXT系列

TEXT系列字符串类型字节描述
TINYTEXT0~255值的长度为2个字节
TEXT0~65 535值的长度为2个字节
MEDIUMTEXT0~16 777 215值的长度为4个字节
LONGTEXT0~4 294 967 295值的长度为8个字节
如果需要存储大量字符串(存储文字内容的纯文本),则可以选择TEXT系列字符串类型。

3. BINARY系列

BINARY系列字符串类型字节描述
BINARY(M)M允许长度为0~M
VARBINARY(M)M允许长度为0~M
如果需要存储少量二进制数据,可以选择BINARY和VARBINARY类型。如果存储二进制数据长度的发生变化,则可以选择VARBINARY类型,否则选择BINARY类型。

前者可以存储二进制数据(例如图片、音乐或视频文件),后者只能存储字符数据。

4. BLOB系列

BLOB系列字符串类型字节
TINYBLOB0~255
BLOB0~2^16-1
MEDIUMBLOB0~2^24-1
LONGBLOB0~2^32-1
如果需要存储大量二进制数据(电影等视频文件),则可以选择BLOB系列字符串类型。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: