1. 常用数据类型
* 数值类型
数据类型 | 大小 | 说明 | 对应Java类型 |
---|---|---|---|
BIT[(M)] | M指定位数,默认为1 | 二进制数,M范围从1到64, 存储数值范围从0到2^M-1 | 常用Boolean对应BIT,此时 默认是1位,即只能存0和1 |
TINYINT | 一字节 | Byte | |
SMALLINT | 2字节 | Short | |
INT | 4字节 | Integer | |
BIGINT | 8字节 | Long | |
FLOAT(M, D) | 4字节 | 单精度,M指定长度,D指定 小数位数。会发生精度丢失 | Float |
DOUBLE(M, D) | 8字节 | Double | |
DECIMAL(M, D) | M/D最大 值+2 | 双精度,M指定长度,D表示 小数点位数。精确数值 | BigDecimal |
NUMERIC(M, D) | M/D最大 值+2 | 和DECIMAL一样 | BigDecimal |
拓展资料:
数值类型可以指定为无符号(unsigned),表示不取负数。
1字节(bytes)= 8bit。 对于整型类型的范围:
- 有符号范围:-2^ (类型字节数* 8-1) 到 2 ^ (类型字节数*8-1)-1,如int是4字节,就是-2^ 31到2^31-1
- 无符号范围:0到2^ (类型字节数*8)-1,如int就是2^32-1
尽量不使用unsigned,对于int类型可能存放不下的数据,int unsigned同样可能存放不下,与其如此,还不如设计时,将int类型提升为bigint类型。
* 字符串类型
数据类型 | 大小 | 说明 | 对应Java类型 |
---|---|---|---|
VARCHAR(SIZE) | 0-65535字节 | 可变长度字符串 | String |
TEXT | 0-65535字节 | 长文本数据 | String |
MEDIUMTEXT | 0-16777215字节 | 中等长度文本数据 | String |
BLOB | 0-65535字节 | 二进制形式的长文本数据 | byte[] |
* 时间类型
数据类型 | 大小 | 说明 | 对应Java类型 |
---|---|---|---|
DATETIME | 8字节 | 范围从1000 到9999年, 不会进行时区的检索及转换 | java.util.Date、 java.sql.Timestamp |
TIMESTAMP | 4字节 | 范围从1970到2038年,自动检索当前时区并进行转换 | java.util.Date、 java.sql.Timestamp |
注意:这两种数据类型有特殊的插入格式,在以后的表操作中会提到。
2. 数据库的基本操作
* 库操作
1. 显示当前数据库
show databases ;
2. 创建数据库
CREATE DATABASE 数据库名 【 CHARACTER SET utf8mb4 】【 COLLATE utf8_general_ci 】
注意:以上所有大写字母为关键字(在写sql语句时关键字可以不用大写,这里大写只做区分),【】中的内容为可选项,创建数据库时应该指明对应的字符集和字符集的校验规则,默认为字符集为utf8 校验规则为utf8_general_ci。此外,utf8字符集不包含某些复杂的中文,因此更加推荐大家使用utf8mb4。
CHARACTER SET : 指定数据库采用的字符集 COLLATE: 指定数据库字符集的校验规则
3. 使用数据库
use 数据库名 ;
4. 删除数据库
DROP DARABASE 数据库名 ;
在现实工作中,删库操作非常危险,如果没有做好备份,可能会导致大量的数据流失,所以删库操作要谨慎!
表操作的内容较多,我会分两篇文章进行叙述,感兴趣的小伙伴留意更新。