RDBMS:关系型数据库管理系统 例:MySQL
最大字符个数255
不够指定字符个数时在右边用空格补全
字符个数超出时,无法写入数据
只能存储整数
类型 | 名称 | 有符号范围 | 无符号范围 |
---|---|---|---|
tinyint | 微小整数 | -128~127 | 0~255 |
smallint | 小整数 | -32768~32767 | 0~35535 |
mediumint | 中整型 | -223~223-1 | 0~2^24-1 |
int | 大整型 | -2^31 ~ 2^31-1 | 0~2^32-1 |
bigint | 极大整型 | -2^63 ~ 2^63-1 | 0- 2^64-1 |
unsigned | 使用无符号存储范围 |
创建t2表,当不使用unsigned,默认使用有符号范围,当我们加入unsigned参数时,使用无符号范围,可以参考实际情况,来确定是使用有符号范围还是无符号范围
浮点型
类型 | 名称 | 有符号范围 | 无符号范围 |
---|---|---|---|
float | 单精度 | 0~2^32-1 | 0~2^32-1 |
double | 双精度 | 0~2^64-1 | 0~2^64-1 |
这里我使用了两种定义方式来演示,当类型后没有去定义他的宽度和小数位数时。这时候默认他的范围为最大0~2^32-1。
当我们定义了他的宽度时,他的宽度就会决定他的范围。当我们输入的数据大于小数位数,就会进行四舍五入,留下两位小数
类型
日期时间 :datetime
范围:1000-01-01 00:00:00~ 9999-12-31 23:59:59
格式:yyyymmddhhmmss
日期时间:timestamp
范围:1970-01-01 00:00:00 ~ 2038-01-19 00:00:00
格式:yyyymmddhhmmss
日期: date
年: year
时间:time
创建相应的时间类型,要严格按照格式输入,否则就会出错,也不要超出相应的存储范围。
使用时间函数获取数据给类型复制
MySQL服务内置命令
可以使用时间函数给字段赋值
类型 | 用途 |
---|---|
curtime() | 获取当前的系统时间 |
curdate() | 获取当前的系统日期 |
now() | 获取当前系统的日期和时间 |
year() | 获取年 |
month() | 获取月 |
day() | 获取日 |
date() | 获取日期 |
time() | 获取时间 |
使用方法:
select 函数名称 ;
再次给t6表赋值
insert into t6 values("tom",2000,curtime(),curdate(),now()); insert into t6 values("jim",now(),now(),now(),now()); #当全使用now()赋值时,只存储和自己类型匹配的
获取当前系统的年
select year( now() ); select year(20110808); #获取指定日期的年
接上述类型:
关于日期时间字段
当未给timestanp字段赋值时,自动以当前系统时间赋值,而datetime值为NULL(空)
mysql> create table t7( -> meetting datetime, -> party timestamp -> ); insert into t7 values( now(), now() ); #测试:只给meetting赋值 insert into t7 (meetting) values(20201028233058) ; #测试:只给party赋值 insert into t7 (party) values(20211205223508) ; #查看结果有什么不同 selec * from t7
year类型
要求使用四位数赋值
当使用两位数赋值时:
01~69视为 2001~2069
70-99视为1970~1999
字段值只能在列举的范围内进行选择