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。
| 整数类型 | 字节 | 最小值 | 最大值 | 
| TINYINT | 1 | 
 -128 0  | 
 127 255  | 
| SMALLINT | 2 | 
 -2^15 0  | 
 2^15-1 2^16-1  | 
| MEDIUMINT | 3 | 
 -2^23 0  | 
 2^23-1 2^24-1  | 
| INT/INTEGER | 4 | 
 -2^31 0  | 
 2^31-1 2^32-1  | 
| BIGINT | 8 | 
 -2^63 0  | 
 2^63-1 2^64-1  | 
TINYINT类型占一个字节,最大值二进制:01111111,即127;最小值二进制:10000000,即-128.
4.2.2 浮点数类型、定点数类型和位类型
1. 浮点型类型FLOAT、DOUBLE
| 浮点型类型 | 字节 | 最小值 | 最大值 | 
| FLOAT | 4 | ±1.75494351E-38 | ±3.402823466E+38 | 
| DOUBLE | 8 | ±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~8 | BIT(0) | BIT(64) | 
位类型的字节数为M,M的取值范围为1~8.
4.2.3 日期和时间类型
| 日期和时间类型 | 字节 | 最小值 | 最大值 | 
| DATE | 4 | 1000-01-01 | 9999-12-31 | 
| DATETIME | 8 | 1000-01-01 00:00:00 | 9999-12-31 23:59:59 | 
| TIMESTAMP | 4 | 19700101080001 | 2038年的某个时刻 | 
| TIME | 3 | -835:59:59 | 838:59:59 | 
| YEAR | 1 | 1901 | 2155 | 
如果需要经常插入或者更新日期为当前系统时间,一般会使用TIMESTAMP类型;
如果要表示年份,一般会使用占用空间更少的YEAR类型。
4.2.4 字符串类型
1. CHAR系列
| CHAR系列字符串类型 | 字节 | 描述 | 
| CHAR(M) | M | M为0~255之间的整数 | 
| VARCHAR(M) | M | M为0~65535之间的整数 | 
如果要存储少量字符串,则可以选择CHAR和VARCHAR类型。如果存储字符串长度经常发生变化,则可以选择VARCHAR类型,否则选择CHAR类型。
2. TEXT系列
| TEXT系列字符串类型 | 字节 | 描述 | 
| TINYTEXT | 0~255 | 值的长度为2个字节 | 
| TEXT | 0~65 535 | 值的长度为2个字节 | 
| MEDIUMTEXT | 0~16 777 215 | 值的长度为4个字节 | 
| LONGTEXT | 0~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系列字符串类型 | 字节 | 
| TINYBLOB | 0~255 | 
| BLOB | 0~2^16-1 | 
| MEDIUMBLOB | 0~2^24-1 | 
| LONGBLOB | 0~2^32-1 | 
如果需要存储大量二进制数据(电影等视频文件),则可以选择BLOB系列字符串类型。
                    
                
                
            
        
浙公网安备 33010602011771号